@elaraai/east-plugin 1.0.85 → 1.0.87
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/README.md +2 -2
- package/dist/lib/codex-hook.d.ts +3 -1
- package/dist/lib/codex-hook.d.ts.map +1 -1
- package/dist/lib/codex-hook.js +3 -2
- package/dist/lib/codex-hook.js.map +1 -1
- package/dist/lib/search.d.ts +16 -3
- package/dist/lib/search.d.ts.map +1 -1
- package/dist/lib/search.js +18 -4
- package/dist/lib/search.js.map +1 -1
- package/dist/mcp/example-tools.d.ts +7 -0
- package/dist/mcp/example-tools.d.ts.map +1 -1
- package/dist/mcp/example-tools.js +8 -5
- package/dist/mcp/example-tools.js.map +1 -1
- package/dist/mcp/server.js +3 -2
- package/dist/mcp/server.js.map +1 -1
- package/index.json +1632 -1635
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -47,7 +47,7 @@ From code, `generateIndex({ baseDir, config, staticEntries })` (`@elaraai/east-p
|
|
|
47
47
|
|
|
48
48
|
### The search
|
|
49
49
|
|
|
50
|
-
The search and fetch tools register on any MCP server with `registerExampleTools(server, { index, searchTool, getTool, corpus, packages })
|
|
50
|
+
The search and fetch tools register on any MCP server with `registerExampleTools(server, { index, searchTool, getTool, corpus, packages, scopes })`, which answers once the index has loaded: a server awaits it before it connects, so an index that does not load fails it at startup, naming why. `scopes` are the npm scopes the corpus's packages are installed under, `@elaraai` unless given: the package filter accepts a name under any of them, and the search tool tells the agent not to read the installed packages there. A plugin composes its corpus with East's one of two ways:
|
|
51
51
|
|
|
52
52
|
- **One server answering both corpora.** Serve East's index beside your own: the package filter knows both, and an example id names its package, so the two never collide.
|
|
53
53
|
|
|
@@ -59,7 +59,7 @@ The search and fetch tools register on any MCP server with `registerExampleTools
|
|
|
59
59
|
import { EAST_INDEX_PATH } from "@elaraai/east-plugin/lib/east-index";
|
|
60
60
|
|
|
61
61
|
const server = new McpServer({ name: "acme", version: "1.0.0" });
|
|
62
|
-
registerExampleTools(server, {
|
|
62
|
+
await registerExampleTools(server, {
|
|
63
63
|
index: [EAST_INDEX_PATH, fileURLToPath(new URL("../index.json", import.meta.url))],
|
|
64
64
|
searchTool: "search_acme_examples",
|
|
65
65
|
getTool: "get_acme_example",
|
package/dist/lib/codex-hook.d.ts
CHANGED
|
@@ -56,7 +56,9 @@ export declare const EAST_CODEX_SEARCH_GATE: CodexSearchGateOptions;
|
|
|
56
56
|
*
|
|
57
57
|
* @param event - The hook's event
|
|
58
58
|
* @param options - The gate's configuration
|
|
59
|
+
* @param call - What the call touches, when the hook has read it already for
|
|
60
|
+
* its own use, so the patch or the command is parsed once
|
|
59
61
|
* @returns The reply before a call, `"recorded"` after a search, else null
|
|
60
62
|
*/
|
|
61
|
-
export declare function codexSearchGate(event: HookInput, options: CodexSearchGateOptions): Promise<SearchHookReply | "recorded" | null>;
|
|
63
|
+
export declare function codexSearchGate(event: HookInput, options: CodexSearchGateOptions, call?: CodexToolCall): Promise<SearchHookReply | "recorded" | null>;
|
|
62
64
|
//# sourceMappingURL=codex-hook.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-hook.d.ts","sourceRoot":"","sources":["../../lib/codex-hook.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,sGAAsG;AACtG,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,yDAAyD;IACzD,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,gFAAgF;IAChF,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAc7D;AAED,6CAA6C;AAC7C,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAC;IACvB,+FAA+F;IAC/F,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IACpE,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,kGAAkG;IAClG,YAAY,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,yBAAyB;AACzB,eAAO,MAAM,sBAAsB,EAAE,sBAUpC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"codex-hook.d.ts","sourceRoot":"","sources":["../../lib/codex-hook.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,sGAAsG;AACtG,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,yDAAyD;IACzD,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,gFAAgF;IAChF,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAc7D;AAED,6CAA6C;AAC7C,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAC;IACvB,+FAA+F;IAC/F,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IACpE,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,kGAAkG;IAClG,YAAY,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,yBAAyB;AACzB,eAAO,MAAM,sBAAsB,EAAE,sBAUpC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,sBAAsB,EAC/B,IAAI,GAAE,aAAoC,GACzC,OAAO,CAAC,eAAe,GAAG,UAAU,GAAG,IAAI,CAAC,CA6B9C"}
|
package/dist/lib/codex-hook.js
CHANGED
|
@@ -50,11 +50,12 @@ export const EAST_CODEX_SEARCH_GATE = {
|
|
|
50
50
|
*
|
|
51
51
|
* @param event - The hook's event
|
|
52
52
|
* @param options - The gate's configuration
|
|
53
|
+
* @param call - What the call touches, when the hook has read it already for
|
|
54
|
+
* its own use, so the patch or the command is parsed once
|
|
53
55
|
* @returns The reply before a call, `"recorded"` after a search, else null
|
|
54
56
|
*/
|
|
55
|
-
export async function codexSearchGate(event, options) {
|
|
57
|
+
export async function codexSearchGate(event, options, call = codexToolCall(event)) {
|
|
56
58
|
const input = event.tool_input ?? {};
|
|
57
|
-
const call = codexToolCall(event);
|
|
58
59
|
const marker = join(tmpdir(), options.markerPrefix + createHash('sha256').update(event.session_id ?? '').digest('hex'));
|
|
59
60
|
if (event.hook_event_name === 'PostToolUse') {
|
|
60
61
|
if (call.tool.startsWith('mcp__') && options.searchToolName.test(call.tool)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-hook.js","sourceRoot":"","sources":["../../lib/codex-hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAkB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAwBjF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgB;IAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzH,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;YACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC5D,CAAC;AAwBD,yBAAyB;AACzB,MAAM,CAAC,MAAM,sBAAsB,GAA2B;IAC5D,WAAW,EAAE,YAAY;IACzB,cAAc,EAAE,8CAA8C;IAC9D,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,mBAAmB;IACjC,UAAU,EAAE,kDAAkD;IAC9D,UAAU,EAAE,yCAAyC;IACrD,YAAY,EAAE,oBAAoB;IAClC,gBAAgB,EAAE,qBAAqB;CACxC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"codex-hook.js","sourceRoot":"","sources":["../../lib/codex-hook.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/search.d.ts
CHANGED
|
@@ -59,13 +59,26 @@ export declare function loadIndex(indexPath: string): Promise<LoadedIndex>;
|
|
|
59
59
|
* @returns The index over every file's entries, with their package names
|
|
60
60
|
*/
|
|
61
61
|
export declare function loadIndexes(indexPaths: readonly string[]): Promise<LoadedIndex>;
|
|
62
|
-
/**
|
|
63
|
-
export declare
|
|
62
|
+
/** The npm scopes East's packages are installed under. */
|
|
63
|
+
export declare const EAST_SCOPES: readonly string[];
|
|
64
|
+
/**
|
|
65
|
+
* A package filter as the index names packages: `@elaraai/east-node-io` and
|
|
66
|
+
* `east-node-io` are the same package, and so are a downstream corpus's
|
|
67
|
+
* packages with and without its own scope.
|
|
68
|
+
*
|
|
69
|
+
* @param filter - The package filter, as the agent wrote it
|
|
70
|
+
* @param scopes - The npm scopes the corpus's packages are installed under
|
|
71
|
+
* (default East's)
|
|
72
|
+
* @returns The bare package name, lowercased
|
|
73
|
+
*/
|
|
74
|
+
export declare function normalizePackage(filter: string, scopes?: readonly string[]): string;
|
|
64
75
|
export interface SearchRequest {
|
|
65
76
|
query: string;
|
|
66
77
|
limit: number;
|
|
67
|
-
/** A package or skill name; the
|
|
78
|
+
/** A package or skill name; a scope of the corpus's is accepted and ignored. */
|
|
68
79
|
package?: string | undefined;
|
|
80
|
+
/** The npm scopes the corpus's packages are installed under (default East's). */
|
|
81
|
+
scopes?: readonly string[] | undefined;
|
|
69
82
|
}
|
|
70
83
|
export interface SearchResult {
|
|
71
84
|
entries: IndexEntry[];
|
package/dist/lib/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../lib/search.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../lib/search.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/search.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
2
|
import MiniSearch from "minisearch";
|
|
3
|
+
import { EAST_GUIDANCE } from "./search-guidance.js";
|
|
3
4
|
// The example index (#654): every East program example stored as its IR with
|
|
4
5
|
// the TypeScript and python printed from it, UI and hand-written examples as
|
|
5
6
|
// their authored TypeScript. Searched by what an example IS — its keywords,
|
|
@@ -58,9 +59,22 @@ export async function loadIndexes(indexPaths) {
|
|
|
58
59
|
miniSearch.addAll(documents);
|
|
59
60
|
return { search: miniSearch, packages: [...new Set(data.entries.map((e) => e.package))].sort() };
|
|
60
61
|
}
|
|
61
|
-
/**
|
|
62
|
-
export
|
|
63
|
-
|
|
62
|
+
/** The npm scopes East's packages are installed under. */
|
|
63
|
+
export const EAST_SCOPES = [EAST_GUIDANCE.scope];
|
|
64
|
+
/**
|
|
65
|
+
* A package filter as the index names packages: `@elaraai/east-node-io` and
|
|
66
|
+
* `east-node-io` are the same package, and so are a downstream corpus's
|
|
67
|
+
* packages with and without its own scope.
|
|
68
|
+
*
|
|
69
|
+
* @param filter - The package filter, as the agent wrote it
|
|
70
|
+
* @param scopes - The npm scopes the corpus's packages are installed under
|
|
71
|
+
* (default East's)
|
|
72
|
+
* @returns The bare package name, lowercased
|
|
73
|
+
*/
|
|
74
|
+
export function normalizePackage(filter, scopes = EAST_SCOPES) {
|
|
75
|
+
const name = filter.trim().toLowerCase();
|
|
76
|
+
const scope = scopes.find((s) => name.startsWith(`${s.toLowerCase()}/`));
|
|
77
|
+
return scope === undefined ? name : name.slice(scope.length + 1);
|
|
64
78
|
}
|
|
65
79
|
/**
|
|
66
80
|
* The search the tool runs: scored hits above `MIN_SCORE`, the package
|
|
@@ -71,7 +85,7 @@ export function normalizePackage(filter) {
|
|
|
71
85
|
export function searchExamples(index, request) {
|
|
72
86
|
const known = index.packages;
|
|
73
87
|
const filter = request.package;
|
|
74
|
-
const pkg = typeof filter === "string" && filter.trim() !== "" ? normalizePackage(filter) : undefined;
|
|
88
|
+
const pkg = typeof filter === "string" && filter.trim() !== "" ? normalizePackage(filter, request.scopes) : undefined;
|
|
75
89
|
if (pkg !== undefined && typeof filter === "string" && !known.includes(pkg)) {
|
|
76
90
|
return { entries: [], unknownPackage: filter, known };
|
|
77
91
|
}
|
package/dist/lib/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../lib/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,UAAU,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../lib/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,13 @@ export interface ExampleToolsOptions {
|
|
|
14
14
|
corpus?: string;
|
|
15
15
|
/** The package names the package filter's description lists (default East's). */
|
|
16
16
|
packages?: readonly string[];
|
|
17
|
+
/**
|
|
18
|
+
* The npm scopes the corpus's packages are installed under (default East's,
|
|
19
|
+
* `@elaraai`): the package filter accepts a name under any of them, and the
|
|
20
|
+
* search tool tells the agent not to read the installed packages there. A
|
|
21
|
+
* server answering East's corpus beside its own names both scopes.
|
|
22
|
+
*/
|
|
23
|
+
scopes?: readonly string[];
|
|
17
24
|
}
|
|
18
25
|
/**
|
|
19
26
|
* Registers the example search and fetch tools on `server`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-tools.d.ts","sourceRoot":"","sources":["../../mcp/example-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,
|
|
1
|
+
{"version":3,"file":"example-tools.d.ts","sourceRoot":"","sources":["../../mcp/example-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAA8F,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAOhJ,+EAA+E;AAC/E,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAAyH,CAAC;AAErK,6EAA6E;AAC7E,MAAM,WAAW,mBAAmB;IAClC,6JAA6J;IAC7J,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,CA8F1G"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { EAST_CORPUS, formatFull, formatResults, getEntry, loadIndexes, searchExamples } from "../lib/search.js";
|
|
2
|
+
import { EAST_CORPUS, EAST_SCOPES, formatFull, formatResults, getEntry, loadIndexes, searchExamples } from "../lib/search.js";
|
|
3
3
|
// The example search's two MCP tools (#654), for any server: East's own
|
|
4
4
|
// registers them with East's names over East's index, and a plugin that builds
|
|
5
5
|
// on East's registers them with its own names over its index — beside East's
|
|
@@ -21,13 +21,16 @@ export function registerExampleTools(server, options) {
|
|
|
21
21
|
const getTool = options.getTool ?? EAST_CORPUS.getTool;
|
|
22
22
|
const corpus = options.corpus ?? EAST_CORPUS.corpus;
|
|
23
23
|
const packages = options.packages ?? EAST_PACKAGES;
|
|
24
|
+
const scopes = options.scopes ?? EAST_SCOPES;
|
|
24
25
|
const names = { corpus, getTool };
|
|
26
|
+
const scoped = scopes.map((scope) => `\`${scope}/\``);
|
|
27
|
+
const scopesNamed = `the ${scoped.join(" and ")} scope${scoped.length === 1 ? " is" : "s are"} accepted and ignored`;
|
|
25
28
|
const indexPromise = isLoaded(options.index) ? options.index : loadIndexes(options.index);
|
|
26
29
|
const languageArg = z
|
|
27
30
|
.enum(["typescript", "python"])
|
|
28
31
|
.default("typescript")
|
|
29
32
|
.describe('The language to render examples in: "typescript" (the East DSL) or "python" (east-py). Every core example is stored as IR and printed in either; UI examples are TypeScript only.');
|
|
30
|
-
server.tool(searchTool, `The mandatory first step before writing or changing ${corpus} code: search the tested example index for the capability you are about to use. Every ${corpus} API has an example here, stored as IR and rendered in TypeScript or python. Returns summaries by default (id, description, signature, keywords, the example inputs and result — a few hundred bytes each); pass format: "full" for the code, or fetch one with ${getTool}. Do not read node_modules
|
|
33
|
+
server.tool(searchTool, `The mandatory first step before writing or changing ${corpus} code: search the tested example index for the capability you are about to use. Every ${corpus} API has an example here, stored as IR and rendered in TypeScript or python. Returns summaries by default (id, description, signature, keywords, the example inputs and result — a few hundred bytes each); pass format: "full" for the code, or fetch one with ${getTool}. Do not read ${scopes.map((scope) => `node_modules/${scope}`).join(" or ")} or *.examples.ts files instead — this is the same corpus, exact and far cheaper.`, {
|
|
31
34
|
query: z.string().describe("What you need, in words: the operation, the types involved, the method name if you know it (e.g. \"group by key and sum\", \"dict merge\", \"parse csv blob\")"),
|
|
32
35
|
language: languageArg,
|
|
33
36
|
format: z
|
|
@@ -44,16 +47,16 @@ export function registerExampleTools(server, options) {
|
|
|
44
47
|
package: z
|
|
45
48
|
.string()
|
|
46
49
|
.optional()
|
|
47
|
-
.describe(`Filter results to one package by its bare name — ${packages.join(", ")} —
|
|
50
|
+
.describe(`Filter results to one package by its bare name — ${packages.join(", ")} — ${scopesNamed}; an unknown name is reported with the indexed names`),
|
|
48
51
|
}, async ({ query, language, format, limit, package: packageFilter }) => {
|
|
49
52
|
const index = await indexPromise;
|
|
50
|
-
const { entries, unknownPackage, known } = searchExamples(index, { query, limit, package: packageFilter });
|
|
53
|
+
const { entries, unknownPackage, known } = searchExamples(index, { query, limit, package: packageFilter, scopes });
|
|
51
54
|
if (unknownPackage !== undefined) {
|
|
52
55
|
return {
|
|
53
56
|
content: [
|
|
54
57
|
{
|
|
55
58
|
type: "text",
|
|
56
|
-
text: `Package "${unknownPackage}" is not an indexed package name. Indexed packages: ${known.join(", ")} (bare names
|
|
59
|
+
text: `Package "${unknownPackage}" is not an indexed package name. Indexed packages: ${known.join(", ")} (bare names: ${scopesNamed}). Retry with one of them, or without a package filter.`,
|
|
57
60
|
},
|
|
58
61
|
],
|
|
59
62
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-tools.js","sourceRoot":"","sources":["../../mcp/example-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAoB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"example-tools.js","sourceRoot":"","sources":["../../mcp/example-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAoB,MAAM,kBAAkB,CAAC;AAEhJ,wEAAwE;AACxE,+EAA+E;AAC/E,6EAA6E;AAC7E,2EAA2E;AAE3E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAsB,CAAC,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAuBrK,SAAS,QAAQ,CAAC,KAAmC;IACnD,OAAO,OAAQ,KAA4B,CAAC,IAAI,KAAK,UAAU,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,OAA4B;IAClF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,sBAAsB,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,aAAa,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC;IAC7C,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,uBAAuB,CAAC;IACrH,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE1F,MAAM,WAAW,GAAG,CAAC;SAClB,IAAI,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;SAC9B,OAAO,CAAC,YAAY,CAAC;SACrB,QAAQ,CAAC,mLAAmL,CAAC,CAAC;IAEjM,MAAM,CAAC,IAAI,CACT,UAAU,EACV,uDAAuD,MAAM,yFAAyF,MAAM,mQAAmQ,OAAO,iBAAiB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,mFAAmF,EACrkB;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gKAAgK,CAAC;QAC5L,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;aACzB,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,CAAC,iHAAiH,CAAC;QAC9H,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,oDAAoD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,WAAW,sDAAsD,CAAC;KAC5J,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;QACnE,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;QACjC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnH,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY,cAAc,uDAAuD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,WAAW,yDAAyD;qBAC7L;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,gBAAgB,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM,MAAM,+BAA+B,KAAK,IAAI,KAAK,yFAAyF,aAAa,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,GAAG;qBAC/M;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;iBACtD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,OAAO,EACP,OAAO,MAAM,4NAA4N,UAAU,GAAG,EACtP;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;QACxG,QAAQ,EAAE,WAAW;KACtB,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,qBAAqB,EAAE,qBAAqB,UAAU,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9H,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -13,8 +13,9 @@ const server = new McpServer({
|
|
|
13
13
|
name: "east",
|
|
14
14
|
version: "1.0.0",
|
|
15
15
|
});
|
|
16
|
-
// The example search and fetch, over East's index
|
|
17
|
-
|
|
16
|
+
// The example search and fetch, over East's index, loaded once before the
|
|
17
|
+
// server connects: an index that does not load fails it at startup, naming why.
|
|
18
|
+
await registerExampleTools(server, { index: [INDEX_PATH] });
|
|
18
19
|
server.tool("east_status", "Report whether the East plugin's features are installed and working: bundled hooks, the example-search index, the PostToolUse diagnostics daemon, skills, and East project detection. Use when asked to check or confirm the East plugin's status or health.", {
|
|
19
20
|
directory: z
|
|
20
21
|
.string()
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE1E,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,iDAAiD;AACjD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AAE7D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../mcp/server.ts"],"names":[],"mappings":"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"}
|