@botbotgo/kit 1.0.106
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 +65 -0
- package/config/build/build.sh +182 -0
- package/config/build/tsconfig.dts.json +34 -0
- package/config/build/tsup.config.ts +19 -0
- package/config/build/vitest.config.ts +29 -0
- package/config/tool.yaml +11 -0
- package/dist/agent-context.d.ts +3 -0
- package/dist/agent-context.d.ts.map +1 -0
- package/dist/api/adapters/LangChainToolsHub.d.ts +35 -0
- package/dist/api/adapters/LangChainToolsHub.d.ts.map +1 -0
- package/dist/api/createAgentTools.d.ts +52 -0
- package/dist/api/createAgentTools.d.ts.map +1 -0
- package/dist/api/expose/extension-init/index.d.ts +3 -0
- package/dist/api/expose/extension-init/index.d.ts.map +1 -0
- package/dist/api/expose/extension-init/initExtension.d.ts +21 -0
- package/dist/api/expose/extension-init/initExtension.d.ts.map +1 -0
- package/dist/api/expose/index.d.ts +16 -0
- package/dist/api/expose/index.d.ts.map +1 -0
- package/dist/api/expose/mcp-build/build.d.ts +21 -0
- package/dist/api/expose/mcp-build/build.d.ts.map +1 -0
- package/dist/api/expose/mcp-build/generator.d.ts +15 -0
- package/dist/api/expose/mcp-build/generator.d.ts.map +1 -0
- package/dist/api/expose/mcp-build/index.d.ts +8 -0
- package/dist/api/expose/mcp-build/index.d.ts.map +1 -0
- package/dist/api/expose/mcp-build/init.d.ts +17 -0
- package/dist/api/expose/mcp-build/init.d.ts.map +1 -0
- package/dist/api/expose/mcp-build/run.d.ts +17 -0
- package/dist/api/expose/mcp-build/run.d.ts.map +1 -0
- package/dist/api/expose/mcp-build/types.d.ts +25 -0
- package/dist/api/expose/mcp-build/types.d.ts.map +1 -0
- package/dist/api/expose/mcpServer.d.ts +74 -0
- package/dist/api/expose/mcpServer.d.ts.map +1 -0
- package/dist/api/expose/openapi.d.ts +23 -0
- package/dist/api/expose/openapi.d.ts.map +1 -0
- package/dist/api/expose/openapiHttp.d.ts +51 -0
- package/dist/api/expose/openapiHttp.d.ts.map +1 -0
- package/dist/api/extension/contextRunner.d.ts +10 -0
- package/dist/api/extension/contextRunner.d.ts.map +1 -0
- package/dist/api/extension/createExtension.d.ts +38 -0
- package/dist/api/extension/createExtension.d.ts.map +1 -0
- package/dist/api/extension/dynamicImportAdapter.d.ts +25 -0
- package/dist/api/extension/dynamicImportAdapter.d.ts.map +1 -0
- package/dist/api/extension/generateExtensionManifest.d.ts +29 -0
- package/dist/api/extension/generateExtensionManifest.d.ts.map +1 -0
- package/dist/api/extension/index.d.ts +23 -0
- package/dist/api/extension/index.d.ts.map +1 -0
- package/dist/api/extension/loadToolYaml.d.ts +7 -0
- package/dist/api/extension/loadToolYaml.d.ts.map +1 -0
- package/dist/api/extension/overrideWithConfig.d.ts +2 -0
- package/dist/api/extension/overrideWithConfig.d.ts.map +1 -0
- package/dist/api/extension/registerExtension.d.ts +32 -0
- package/dist/api/extension/registerExtension.d.ts.map +1 -0
- package/dist/api/extension/registerFromManifest.d.ts +43 -0
- package/dist/api/extension/registerFromManifest.d.ts.map +1 -0
- package/dist/api/extension/resolvePackageRoot.d.ts +2 -0
- package/dist/api/extension/resolvePackageRoot.d.ts.map +1 -0
- package/dist/api/extension/support/groupPrefix.d.ts +21 -0
- package/dist/api/extension/support/groupPrefix.d.ts.map +1 -0
- package/dist/api/extension/support/types.d.ts +15 -0
- package/dist/api/extension/support/types.d.ts.map +1 -0
- package/dist/api/register-tools.d.ts +17 -0
- package/dist/api/register-tools.d.ts.map +1 -0
- package/dist/api/resolveAgentSkillRoots.d.ts +7 -0
- package/dist/api/resolveAgentSkillRoots.d.ts.map +1 -0
- package/dist/api/runtimeFromConfig.d.ts +20 -0
- package/dist/api/runtimeFromConfig.d.ts.map +1 -0
- package/dist/api/runtimeFromConfig.helpers.d.ts +12 -0
- package/dist/api/runtimeFromConfig.helpers.d.ts.map +1 -0
- package/dist/api/runtimeFromConfig.types.d.ts +37 -0
- package/dist/api/runtimeFromConfig.types.d.ts.map +1 -0
- package/dist/build.cjs +30 -0
- package/dist/build.cjs.map +1 -0
- package/dist/build.d.ts +13 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/build.js +5 -0
- package/dist/build.js.map +1 -0
- package/dist/canonicalCoreSchemas-PHGTNPN5.js +3 -0
- package/dist/canonicalCoreSchemas-PHGTNPN5.js.map +1 -0
- package/dist/canonicalCoreSchemas-TY7NCWCC.cjs +16 -0
- package/dist/canonicalCoreSchemas-TY7NCWCC.cjs.map +1 -0
- package/dist/chunk-4OOTCNR7.js +324 -0
- package/dist/chunk-4OOTCNR7.js.map +1 -0
- package/dist/chunk-4VKCWJHF.cjs +3043 -0
- package/dist/chunk-4VKCWJHF.cjs.map +1 -0
- package/dist/chunk-AGLGFQUW.cjs +259 -0
- package/dist/chunk-AGLGFQUW.cjs.map +1 -0
- package/dist/chunk-AZUXVVGV.cjs +1073 -0
- package/dist/chunk-AZUXVVGV.cjs.map +1 -0
- package/dist/chunk-BDUSB6GT.js +520 -0
- package/dist/chunk-BDUSB6GT.js.map +1 -0
- package/dist/chunk-BNIE2IKZ.cjs +100 -0
- package/dist/chunk-BNIE2IKZ.cjs.map +1 -0
- package/dist/chunk-BTHDNP3C.cjs +350 -0
- package/dist/chunk-BTHDNP3C.cjs.map +1 -0
- package/dist/chunk-GGFAGLDC.js +1049 -0
- package/dist/chunk-GGFAGLDC.js.map +1 -0
- package/dist/chunk-ITX6A2BT.js +92 -0
- package/dist/chunk-ITX6A2BT.js.map +1 -0
- package/dist/chunk-IVL4TBFB.js +248 -0
- package/dist/chunk-IVL4TBFB.js.map +1 -0
- package/dist/chunk-JH4ZF3FN.js +3013 -0
- package/dist/chunk-JH4ZF3FN.js.map +1 -0
- package/dist/chunk-JW4EMVTE.cjs +553 -0
- package/dist/chunk-JW4EMVTE.cjs.map +1 -0
- package/dist/chunk-NTWOVFEY.js +16 -0
- package/dist/chunk-NTWOVFEY.js.map +1 -0
- package/dist/chunk-UUNG3GL3.cjs +19 -0
- package/dist/chunk-UUNG3GL3.cjs.map +1 -0
- package/dist/core/registry/ToolRegistry.d.ts +68 -0
- package/dist/core/registry/ToolRegistry.d.ts.map +1 -0
- package/dist/core/runtime/Budget.d.ts +63 -0
- package/dist/core/runtime/Budget.d.ts.map +1 -0
- package/dist/core/runtime/Evidence.d.ts +19 -0
- package/dist/core/runtime/Evidence.d.ts.map +1 -0
- package/dist/core/runtime/PTCRuntime.d.ts +124 -0
- package/dist/core/runtime/PTCRuntime.d.ts.map +1 -0
- package/dist/core/runtime/PTCRuntimeObservability.d.ts +26 -0
- package/dist/core/runtime/PTCRuntimeObservability.d.ts.map +1 -0
- package/dist/core/runtime/PTCRuntimePipeline.d.ts +69 -0
- package/dist/core/runtime/PTCRuntimePipeline.d.ts.map +1 -0
- package/dist/core/runtime/PolicyEngine.d.ts +67 -0
- package/dist/core/runtime/PolicyEngine.d.ts.map +1 -0
- package/dist/core/runtime/Retry.d.ts +33 -0
- package/dist/core/runtime/Retry.d.ts.map +1 -0
- package/dist/core/runtime/SchemaValidator.d.ts +42 -0
- package/dist/core/runtime/SchemaValidator.d.ts.map +1 -0
- package/dist/core/runtime/toolObservation.d.ts +7 -0
- package/dist/core/runtime/toolObservation.d.ts.map +1 -0
- package/dist/core/types/Events.d.ts +99 -0
- package/dist/core/types/Events.d.ts.map +1 -0
- package/dist/core/types/ToolIntent.d.ts +40 -0
- package/dist/core/types/ToolIntent.d.ts.map +1 -0
- package/dist/core/types/ToolResult.d.ts +44 -0
- package/dist/core/types/ToolResult.d.ts.map +1 -0
- package/dist/core/types/ToolSpec.d.ts +116 -0
- package/dist/core/types/ToolSpec.d.ts.map +1 -0
- package/dist/core/types/ToolTypeHandler.d.ts +88 -0
- package/dist/core/types/ToolTypeHandler.d.ts.map +1 -0
- package/dist/core/types/index.d.ts +7 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/index.cjs +399 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +394 -0
- package/dist/index.js.map +1 -0
- package/dist/observability/EventLog.d.ts +60 -0
- package/dist/observability/EventLog.d.ts.map +1 -0
- package/dist/observability/Logger.d.ts +33 -0
- package/dist/observability/Logger.d.ts.map +1 -0
- package/dist/observability/Metrics.d.ts +70 -0
- package/dist/observability/Metrics.d.ts.map +1 -0
- package/dist/observability/Tracing.d.ts +69 -0
- package/dist/observability/Tracing.d.ts.map +1 -0
- package/dist/sdk.cjs +493 -0
- package/dist/sdk.cjs.map +1 -0
- package/dist/sdk.d.ts +17 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +443 -0
- package/dist/sdk.js.map +1 -0
- package/dist/security/sandbox.d.ts +10 -0
- package/dist/security/sandbox.d.ts.map +1 -0
- package/dist/security/ssrf.d.ts +24 -0
- package/dist/security/ssrf.d.ts.map +1 -0
- package/dist/templates/mcp-server.js +48 -0
- package/dist/templates/n8n-invoker.js +11 -0
- package/dist/templates/skill-invoker.js +11 -0
- package/dist/templates/tool-index.js +9 -0
- package/dist/tools/discoveryFactory.d.ts +117 -0
- package/dist/tools/discoveryFactory.d.ts.map +1 -0
- package/dist/tools/function/index.d.ts +10 -0
- package/dist/tools/function/index.d.ts.map +1 -0
- package/dist/tools/function/scanner.d.ts +29 -0
- package/dist/tools/function/scanner.d.ts.map +1 -0
- package/dist/tools/function/schemaFromTs.d.ts +16 -0
- package/dist/tools/function/schemaFromTs.d.ts.map +1 -0
- package/dist/tools/function/types.d.ts +20 -0
- package/dist/tools/function/types.d.ts.map +1 -0
- package/dist/tools/index.d.ts +13 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/langchain/LangChainLoader.d.ts +7 -0
- package/dist/tools/langchain/LangChainLoader.d.ts.map +1 -0
- package/dist/tools/langchain/directoryApply.d.ts +5 -0
- package/dist/tools/langchain/directoryApply.d.ts.map +1 -0
- package/dist/tools/langchain/directoryLoad.d.ts +13 -0
- package/dist/tools/langchain/directoryLoad.d.ts.map +1 -0
- package/dist/tools/langchain/index.d.ts +3 -0
- package/dist/tools/langchain/index.d.ts.map +1 -0
- package/dist/tools/langchain/scanner.d.ts +8 -0
- package/dist/tools/langchain/scanner.d.ts.map +1 -0
- package/dist/tools/langchain/types.d.ts +5 -0
- package/dist/tools/langchain/types.d.ts.map +1 -0
- package/dist/tools/mcp/MCPClientAdapter.d.ts +34 -0
- package/dist/tools/mcp/MCPClientAdapter.d.ts.map +1 -0
- package/dist/tools/mcp/MCPLoader.d.ts +8 -0
- package/dist/tools/mcp/MCPLoader.d.ts.map +1 -0
- package/dist/tools/mcp/MCPProcessManager.d.ts +29 -0
- package/dist/tools/mcp/MCPProcessManager.d.ts.map +1 -0
- package/dist/tools/mcp/connectMCP.d.ts +47 -0
- package/dist/tools/mcp/connectMCP.d.ts.map +1 -0
- package/dist/tools/mcp/directoryApply.d.ts +10 -0
- package/dist/tools/mcp/directoryApply.d.ts.map +1 -0
- package/dist/tools/mcp/index.d.ts +16 -0
- package/dist/tools/mcp/index.d.ts.map +1 -0
- package/dist/tools/mcp/mcpSpecToToolSpec.d.ts +8 -0
- package/dist/tools/mcp/mcpSpecToToolSpec.d.ts.map +1 -0
- package/dist/tools/mcp/registerMCPTools.d.ts +24 -0
- package/dist/tools/mcp/registerMCPTools.d.ts.map +1 -0
- package/dist/tools/mcp/scanner.d.ts +8 -0
- package/dist/tools/mcp/scanner.d.ts.map +1 -0
- package/dist/tools/mcp/support/types.d.ts +3 -0
- package/dist/tools/mcp/support/types.d.ts.map +1 -0
- package/dist/tools/n8n/N8nLoader.d.ts +25 -0
- package/dist/tools/n8n/N8nLoader.d.ts.map +1 -0
- package/dist/tools/n8n/directoryApply.d.ts +10 -0
- package/dist/tools/n8n/directoryApply.d.ts.map +1 -0
- package/dist/tools/n8n/index.d.ts +6 -0
- package/dist/tools/n8n/index.d.ts.map +1 -0
- package/dist/tools/n8n/scanN8n.d.ts +20 -0
- package/dist/tools/n8n/scanN8n.d.ts.map +1 -0
- package/dist/tools/n8n/types.d.ts +18 -0
- package/dist/tools/n8n/types.d.ts.map +1 -0
- package/dist/tools/scanPackage.d.ts +42 -0
- package/dist/tools/scanPackage.d.ts.map +1 -0
- package/dist/tools/skill/SkillLoader.d.ts +20 -0
- package/dist/tools/skill/SkillLoader.d.ts.map +1 -0
- package/dist/tools/skill/SkillManifest.d.ts +79 -0
- package/dist/tools/skill/SkillManifest.d.ts.map +1 -0
- package/dist/tools/skill/SkillMdParser.d.ts +31 -0
- package/dist/tools/skill/SkillMdParser.d.ts.map +1 -0
- package/dist/tools/skill/directoryApply.d.ts +10 -0
- package/dist/tools/skill/directoryApply.d.ts.map +1 -0
- package/dist/tools/skill/index.d.ts +8 -0
- package/dist/tools/skill/index.d.ts.map +1 -0
- package/dist/tools/skill/scanSkill.d.ts +20 -0
- package/dist/tools/skill/scanSkill.d.ts.map +1 -0
- package/dist/tools/skill/types.d.ts +19 -0
- package/dist/tools/skill/types.d.ts.map +1 -0
- package/dist/tools/util/canonicalCoreSchemas.d.ts +15 -0
- package/dist/tools/util/canonicalCoreSchemas.d.ts.map +1 -0
- package/dist/tools/util/index.d.ts +13 -0
- package/dist/tools/util/index.d.ts.map +1 -0
- package/dist/tools/util/resolveEntry.d.ts +6 -0
- package/dist/tools/util/resolveEntry.d.ts.map +1 -0
- package/dist/tools/util/scanUtil.d.ts +9 -0
- package/dist/tools/util/scanUtil.d.ts.map +1 -0
- package/dist/tools/util/toolConfig.d.ts +38 -0
- package/dist/tools/util/toolConfig.d.ts.map +1 -0
- package/dist/tools/util/toolDescriptor.d.ts +117 -0
- package/dist/tools/util/toolDescriptor.d.ts.map +1 -0
- package/dist/utils/cli/help.d.ts +2 -0
- package/dist/utils/cli/help.d.ts.map +1 -0
- package/dist/utils/cli/index.cjs +700 -0
- package/dist/utils/cli/index.cjs.map +1 -0
- package/dist/utils/cli/index.d.ts +9 -0
- package/dist/utils/cli/index.d.ts.map +1 -0
- package/dist/utils/cli/index.js +677 -0
- package/dist/utils/cli/index.js.map +1 -0
- package/dist/utils/cli/toolRuntime.d.ts +19 -0
- package/dist/utils/cli/toolRuntime.d.ts.map +1 -0
- package/dist/utils/log.d.ts +2 -0
- package/dist/utils/log.d.ts.map +1 -0
- package/dist/utils/npmCache.d.ts +11 -0
- package/dist/utils/npmCache.d.ts.map +1 -0
- package/dist/utils/npmVersion.d.ts +10 -0
- package/dist/utils/npmVersion.d.ts.map +1 -0
- package/dist/utils/overrideWithConfig.d.ts +2 -0
- package/dist/utils/overrideWithConfig.d.ts.map +1 -0
- package/package.json +125 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Expose tools as an MCP server (stdio or Streamable HTTP). All invokes go through PTCRuntime.invoke(intent, ctx).
|
|
3
|
+
* Requires @modelcontextprotocol/sdk.
|
|
4
|
+
*/
|
|
5
|
+
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
6
|
+
import type { PTCRuntime } from "../../core/runtime/PTCRuntime.js";
|
|
7
|
+
import type { ExecContext } from "../../core/types/ToolIntent.js";
|
|
8
|
+
import type { CreateRuntimeOptions } from "../runtimeFromConfig.js";
|
|
9
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
10
|
+
export type { McpServer };
|
|
11
|
+
export interface MCPServerOptions {
|
|
12
|
+
/** Server name (default: "agent-tool") */
|
|
13
|
+
name?: string;
|
|
14
|
+
/** Server version (default: "1.0.0") */
|
|
15
|
+
version?: string;
|
|
16
|
+
/** Build ExecContext for each tool call (default: minimal ctx) */
|
|
17
|
+
execContextFactory?: () => ExecContext;
|
|
18
|
+
}
|
|
19
|
+
export interface MCPServerResult {
|
|
20
|
+
/** The MCP server instance */
|
|
21
|
+
server: McpServer;
|
|
22
|
+
/** Call this to start listening on stdio (for in-process MCP service) */
|
|
23
|
+
connectStdio: () => Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
/** Request handler for Streamable HTTP: (req, res, parsedBody?) => Promise<void>. Use with Express app.post(path, handler) and express.json(). */
|
|
26
|
+
export type MCPStreamableHttpHandler = (req: IncomingMessage, res: ServerResponse, parsedBody?: unknown) => Promise<void>;
|
|
27
|
+
export interface MCPServerStreamableHttpResult {
|
|
28
|
+
/** Express app with POST /mcp (or path) wired to Streamable HTTP handler */
|
|
29
|
+
app: {
|
|
30
|
+
post: (path: string, handler: MCPStreamableHttpHandler) => void;
|
|
31
|
+
};
|
|
32
|
+
/** Path mounted (e.g. "/mcp") */
|
|
33
|
+
path: string;
|
|
34
|
+
/** Start HTTP server; returns when listening. Use createMCPStreamableHttpHandler + your own server if you prefer. */
|
|
35
|
+
listen: (port?: number, host?: string) => Promise<{
|
|
36
|
+
url: string;
|
|
37
|
+
port: number;
|
|
38
|
+
}>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create an MCP server that serves all tools from the given PTCRuntime.
|
|
42
|
+
* Register tools with the server; then call connectStdio() to listen on stdio (for Cursor/Claude).
|
|
43
|
+
*/
|
|
44
|
+
export declare function createMCPServer(runtime: PTCRuntime, options?: MCPServerOptions): Promise<MCPServerResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Create an MCP server from config (async: loads tools from projectPath when set).
|
|
47
|
+
*/
|
|
48
|
+
export declare function createMCPServer(config: CreateRuntimeOptions, options?: MCPServerOptions): Promise<MCPServerResult>;
|
|
49
|
+
/**
|
|
50
|
+
* Create a request handler for MCP Streamable HTTP (stateless). Use with Express: app.use(express.json()); app.post("/mcp", handler).
|
|
51
|
+
* Each request gets a new server and transport; supports SSE and direct HTTP responses per MCP Streamable HTTP spec.
|
|
52
|
+
*/
|
|
53
|
+
export declare function createMCPStreamableHttpHandler(runtime: PTCRuntime, options?: MCPServerOptions): MCPStreamableHttpHandler;
|
|
54
|
+
export declare function createMCPStreamableHttpHandler(config: CreateRuntimeOptions, options?: MCPServerOptions): Promise<MCPStreamableHttpHandler>;
|
|
55
|
+
export interface CreateMCPServerStreamableHttpOptions extends MCPServerOptions {
|
|
56
|
+
/** Path for MCP endpoint (default: "/mcp") */
|
|
57
|
+
path?: string;
|
|
58
|
+
/** Host to bind (default: "127.0.0.1") */
|
|
59
|
+
host?: string;
|
|
60
|
+
/** Port (default: 3000) */
|
|
61
|
+
port?: number;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Create an Express app with MCP Streamable HTTP handler mounted at path. Requires @modelcontextprotocol/sdk (which uses express).
|
|
65
|
+
* Returns app and listen(port?, host?) to start the HTTP server.
|
|
66
|
+
*/
|
|
67
|
+
export declare function createMCPServerStreamableHttp(runtime: PTCRuntime, options?: CreateMCPServerStreamableHttpOptions): Promise<MCPServerStreamableHttpResult>;
|
|
68
|
+
export declare function createMCPServerStreamableHttp(config: CreateRuntimeOptions, options?: CreateMCPServerStreamableHttpOptions): Promise<MCPServerStreamableHttpResult>;
|
|
69
|
+
/**
|
|
70
|
+
* Run MCP server over stdio using the given runtime.
|
|
71
|
+
* Call this when your process should act as an MCP server (e.g. for Cursor/Claude to connect).
|
|
72
|
+
*/
|
|
73
|
+
export declare function runMCPServerOverStdio(runtime: PTCRuntime, options?: MCPServerOptions): Promise<MCPServerResult>;
|
|
74
|
+
//# sourceMappingURL=mcpServer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpServer.d.ts","sourceRoot":"","sources":["../../../src/api/expose/mcpServer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,MAAM,WAAW,CAAC;CACxC;AAWD,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,yEAAyE;IACzE,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,kJAAkJ;AAClJ,MAAM,MAAM,wBAAwB,GAAG,CACrC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,UAAU,CAAC,EAAE,OAAO,KACjB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,WAAW,6BAA6B;IAC5C,4EAA4E;IAC5E,GAAG,EAAE;QAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAA;KAAE,CAAC;IACzE,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,qHAAqH;IACrH,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClF;AA4DD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAAC;AAE5B;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAAC;AAuB5B;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,wBAAwB,CAAC;AAE5B,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAsCrC,MAAM,WAAW,oCAAqC,SAAQ,gBAAgB;IAC5E,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,oCAAoC,GAC7C,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAE1C,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,oCAAoC,GAC7C,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAqC1C;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,UAAU,EACnB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAI1B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Expose tools as OpenAPI (Swagger) spec and optional HTTP server.
|
|
3
|
+
* Same tools can be used via LangChain, MCP, or REST.
|
|
4
|
+
*/
|
|
5
|
+
import type { ToolRegistry } from "../../core/registry/ToolRegistry.js";
|
|
6
|
+
export interface OpenAPISpecOptions {
|
|
7
|
+
/** API title (default: "Tool API") */
|
|
8
|
+
title?: string;
|
|
9
|
+
/** API version (default: "1.0.0") */
|
|
10
|
+
version?: string;
|
|
11
|
+
/** Base path for the API (default: "") */
|
|
12
|
+
basePath?: string;
|
|
13
|
+
}
|
|
14
|
+
/** Tool name to URL path segment: "core.fs.readText" -> "core~fs~readText" (dots to ~ in path) */
|
|
15
|
+
export declare function toolNameToSlug(name: string): string;
|
|
16
|
+
/** URL path segment back to tool name: "core~fs~readText" -> "core.fs.readText" */
|
|
17
|
+
export declare function slugToToolName(slug: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Build OpenAPI 3.0 document from the tool registry.
|
|
20
|
+
* GET /tools, POST /invoke (generic), and one POST /invoke/{toolSlug} per tool with that tool's input schema.
|
|
21
|
+
*/
|
|
22
|
+
export declare function toolsToOpenAPISpec(registry: ToolRegistry, options?: OpenAPISpecOptions): Record<string, unknown>;
|
|
23
|
+
//# sourceMappingURL=openapi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/api/expose/openapi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAIxE,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAsBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBzB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAPI service on Express: GET / (Swagger UI), GET /openapi.json, GET /tools, POST /invoke.
|
|
3
|
+
* All invokes go through PTCRuntime.invoke(intent, ctx).
|
|
4
|
+
*/
|
|
5
|
+
import type { IncomingMessage } from "node:http";
|
|
6
|
+
import { type Express } from "express";
|
|
7
|
+
import type { PTCRuntime } from "../../core/runtime/PTCRuntime.js";
|
|
8
|
+
import type { ExecContext } from "../../core/types/ToolIntent.js";
|
|
9
|
+
import type { CreateRuntimeOptions } from "../runtimeFromConfig.js";
|
|
10
|
+
export type OpenAPIExpressApp = Express;
|
|
11
|
+
export interface OpenAPIHttpServerOptions {
|
|
12
|
+
port?: number;
|
|
13
|
+
host?: string;
|
|
14
|
+
basePath?: string;
|
|
15
|
+
execContextFactory?: (req: IncomingMessage) => ExecContext;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create an Express app exposing OpenAPI routes.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createOpenAPIHttpServer(runtime: PTCRuntime, options?: OpenAPIHttpServerOptions): OpenAPIExpressApp;
|
|
21
|
+
export declare function listenOpenAPIHttpServer(app: OpenAPIExpressApp, options?: {
|
|
22
|
+
port?: number;
|
|
23
|
+
host?: string;
|
|
24
|
+
}): Promise<{
|
|
25
|
+
port: number;
|
|
26
|
+
host: string;
|
|
27
|
+
httpServer: import("node:http").Server;
|
|
28
|
+
}>;
|
|
29
|
+
export interface HttpServiceResult {
|
|
30
|
+
/** Express app */
|
|
31
|
+
server: OpenAPIExpressApp;
|
|
32
|
+
/** OpenAPI 3.0 spec document */
|
|
33
|
+
openApiSpec: Record<string, unknown>;
|
|
34
|
+
/** Start listening */
|
|
35
|
+
listen: (options?: {
|
|
36
|
+
port?: number;
|
|
37
|
+
host?: string;
|
|
38
|
+
}) => Promise<{
|
|
39
|
+
port: number;
|
|
40
|
+
host: string;
|
|
41
|
+
}>;
|
|
42
|
+
/** Close underlying HTTP server after listen() */
|
|
43
|
+
close: () => Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
export interface CreateHttpServiceOptions extends OpenAPIHttpServerOptions {
|
|
46
|
+
title?: string;
|
|
47
|
+
version?: string;
|
|
48
|
+
}
|
|
49
|
+
export declare function createHttpService(runtime: PTCRuntime, options?: CreateHttpServiceOptions): Promise<HttpServiceResult>;
|
|
50
|
+
export declare function createHttpService(config: CreateRuntimeOptions, options?: CreateHttpServiceOptions): Promise<HttpServiceResult>;
|
|
51
|
+
//# sourceMappingURL=openapiHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapiHttp.d.ts","sourceRoot":"","sources":["../../../src/api/expose/openapiHttp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAgB,EAAE,KAAK,OAAO,EAAkD,MAAM,SAAS,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAMpE,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAExC,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,WAAW,CAAC;CAC5D;AAoOD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EACnB,OAAO,GAAE,wBAA6B,GACrC,iBAAiB,CAcnB;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,iBAAiB,EACtB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7C,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAWjF;AAED,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,sBAAsB;IACtB,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChG,kDAAkD;IAClD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE9B,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface ContextRunner<T> {
|
|
2
|
+
runWith(ctx: T, fn: () => Promise<unknown>): Promise<unknown>;
|
|
3
|
+
getContext(): T;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Create a context runner for an extension. Handlers call getContext() to read config.
|
|
7
|
+
* Adapter calls runWith(ctx, () => handler(args)) so getContext() returns ctx.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createContextRunner<T>(): ContextRunner<T>;
|
|
10
|
+
//# sourceMappingURL=contextRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextRunner.d.ts","sourceRoot":"","sources":["../../../src/api/extension/contextRunner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,UAAU,IAAI,CAAC,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,CAczD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ToolAdapter } from "../../core/types/ToolSpec.js";
|
|
2
|
+
import type { ToolRegistry } from "../../core/registry/ToolRegistry.js";
|
|
3
|
+
import type { ExtensionToolContext } from "./support/types.js";
|
|
4
|
+
/** Pass import.meta so the framework derives packagePath (extension entry does not need path/fileURLToPath). */
|
|
5
|
+
export interface ImportMetaLike {
|
|
6
|
+
url: string;
|
|
7
|
+
}
|
|
8
|
+
/** Options when config is built from userConfig (buildConfig). */
|
|
9
|
+
export interface CreateExtensionOptionsWithBuild<TConfig, TUserConfig> {
|
|
10
|
+
packagePath?: string;
|
|
11
|
+
importMeta?: ImportMetaLike;
|
|
12
|
+
kind?: string;
|
|
13
|
+
buildConfig: (userConfig: TUserConfig) => TConfig;
|
|
14
|
+
}
|
|
15
|
+
/** Options when config is per-tool only (each tool's tool.yaml). */
|
|
16
|
+
export interface CreateExtensionOptionsDefaultOnly {
|
|
17
|
+
packagePath?: string;
|
|
18
|
+
importMeta?: ImportMetaLike;
|
|
19
|
+
kind?: string;
|
|
20
|
+
}
|
|
21
|
+
/** Register opts when using per-tool config only: filter tools by name. */
|
|
22
|
+
export interface RegisterOptionsDefaultOnly {
|
|
23
|
+
only?: string[];
|
|
24
|
+
namePrefixes?: string[];
|
|
25
|
+
}
|
|
26
|
+
export type CreateExtensionOptions<TConfig, TUserConfig> = CreateExtensionOptionsWithBuild<TConfig, TUserConfig> | (CreateExtensionOptionsDefaultOnly & {
|
|
27
|
+
buildConfig?: never;
|
|
28
|
+
});
|
|
29
|
+
export interface CreateExtensionResult<TConfig, TUserConfig> {
|
|
30
|
+
register(registry: ToolRegistry, userConfigOrOpts: TUserConfig, options?: {
|
|
31
|
+
only?: string[];
|
|
32
|
+
namePrefixes?: string[];
|
|
33
|
+
}): ToolAdapter;
|
|
34
|
+
getContext(): ExtensionToolContext<TConfig>;
|
|
35
|
+
runWith<T>(ctx: ExtensionToolContext<TConfig>, fn: () => Promise<T>): Promise<T>;
|
|
36
|
+
}
|
|
37
|
+
export declare function createExtension<TConfig = Record<string, unknown>, TUserConfig = RegisterOptionsDefaultOnly>(options: CreateExtensionOptions<TConfig, TUserConfig>): CreateExtensionResult<TConfig, TUserConfig>;
|
|
38
|
+
//# sourceMappingURL=createExtension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createExtension.d.ts","sourceRoot":"","sources":["../../../src/api/extension/createExtension.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,gHAAgH;AAChH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,kEAAkE;AAClE,MAAM,WAAW,+BAA+B,CAAC,OAAO,EAAE,WAAW;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,OAAO,CAAC;CACnD;AAED,oEAAoE;AACpE,MAAM,WAAW,iCAAiC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,2EAA2E;AAC3E,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,sBAAsB,CAAC,OAAO,EAAE,WAAW,IACnD,+BAA+B,CAAC,OAAO,EAAE,WAAW,CAAC,GACrD,CAAC,iCAAiC,GAAG;IAAE,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAElE,MAAM,WAAW,qBAAqB,CAAC,OAAO,EAAE,WAAW;IACzD,QAAQ,CACN,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,WAAW,EAC7B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACrD,WAAW,CAAC;IACf,UAAU,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAClF;AAYD,wBAAgB,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,0BAA0B,EACzG,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,GACpD,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CA4B7C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ToolAdapter, ToolSpec } from "../../core/types/ToolSpec.js";
|
|
2
|
+
import type { ExecContext } from "../../core/types/ToolIntent.js";
|
|
3
|
+
import type { Evidence } from "../../core/types/ToolResult.js";
|
|
4
|
+
export interface ExtensionToolResult {
|
|
5
|
+
result: unknown;
|
|
6
|
+
evidence: Evidence[];
|
|
7
|
+
}
|
|
8
|
+
export interface DynamicImportAdapterOptions<TContext> {
|
|
9
|
+
kind: string;
|
|
10
|
+
packageRoot: string;
|
|
11
|
+
/**
|
|
12
|
+
* Build context from execCtx, spec, and merged request args.
|
|
13
|
+
* Framework merges defaultArgs (tool.yaml) with request args; implementor can merge into ctx.config
|
|
14
|
+
* so handlers read resolved config from context instead of re-resolving in each handler.
|
|
15
|
+
*/
|
|
16
|
+
getExtensionContext: (execCtx: ExecContext, spec: ToolSpec, mergedArgs?: Record<string, unknown>) => TContext;
|
|
17
|
+
contextRunner: {
|
|
18
|
+
runWith(ctx: TContext, fn: () => Promise<ExtensionToolResult>): Promise<ExtensionToolResult>;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create an adapter that loads handlers by spec._meta.sourcePath and exportName, then runs with extension context.
|
|
23
|
+
*/
|
|
24
|
+
export declare function createDynamicImportAdapter<TContext>(options: DynamicImportAdapterOptions<TContext>): ToolAdapter;
|
|
25
|
+
//# sourceMappingURL=dynamicImportAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamicImportAdapter.d.ts","sourceRoot":"","sources":["../../../src/api/extension/dynamicImportAdapter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAuB/D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B,CAAC,QAAQ;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,mBAAmB,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC;IAC9G,aAAa,EAAE;QAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;KAAE,CAAC;CACjH;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EACjD,OAAO,EAAE,2BAA2B,CAAC,QAAQ,CAAC,GAC7C,WAAW,CA4Cb"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface GenerateExtensionManifestOptions {
|
|
2
|
+
/** Project root (default: process.cwd()). */
|
|
3
|
+
projectRoot?: string;
|
|
4
|
+
/** Output directory for manifest and copied tool.yaml (default: projectRoot/dist). */
|
|
5
|
+
outDir?: string;
|
|
6
|
+
/** Manifest kind (default: "core"). */
|
|
7
|
+
kind?: string;
|
|
8
|
+
/** Include globs for TS files (default: all .ts). */
|
|
9
|
+
include?: string[];
|
|
10
|
+
/** Path to tsconfig (default: projectRoot/tsconfig.json). */
|
|
11
|
+
tsconfigPath?: string;
|
|
12
|
+
/** Subdirs to recursively copy *.tool.yaml and *.example.yaml from (e.g. ["src"]). */
|
|
13
|
+
copyToolYamlDirs?: string[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Scan project for @tool, write core-tools-manifest.json and recursively copy *.tool.yaml and *.example.yaml to outDir.
|
|
17
|
+
* Returns the written manifest path and number of tools.
|
|
18
|
+
*/
|
|
19
|
+
export declare function generateExtensionManifest(projectRoot?: string, options?: GenerateExtensionManifestOptions): {
|
|
20
|
+
manifestPath: string;
|
|
21
|
+
toolsCount: number;
|
|
22
|
+
toolYamlCopied: number;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Build step for extensions: scan src folder and subfolders, emit manifest, copy tool.yaml.
|
|
26
|
+
* Call from extension's build script (e.g. tsx generate-manifest.ts).
|
|
27
|
+
*/
|
|
28
|
+
export declare function generateManifest(projectRoot?: string, options?: Omit<GenerateExtensionManifestOptions, "projectRoot">): void;
|
|
29
|
+
//# sourceMappingURL=generateExtensionManifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateExtensionManifest.d.ts","sourceRoot":"","sources":["../../../src/api/extension/generateExtensionManifest.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,gCAAgC;IAC/C,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAmBD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,GAAE,MAAsB,EACnC,OAAO,GAAE,gCAAqC,GAC7C;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAuDtE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,GAAE,MAAsB,EACnC,OAAO,GAAE,IAAI,CAAC,gCAAgC,EAAE,aAAa,CAAM,GAClE,IAAI,CAQN"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic extension primitives: context runner, dynamic-import adapter, manifest registration.
|
|
3
|
+
* Used by extension packages (e.g. @botbotgo/kit-builtin) that are "just a normal extension".
|
|
4
|
+
*/
|
|
5
|
+
export { createContextRunner } from "./contextRunner.js";
|
|
6
|
+
export type { ContextRunner } from "./contextRunner.js";
|
|
7
|
+
export { createExtension } from "./createExtension.js";
|
|
8
|
+
export type { CreateExtensionOptions, CreateExtensionResult, ImportMetaLike, RegisterOptionsDefaultOnly, } from "./createExtension.js";
|
|
9
|
+
export { generateExtensionManifest, generateManifest, } from "./generateExtensionManifest.js";
|
|
10
|
+
export type { GenerateExtensionManifestOptions } from "./generateExtensionManifest.js";
|
|
11
|
+
export { createDynamicImportAdapter } from "./dynamicImportAdapter.js";
|
|
12
|
+
export type { DynamicImportAdapterOptions, ExtensionToolResult, } from "./dynamicImportAdapter.js";
|
|
13
|
+
export type { ExtensionToolContext, ExtensionToolHandler, } from "./support/types.js";
|
|
14
|
+
export { loadToolYaml } from "./loadToolYaml.js";
|
|
15
|
+
export { registerToolsFromManifest, loadExtensionManifest, } from "./registerFromManifest.js";
|
|
16
|
+
export { registerExtension } from "./registerExtension.js";
|
|
17
|
+
export type { RegisterExtensionOptions } from "./registerExtension.js";
|
|
18
|
+
export type { ExtensionManifestEntry, LoadedExtensionManifest, RegisterFromManifestOptions, } from "./registerFromManifest.js";
|
|
19
|
+
export { resolveExtensionPackageRoot } from "./resolvePackageRoot.js";
|
|
20
|
+
export { overrideWithConfig } from "./overrideWithConfig.js";
|
|
21
|
+
export { getGroupNamePrefixes } from "./support/groupPrefix.js";
|
|
22
|
+
export type { GroupPrefixOptions, ResolvedOnlyNamePrefixes, } from "./support/groupPrefix.js";
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/extension/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,YAAY,EACV,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EACV,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load tool.yaml for a given tool. Path: packageRoot / dirname(sourcePath) / basename(sourcePath).tool.yaml
|
|
3
|
+
* Returns default args (and config) for the tool, or undefined if file missing or no matching entry.
|
|
4
|
+
* If tool.defaults exists (same level as tool.list), it is merged first; list item fields override.
|
|
5
|
+
*/
|
|
6
|
+
export declare function loadToolYaml(packageRoot: string, sourcePath: string): Record<string, unknown> | undefined;
|
|
7
|
+
//# sourceMappingURL=loadToolYaml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadToolYaml.d.ts","sourceRoot":"","sources":["../../../src/api/extension/loadToolYaml.ts"],"names":[],"mappings":"AAkBA;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAiCrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overrideWithConfig.d.ts","sourceRoot":"","sources":["../../../src/api/extension/overrideWithConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One-shot: load pre-built manifest from package, register all specs, create adapter.
|
|
3
|
+
* Framework does NOT scan source for @tool; it reads manifest (e.g. core-tools-manifest.json)
|
|
4
|
+
* produced by the extension's build. Extension passes packagePath, config, getContextRunner.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolAdapter } from "../../core/types/ToolSpec.js";
|
|
7
|
+
import type { ToolRegistry } from "../../core/registry/ToolRegistry.js";
|
|
8
|
+
import type { ExecContext } from "../../core/types/ToolIntent.js";
|
|
9
|
+
import type { ContextRunner } from "./contextRunner.js";
|
|
10
|
+
export interface RegisterExtensionOptions<TContext> {
|
|
11
|
+
/** Package root (e.g. __dirname of extension's entry). Manifest is read from here. */
|
|
12
|
+
packagePath: string;
|
|
13
|
+
/** Tool kind; if omitted, uses manifest.kind or "extension". */
|
|
14
|
+
kind?: string;
|
|
15
|
+
/** Optional default config; merged with each tool's tool.yaml (spec._meta.defaultArgs). Context config = { ...config, ...toolDefaultArgs }. */
|
|
16
|
+
config?: unknown;
|
|
17
|
+
/** Returns the context runner (extension's createContextRunner()). */
|
|
18
|
+
getContextRunner: () => ContextRunner<TContext>;
|
|
19
|
+
/** Filter: only register these tool names. */
|
|
20
|
+
only?: string[];
|
|
21
|
+
/** Filter: only register tools whose name starts with one of these prefixes. */
|
|
22
|
+
namePrefixes?: string[];
|
|
23
|
+
}
|
|
24
|
+
export declare function deriveConfigPrefixCandidates(prefixWithVersion: string): string[];
|
|
25
|
+
/**
|
|
26
|
+
* Load manifest from package (pre-built JSON; no @tool scanning). Register all specs, create and return adapter.
|
|
27
|
+
*/
|
|
28
|
+
export declare function registerExtension<TContext extends {
|
|
29
|
+
execCtx: ExecContext;
|
|
30
|
+
config: unknown;
|
|
31
|
+
}>(registry: ToolRegistry, options: RegisterExtensionOptions<TContext>): ToolAdapter;
|
|
32
|
+
//# sourceMappingURL=registerExtension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerExtension.d.ts","sourceRoot":"","sources":["../../../src/api/extension/registerExtension.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,MAAM,WAAW,wBAAwB,CAAC,QAAQ;IAChD,sFAAsF;IACtF,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+IAA+I;IAC/I,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,4BAA4B,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,CAUhF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,EAC1F,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,wBAAwB,CAAC,QAAQ,CAAC,GAC1C,WAAW,CA8Db"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ToolSpec, HitlSideEffect } from "../../core/types/ToolSpec.js";
|
|
2
|
+
import type { ToolRegistry } from "../../core/registry/ToolRegistry.js";
|
|
3
|
+
/** Manifest entry shape (convention: extension build emits this, e.g. from @tool scan). */
|
|
4
|
+
export interface ExtensionManifestEntry {
|
|
5
|
+
/** Tool name (e.g. "exec.runCommand"). Legacy manifests may have coreName instead. */
|
|
6
|
+
name?: string;
|
|
7
|
+
/** @deprecated Use name instead. Legacy: e.g. "core/src.exec.runCommand". */
|
|
8
|
+
coreName?: string;
|
|
9
|
+
description: string;
|
|
10
|
+
inputSchema: object;
|
|
11
|
+
outputSchema: object;
|
|
12
|
+
sourcePath: string;
|
|
13
|
+
exportName: string;
|
|
14
|
+
sideEffect: HitlSideEffect;
|
|
15
|
+
}
|
|
16
|
+
/** Loaded manifest: entries + optional kind from manifest file. */
|
|
17
|
+
export interface LoadedExtensionManifest {
|
|
18
|
+
kind?: string;
|
|
19
|
+
entries: ExtensionManifestEntry[];
|
|
20
|
+
}
|
|
21
|
+
export interface RegisterFromManifestOptions {
|
|
22
|
+
/** Path to manifest JSON (or directory containing core-tools-manifest.json). */
|
|
23
|
+
manifestPathOrDir: string;
|
|
24
|
+
/** Tool kind; if omitted, uses manifest.kind or "extension". */
|
|
25
|
+
kind?: string;
|
|
26
|
+
/** Filter: only register these tool names. */
|
|
27
|
+
only?: string[];
|
|
28
|
+
/** Filter: only register tools whose name starts with one of these prefixes. */
|
|
29
|
+
namePrefixes?: string[];
|
|
30
|
+
/** Extension package root (e.g. dist); when set, loads <base>.tool.yaml per tool and sets defaultArgs in _meta. */
|
|
31
|
+
packageRoot?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Load manifest from path. Supports array or { kind?, tools: ExtensionManifestEntry[] }.
|
|
35
|
+
* Returns entries + optional kind so framework can use dynamic kind from manifest.
|
|
36
|
+
*/
|
|
37
|
+
export declare function loadExtensionManifest(manifestPathOrDir: string): LoadedExtensionManifest;
|
|
38
|
+
/**
|
|
39
|
+
* Register tools from a manifest with the registry. Returns the list of registered specs.
|
|
40
|
+
* Extension packages call this from their register (or equivalent) with their package root.
|
|
41
|
+
*/
|
|
42
|
+
export declare function registerToolsFromManifest(registry: ToolRegistry, options: RegisterFromManifestOptions): ToolSpec[];
|
|
43
|
+
//# sourceMappingURL=registerFromManifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerFromManifest.d.ts","sourceRoot":"","sources":["../../../src/api/extension/registerFromManifest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,2FAA2F;AAC3F,MAAM,WAAW,sBAAsB;IACrC,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,2BAA2B;IAC1C,gFAAgF;IAChF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,mHAAmH;IACnH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,GAAG,uBAAuB,CAgBxF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,2BAA2B,GACnC,QAAQ,EAAE,CA4CZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolvePackageRoot.d.ts","sourceRoot":"","sources":["../../../src/api/extension/resolvePackageRoot.ts"],"names":[],"mappings":"AAQA,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAMzE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert "groups" + "only" options and a group→prefix map into only/namePrefixes for registerToolsFromManifest.
|
|
3
|
+
* Extensions define their own group names and prefixes (e.g. fs -> "core/fs.").
|
|
4
|
+
*/
|
|
5
|
+
export interface GroupPrefixOptions {
|
|
6
|
+
/** Only register tools in these groups (e.g. ["fs", "http"]). */
|
|
7
|
+
groups?: string[];
|
|
8
|
+
/** Only register these tool names. Takes precedence over groups. */
|
|
9
|
+
only?: string[];
|
|
10
|
+
/** Map group name -> name prefix (e.g. { fs: "core/fs.", http: "core/http." }). */
|
|
11
|
+
groupPrefixMap: Record<string, string>;
|
|
12
|
+
}
|
|
13
|
+
export interface ResolvedOnlyNamePrefixes {
|
|
14
|
+
only?: string[];
|
|
15
|
+
namePrefixes?: string[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Resolve groups/only + groupPrefixMap to only and namePrefixes for registerToolsFromManifest.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getGroupNamePrefixes(options: GroupPrefixOptions): ResolvedOnlyNamePrefixes;
|
|
21
|
+
//# sourceMappingURL=groupPrefix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupPrefix.d.ts","sourceRoot":"","sources":["../../../../src/api/extension/support/groupPrefix.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mFAAmF;IACnF,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,wBAAwB,CAW1F"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic extension types: context shape, handler signature.
|
|
3
|
+
* ExtensionToolResult lives in dynamicImportAdapter (same shape).
|
|
4
|
+
*/
|
|
5
|
+
import type { ExecContext } from "../../../core/types/ToolIntent.js";
|
|
6
|
+
import type { ExtensionToolResult } from "../dynamicImportAdapter.js";
|
|
7
|
+
export type { ExtensionToolResult } from "../dynamicImportAdapter.js";
|
|
8
|
+
/** Generic extension context: execCtx + config. Config type is extension-specific. */
|
|
9
|
+
export interface ExtensionToolContext<TConfig = unknown> {
|
|
10
|
+
execCtx: ExecContext;
|
|
11
|
+
config: TConfig;
|
|
12
|
+
}
|
|
13
|
+
/** Generic extension handler signature (args only; context via getContext()). */
|
|
14
|
+
export type ExtensionToolHandler = (args: any) => Promise<ExtensionToolResult>;
|
|
15
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/api/extension/support/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,sFAAsF;AACtF,MAAM,WAAW,oBAAoB,CAAC,OAAO,GAAG,OAAO;IACrD,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,iFAAiF;AACjF,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type CreateAgentToolsOptions } from "./createAgentTools.js";
|
|
2
|
+
import type { StructuredToolInterface } from "@langchain/core/tools";
|
|
3
|
+
export interface CreateAgentToolsModuleOptions extends CreateAgentToolsOptions {
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Preferred async tool initializer for application bootstrap.
|
|
7
|
+
*
|
|
8
|
+
* Sets:
|
|
9
|
+
* - AgentContextTokens.Tools → StructuredToolInterface[]
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* await createAgentTools("config/tool.yaml");
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function createAgentTools(configPathOrOptions?: string | CreateAgentToolsModuleOptions): Promise<StructuredToolInterface[]>;
|
|
17
|
+
//# sourceMappingURL=register-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-tools.d.ts","sourceRoot":"","sources":["../../src/api/register-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrE,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;CAAG;AAEjF;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,mBAAmB,CAAC,EAAE,MAAM,GAAG,6BAA6B,GAC3D,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAQpC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface ResolveAgentSkillRootsOptions {
|
|
2
|
+
configFilePath: string;
|
|
3
|
+
skillPath?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function resolveAgentSkillRoots(options: ResolveAgentSkillRootsOptions): string[];
|
|
6
|
+
export declare const resolveAgentSkillRootsFromToolConfig: typeof resolveAgentSkillRoots;
|
|
7
|
+
//# sourceMappingURL=resolveAgentSkillRoots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveAgentSkillRoots.d.ts","sourceRoot":"","sources":["../../src/api/resolveAgentSkillRoots.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiFD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,MAAM,EAAE,CAUvF;AAED,eAAO,MAAM,oCAAoC,+BAAyB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { parseNpmDescriptor } from "./runtimeFromConfig.helpers.js";
|
|
2
|
+
import { type CreateRuntimeOptions, type CreateRuntimeResult, type LoadedExtension } from "./runtimeFromConfig.types.js";
|
|
3
|
+
export { DEFAULT_EXTENSION_PACKAGES, type CoreToolsUserConfig, type ExampleToolsUserConfig, type CreateRuntimeOptions, type CreateRuntimeResult, type LoadedExtension, } from "./runtimeFromConfig.types.js";
|
|
4
|
+
export { parseNpmDescriptor };
|
|
5
|
+
/** Load all extensions for npm: entries in tool.yaml (sync). Same package at different versions each get one entry. */
|
|
6
|
+
export declare function loadAllExtensionsFromToolYamlSync(configFilePath: string, stepLog?: (message: string) => void): LoadedExtension[];
|
|
7
|
+
/**
|
|
8
|
+
* Create runtime and registry synchronously. Registers core/example adapters
|
|
9
|
+
* only when coreTools/exampleTools are provided (opt-in). If extension packages
|
|
10
|
+
* are not installed, those adapters are skipped (runtime still works with empty/minimal tools).
|
|
11
|
+
*/
|
|
12
|
+
export declare function createRuntimeFromConfigSync(options?: CreateRuntimeOptions): CreateRuntimeResult;
|
|
13
|
+
/**
|
|
14
|
+
* Create runtime and registry asynchronously. When configFilePath (tool.yaml) lists npm: packages:
|
|
15
|
+
* 1. Try loading from project node_modules (sync, fast).
|
|
16
|
+
* 2. If not found, dynamically load from cache: fetch via npm pack into cache, then dynamic import (works for ESM).
|
|
17
|
+
* 3. Otherwise fall back to sync path (DEFAULT_EXTENSION_PACKAGES, sync cache).
|
|
18
|
+
*/
|
|
19
|
+
export declare function createRuntimeFromConfig(options?: CreateRuntimeOptions): Promise<CreateRuntimeResult>;
|
|
20
|
+
//# sourceMappingURL=runtimeFromConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeFromConfig.d.ts","sourceRoot":"","sources":["../../src/api/runtimeFromConfig.ts"],"names":[],"mappings":"AA0BA,OAAO,EAML,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,8BAA8B,CAAC;AAgDtC,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAuH9B,uHAAuH;AACvH,wBAAgB,iCAAiC,CAC/C,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,eAAe,EAAE,CAmBnB;AAsID;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAwDnG;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAgD9B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ToolAdapter, ToolKind } from "../core/types/ToolSpec.js";
|
|
2
|
+
import type { ToolRegistry } from "../core/registry/ToolRegistry.js";
|
|
3
|
+
export declare function getProjectRequire(): NodeRequire | null;
|
|
4
|
+
export declare function findNearestPackageJson(startDir: string): string | null;
|
|
5
|
+
export declare function getInstalledPackageVersion(packageName: string): string | null;
|
|
6
|
+
export declare function createLocalDirectoryAdapter(kind: ToolKind): ToolAdapter;
|
|
7
|
+
export declare function createPrefixingRegistry(registry: ToolRegistry, prefix: string): ToolRegistry;
|
|
8
|
+
export declare function parseNpmDescriptor(entry: string): {
|
|
9
|
+
packageName: string;
|
|
10
|
+
version: string;
|
|
11
|
+
} | null;
|
|
12
|
+
//# sourceMappingURL=runtimeFromConfig.helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeFromConfig.helpers.d.ts","sourceRoot":"","sources":["../../src/api/runtimeFromConfig.helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAY,MAAM,2BAA2B,CAAC;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAIrE,wBAAgB,iBAAiB,IAAI,WAAW,GAAG,IAAI,CAKtD;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAStE;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe7E;AAoBD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,CAwFvE;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,GACb,YAAY,CAoCd;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQjG"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ToolRegistry } from "../core/registry/ToolRegistry.js";
|
|
2
|
+
import type { PTCRuntime } from "../core/runtime/PTCRuntime.js";
|
|
3
|
+
export declare const DEFAULT_EXTENSION_PACKAGES: string[];
|
|
4
|
+
export interface CoreToolsUserConfig {
|
|
5
|
+
sandboxRoot?: string;
|
|
6
|
+
enableSandboxValidation?: boolean;
|
|
7
|
+
allowedHosts?: string[];
|
|
8
|
+
blockedHosts?: string[];
|
|
9
|
+
blockedCidrs?: string[];
|
|
10
|
+
toolOverrides?: Record<string, Record<string, unknown>>;
|
|
11
|
+
packageDefaults?: Record<string, Record<string, unknown>>;
|
|
12
|
+
services?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
export interface ExampleToolsUserConfig {
|
|
15
|
+
allowedHosts?: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface CreateRuntimeOptions {
|
|
18
|
+
configFilePath?: string;
|
|
19
|
+
projectPath?: string;
|
|
20
|
+
coreTools?: CoreToolsUserConfig;
|
|
21
|
+
exampleTools?: ExampleToolsUserConfig;
|
|
22
|
+
stepLog?: (message: string) => void;
|
|
23
|
+
}
|
|
24
|
+
export interface CreateRuntimeResult {
|
|
25
|
+
runtime: PTCRuntime;
|
|
26
|
+
registry: ToolRegistry;
|
|
27
|
+
}
|
|
28
|
+
type RegisterFn = (r: ToolRegistry, c: CoreToolsUserConfig) => unknown;
|
|
29
|
+
export type LoadedExtension = {
|
|
30
|
+
register: RegisterFn;
|
|
31
|
+
descriptor: string;
|
|
32
|
+
resolvedVersion: string;
|
|
33
|
+
packageRoot: string;
|
|
34
|
+
};
|
|
35
|
+
export type RuntimeRegisterFn = RegisterFn;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=runtimeFromConfig.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeFromConfig.types.d.ts","sourceRoot":"","sources":["../../src/api/runtimeFromConfig.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,eAAO,MAAM,0BAA0B,EAAE,MAAM,EAAO,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,KAAK,UAAU,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AACzH,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC"}
|