@frontmcp/plugin-codecall 1.3.0 → 1.4.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/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "@frontmcp/plugin-codecall",
3
- "version": "1.3.0",
3
+ "version": "1.4.1",
4
4
  "description": "CodeCall plugin for FrontMCP - AgentScript-based meta-tools for orchestrating MCP tools",
5
5
  "author": "AgentFront <info@agentfront.dev>",
6
6
  "license": "Apache-2.0",
7
+ "engines": {
8
+ "node": ">=24.0.0"
9
+ },
7
10
  "keywords": [
8
11
  "mcp",
9
12
  "codecall",
@@ -46,13 +49,13 @@
46
49
  },
47
50
  "dependencies": {
48
51
  "@enclave-vm/core": "^2.13.0",
49
- "vectoriadb": "^2.2.0",
50
- "@frontmcp/protocol": "1.3.0",
51
- "@frontmcp/sdk": "1.3.0"
52
+ "@frontmcp/protocol": "1.4.1",
53
+ "@frontmcp/sdk": "1.4.1",
54
+ "vectoriadb": "^2.2.0"
52
55
  },
53
56
  "peerDependencies": {
54
- "@frontmcp/plugin-cache": "1.3.0",
55
- "@frontmcp/lazy-zod": "1.3.0"
57
+ "@frontmcp/lazy-zod": "1.4.1",
58
+ "@frontmcp/plugin-cache": "1.4.1"
56
59
  },
57
60
  "devDependencies": {
58
61
  "reflect-metadata": "^0.2.2"
@@ -1,5 +1,5 @@
1
- import type CodeCallConfig from '../providers/code-call.config';
2
1
  import type { CodeCallVmEnvironment } from '../codecall.symbol';
2
+ import type CodeCallConfig from '../providers/code-call.config';
3
3
  /**
4
4
  * Result from enclave execution - maps to existing VmExecutionResult interface
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"enclave.service.d.ts","sourceRoot":"","sources":["../../src/services/enclave.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAA6B,MAAM,oBAAoB,CAAC;AAG3F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED;;;;;;;;GAQG;AACH;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CASpD;AAOD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;gBAE5C,MAAM,EAAE,cAAc;IAOlC;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgFhG;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAuEzB"}
1
+ {"version":3,"file":"enclave.service.d.ts","sourceRoot":"","sources":["../../src/services/enclave.service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAA6B,MAAM,oBAAoB,CAAC;AAE3F,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED;;;;;;;;GAQG;AACH;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CASpD;AAOD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;gBAE5C,MAAM,EAAE,cAAc;IAOlC;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgGhG;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAuEzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"describe.tool.d.ts","sourceRoot":"","sources":["../../src/tools/describe.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAkB,MAAM,eAAe,CAAC;AAIlE,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAuB3B,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IAC7C,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuDpE;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAuBtB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAkDpB;;OAEG;IACH,OAAO,CAAC,YAAY;IA6BpB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;CAyBzB"}
1
+ {"version":3,"file":"describe.tool.d.ts","sourceRoot":"","sources":["../../src/tools/describe.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAkB,MAAM,eAAe,CAAC;AAIlE,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAuB3B,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IAC7C,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2DpE;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAuBtB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAkDpB;;OAEG;IACH,OAAO,CAAC,YAAY;IA6BpB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;CAyBzB"}
@@ -1,5 +1,5 @@
1
1
  import { ToolContext } from '@frontmcp/sdk';
2
- import { CodeCallExecuteResult, ExecuteToolInput } from './execute.schema';
2
+ import { type CodeCallExecuteResult, type ExecuteToolInput } from './execute.schema';
3
3
  export default class ExecuteTool extends ToolContext {
4
4
  execute(input: ExecuteToolInput): Promise<CodeCallExecuteResult>;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execute.tool.d.ts","sourceRoot":"","sources":["../../src/tools/execute.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,qBAAqB,EAIrB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAqD1B,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAC5C,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAwNvE"}
1
+ {"version":3,"file":"execute.tool.d.ts","sourceRoot":"","sources":["../../src/tools/execute.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,eAAe,CAAC;AAclD,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAyC1B,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAC5C,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAgPvE"}
package/tools/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export { default as SearchTool } from './search.tool';
2
+ export { default as SearchSkillsTool } from './search-skills.tool';
3
+ export { default as SearchKnowledgeTool } from './search-knowledge.tool';
2
4
  export { default as DescribeTool } from './describe.tool';
3
5
  export { default as ExecuteTool } from './execute.tool';
4
6
  export { default as InvokeTool } from './invoke.tool';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { z } from '@frontmcp/lazy-zod';
2
+ export declare const searchKnowledgeToolDescription = "Search for KNOWLEDGE-ONLY skills \u2014 domain context the agent should read before deciding what to do. These skills have no tools and no openapi operation refs; they are pure prose / references / examples.\n\nUSE WHEN: the agent needs background to interpret a request, validate eligibility, or recall a procedure that isn't yet executable.\n\nINPUT:\n- queries: string[] (required) - atomic context queries, max 10\n- tags?: string[] - filter to knowledge carrying any of these tags\n- excludeSkillNames?: string[] - skip already-loaded knowledge\n- topK?: number (default 5) - results per query\n- minRelevanceScore?: number (default 0.1) - minimum match threshold\n\nOUTPUT: Deduplicated knowledge skill list with description + tags. To read the body, follow up with describe(skillName) or the skill:// resource URI.\n\nFLOW: searchKnowledge \u2192 describe (for body) \u2192 continue with searchSkills";
3
+ export declare const searchKnowledgeToolInputSchema: {
4
+ queries: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>;
5
+ tags: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>>;
6
+ excludeSkillNames: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>>;
7
+ topK: import("@frontmcp/lazy-zod").ZodDefault<import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNumber>>;
8
+ minRelevanceScore: import("@frontmcp/lazy-zod").ZodDefault<import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNumber>>;
9
+ };
10
+ export type SearchKnowledgeToolInput = z.infer<z.ZodObject<typeof searchKnowledgeToolInputSchema>>;
11
+ export declare const searchKnowledgeToolOutputSchema: import("@frontmcp/lazy-zod").ZodObject<{
12
+ knowledge: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodObject<{
13
+ name: import("@frontmcp/lazy-zod").ZodString;
14
+ description: import("@frontmcp/lazy-zod").ZodString;
15
+ tags: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>;
16
+ relevanceScore: import("@frontmcp/lazy-zod").ZodNumber;
17
+ matchedQueries: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>;
18
+ source: import("@frontmcp/lazy-zod").ZodEnum<{
19
+ external: "external";
20
+ local: "local";
21
+ }>;
22
+ }, import("zod/v4/core").$strip>>;
23
+ warnings: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodObject<{
24
+ type: import("@frontmcp/lazy-zod").ZodEnum<{
25
+ no_results: "no_results";
26
+ low_relevance: "low_relevance";
27
+ excluded_skill_not_found: "excluded_skill_not_found";
28
+ }>;
29
+ message: import("@frontmcp/lazy-zod").ZodString;
30
+ affectedSkills: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>>;
31
+ }, import("zod/v4/core").$strip>>;
32
+ totalKnowledgeSkills: import("@frontmcp/lazy-zod").ZodNumber;
33
+ }, import("zod/v4/core").$strip>;
34
+ export type SearchKnowledgeToolOutput = z.infer<typeof searchKnowledgeToolOutputSchema>;
35
+ //# sourceMappingURL=search-knowledge.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-knowledge.schema.d.ts","sourceRoot":"","sources":["../../src/tools/search-knowledge.schema.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAEvC,eAAO,MAAM,8BAA8B,g5BAa8B,CAAC;AAE1E,eAAO,MAAM,8BAA8B;;;;;;CAY1C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,8BAA8B,CAAC,CAAC,CAAC;AAWnG,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;gCAY1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ToolContext } from '@frontmcp/sdk';
2
+ import { type SearchKnowledgeToolInput, type SearchKnowledgeToolOutput } from './search-knowledge.schema';
3
+ export default class SearchKnowledgeTool extends ToolContext {
4
+ execute(input: SearchKnowledgeToolInput): Promise<SearchKnowledgeToolOutput>;
5
+ }
6
+ //# sourceMappingURL=search-knowledge.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-knowledge.tool.d.ts","sourceRoot":"","sources":["../../src/tools/search-knowledge.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAIL,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC/B,MAAM,2BAA2B,CAAC;AA6BnC,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,WAAW;IACpD,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAgFnF"}
@@ -0,0 +1,40 @@
1
+ import { z } from '@frontmcp/lazy-zod';
2
+ export declare const searchSkillsToolDescription = "Search for EXECUTABLE skills. Each result returns the skill's description, tags, and the openapi operation IDs it can call from within AgentScript.\n\nDECOMPOSE complex requests into atomic queries. AVOID re-searching: use excludeSkillNames.\n\nINPUT:\n- queries: string[] (required) - atomic skill descriptions, max 10\n- tags?: string[] - filter to skills carrying any of these tags\n- excludeSkillNames?: string[] - skip already-discovered skills\n- topK?: number (default 5) - results per query\n- minRelevanceScore?: number (default 0.1) - minimum match threshold\n\nOUTPUT: Flat deduplicated executable skill list. Each entry includes the operationIds the skill is allowed to call (via the markdown harvester). The agent can use those operationIds directly in execute() AgentScript via the generated namespaces (e.g. acme.getOrder({...})).\n\nFLOW: searchSkills \u2192 describe \u2192 execute";
3
+ export declare const searchSkillsToolInputSchema: {
4
+ queries: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>;
5
+ tags: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>>;
6
+ excludeSkillNames: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>>;
7
+ topK: import("@frontmcp/lazy-zod").ZodDefault<import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNumber>>;
8
+ minRelevanceScore: import("@frontmcp/lazy-zod").ZodDefault<import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNumber>>;
9
+ };
10
+ export type SearchSkillsToolInput = z.infer<z.ZodObject<typeof searchSkillsToolInputSchema>>;
11
+ export declare const searchSkillsToolOutputSchema: import("@frontmcp/lazy-zod").ZodObject<{
12
+ skills: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodObject<{
13
+ name: import("@frontmcp/lazy-zod").ZodString;
14
+ description: import("@frontmcp/lazy-zod").ZodString;
15
+ tags: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>;
16
+ operations: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodObject<{
17
+ spec: import("@frontmcp/lazy-zod").ZodString;
18
+ operationId: import("@frontmcp/lazy-zod").ZodString;
19
+ }, import("zod/v4/core").$strip>>;
20
+ tools: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>;
21
+ relevanceScore: import("@frontmcp/lazy-zod").ZodNumber;
22
+ matchedQueries: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>;
23
+ source: import("@frontmcp/lazy-zod").ZodEnum<{
24
+ external: "external";
25
+ local: "local";
26
+ }>;
27
+ }, import("zod/v4/core").$strip>>;
28
+ warnings: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodObject<{
29
+ type: import("@frontmcp/lazy-zod").ZodEnum<{
30
+ no_results: "no_results";
31
+ low_relevance: "low_relevance";
32
+ excluded_skill_not_found: "excluded_skill_not_found";
33
+ }>;
34
+ message: import("@frontmcp/lazy-zod").ZodString;
35
+ affectedSkills: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>>;
36
+ }, import("zod/v4/core").$strip>>;
37
+ totalExecutableSkills: import("@frontmcp/lazy-zod").ZodNumber;
38
+ }, import("zod/v4/core").$strip>;
39
+ export type SearchSkillsToolOutput = z.infer<typeof searchSkillsToolOutputSchema>;
40
+ //# sourceMappingURL=search-skills.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-skills.schema.d.ts","sourceRoot":"","sources":["../../src/tools/search-skills.schema.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAEvC,eAAO,MAAM,2BAA2B,u4BAaA,CAAC;AAEzC,eAAO,MAAM,2BAA2B;;;;;;CAgBvC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC;AAuB7F,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAYvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ToolContext } from '@frontmcp/sdk';
2
+ import { type SearchSkillsToolInput, type SearchSkillsToolOutput } from './search-skills.schema';
3
+ export default class SearchSkillsTool extends ToolContext {
4
+ execute(input: SearchSkillsToolInput): Promise<SearchSkillsToolOutput>;
5
+ }
6
+ //# sourceMappingURL=search-skills.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-skills.tool.d.ts","sourceRoot":"","sources":["../../src/tools/search-skills.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAmChC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACjD,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAiH7E"}
@@ -0,0 +1,47 @@
1
+ import type { CallToolOptions, ToolCallResult } from '../errors';
2
+ /**
3
+ * Shape of the bound `callTool` handed to namespaced methods. Mirrors the
4
+ * signature on `CodeCallVmEnvironment.callTool` but in a form independent of
5
+ * call-site generics.
6
+ */
7
+ export type NamespacedCallTool = (name: string, input: unknown, options?: CallToolOptions) => Promise<unknown | ToolCallResult<unknown>>;
8
+ /**
9
+ * Minimal shape needed from a registered tool to drive namespace generation.
10
+ * Accepts either the registry's `ToolEntry` or any object exposing `name`.
11
+ */
12
+ export interface NamespaceableTool {
13
+ readonly name: string;
14
+ }
15
+ /** A single namespace value handed to AgentScript: `{ getUser: (...) => ... }`. */
16
+ export type ToolNamespace = Record<string, (input?: unknown, options?: CallToolOptions) => Promise<unknown>>;
17
+ /** The full namespace map (e.g. `{ acme: { getUser, listUsers }, billing: { ... } }`). */
18
+ export type ToolNamespaces = Record<string, ToolNamespace>;
19
+ /**
20
+ * Reasons a tool may be skipped during namespace generation. Returned so the
21
+ * caller can surface diagnostics without re-deriving the rules.
22
+ */
23
+ export type NamespaceSkipReason = 'no-namespace-prefix' | 'invalid-identifier' | 'reserved-namespace' | 'duplicate-method';
24
+ export interface BuildToolNamespacesResult {
25
+ /** The namespaces object to merge into the VM globals. */
26
+ namespaces: ToolNamespaces;
27
+ /** Tools that were skipped, with the reason. Useful for logs / lint output. */
28
+ skipped: Array<{
29
+ name: string;
30
+ reason: NamespaceSkipReason;
31
+ }>;
32
+ }
33
+ /**
34
+ * Build a nested namespace object from dotted tool names so AgentScript can
35
+ * call `await acme.getUser({...})` instead of `await callTool('acme.getUser', {...})`.
36
+ *
37
+ * - Tools whose name has no `.` are skipped (still callable via `callTool`).
38
+ * - Tools whose prefix or suffix is not a valid JS identifier are skipped.
39
+ * - Tools whose prefix collides with a reserved global are skipped.
40
+ * - First registration wins on duplicate `{ns}.{method}` (subsequent are reported as skipped).
41
+ *
42
+ * The returned methods are thin wrappers that delegate to `callTool` with the
43
+ * full tool name preserved, so all existing security checks, hooks, quotas,
44
+ * and audit paths run unchanged.
45
+ */
46
+ export declare function buildToolNamespaces(tools: ReadonlyArray<NamespaceableTool>, callTool: NamespacedCallTool): BuildToolNamespacesResult;
47
+ //# sourceMappingURL=build-tool-namespaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-tool-namespaces.d.ts","sourceRoot":"","sources":["../../src/utils/build-tool-namespaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA8CjE;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,eAAe,KACtB,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAE7G,0FAA0F;AAC1F,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE3D;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,yBAAyB;IACxC,0DAA0D;IAC1D,UAAU,EAAE,cAAc,CAAC;IAC3B,+EAA+E;IAC/E,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,EACvC,QAAQ,EAAE,kBAAkB,GAC3B,yBAAyB,CAqC3B"}
package/utils/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './build-tool-namespaces';
1
2
  export * from './describe.utils';
2
3
  export * from './mcp-result';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAEA,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAEA,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}