@haibun/mcp 1.68.0 → 1.69.0

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.
Files changed (34) hide show
  1. package/README.md +66 -137
  2. package/build/lib/http-prompter-client.d.ts +19 -0
  3. package/build/lib/http-prompter-client.d.ts.map +1 -0
  4. package/build/lib/http-prompter-client.js +68 -0
  5. package/build/lib/http-prompter-client.js.map +1 -0
  6. package/build/lib/mcp-executor-server.d.ts +11 -3
  7. package/build/lib/mcp-executor-server.d.ts.map +1 -1
  8. package/build/lib/mcp-executor-server.js +132 -1
  9. package/build/lib/mcp-executor-server.js.map +1 -1
  10. package/build/mcp-client-stepper.d.ts +24 -13
  11. package/build/mcp-client-stepper.d.ts.map +1 -1
  12. package/build/mcp-client-stepper.js +251 -58
  13. package/build/mcp-client-stepper.js.map +1 -1
  14. package/build/mcp-server-stepper.d.ts +4 -3
  15. package/build/mcp-server-stepper.d.ts.map +1 -1
  16. package/build/mcp-server-stepper.js +26 -1
  17. package/build/mcp-server-stepper.js.map +1 -1
  18. package/build/mcp-test-utils.d.ts +3 -4
  19. package/build/mcp-test-utils.d.ts.map +1 -1
  20. package/build/mcp-test-utils.js +6 -5
  21. package/build/mcp-test-utils.js.map +1 -1
  22. package/package.json +3 -3
  23. package/build/lib/mcp-stepper-server.d.ts +0 -13
  24. package/build/lib/mcp-stepper-server.d.ts.map +0 -1
  25. package/build/lib/mcp-stepper-server.js +0 -91
  26. package/build/lib/mcp-stepper-server.js.map +0 -1
  27. package/build/mcp-test-stepper.d.ts +0 -9
  28. package/build/mcp-test-stepper.d.ts.map +0 -1
  29. package/build/mcp-test-stepper.js +0 -20
  30. package/build/mcp-test-stepper.js.map +0 -1
  31. package/build/test-constants.d.ts +0 -10
  32. package/build/test-constants.d.ts.map +0 -1
  33. package/build/test-constants.js +0 -14
  34. package/build/test-constants.js.map +0 -1
@@ -1,13 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- import { AStepper } from "@haibun/core/build/lib/astepper.js";
3
- import { TWorld } from "@haibun/core/build/lib/defs.js";
4
- export declare class MCPStepperServer {
5
- private steppers;
6
- private world;
7
- server: McpServer;
8
- constructor(steppers: AStepper[], world: TWorld);
9
- start(): Promise<void>;
10
- registerSteppers(): void;
11
- private createToolHandler;
12
- }
13
- //# sourceMappingURL=mcp-stepper-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-stepper-server.d.ts","sourceRoot":"","sources":["../../src/lib/mcp-stepper-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG9D,OAAO,EAAE,MAAM,EAAgB,MAAM,gCAAgC,CAAC;AAOtE,qBAAa,gBAAgB;IAEhB,OAAO,CAAC,QAAQ;IAAc,OAAO,CAAC,KAAK;IADvD,MAAM,EAAE,SAAS,CAAC;gBACE,QAAQ,EAAE,QAAQ,EAAE,EAAU,KAAK,EAAE,MAAM;IAEzD,KAAK;IAeX,gBAAgB;IA8BhB,OAAO,CAAC,iBAAiB;CAqCzB"}
@@ -1,91 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
- import { z } from "zod";
4
- import { namedInterpolation } from "@haibun/core/build/lib/namedVars.js";
5
- import { currentVersion as version } from '@haibun/core/build/currentVersion.js';
6
- import { constructorName } from "@haibun/core/build/lib/util/index.js";
7
- import { getActionableStatement } from '@haibun/core/build/phases/Resolver.js';
8
- import { FeatureExecutor } from "@haibun/core/build/phases/Executor.js";
9
- export class MCPStepperServer {
10
- steppers;
11
- world;
12
- server;
13
- constructor(steppers, world) {
14
- this.steppers = steppers;
15
- this.world = world;
16
- }
17
- async start() {
18
- this.server = new McpServer({
19
- name: "haibun-mcp",
20
- version,
21
- capabilities: {
22
- resources: {},
23
- tools: {},
24
- },
25
- });
26
- this.registerSteppers();
27
- const transport = new StdioServerTransport();
28
- await this.server.connect(transport);
29
- }
30
- registerSteppers() {
31
- for (const stepper of this.steppers) {
32
- const stepperName = constructorName(stepper);
33
- for (const [stepName, stepDef] of Object.entries(stepper.steps)) {
34
- const variables = {};
35
- if (stepDef.gwta) {
36
- const { stepVariables } = namedInterpolation(stepDef.gwta);
37
- if (Array.isArray(stepVariables)) {
38
- for (const v of stepVariables) {
39
- variables[v.name] = v.type === 'number' ? z.number() : z.string();
40
- }
41
- }
42
- }
43
- const toolDescription = {
44
- description: stepName,
45
- title: (stepDef.gwta || stepDef.match?.toString() || stepDef.exact || stepName),
46
- };
47
- if (Object.keys(variables).length > 0) {
48
- toolDescription.inputSchema = variables;
49
- }
50
- const toolName = `${stepperName}-${stepName}`;
51
- this.server.registerTool(toolName, toolDescription, this.createToolHandler(stepperName, stepName, stepDef));
52
- }
53
- }
54
- }
55
- createToolHandler(stepperName, stepName, stepDef) {
56
- return async (input) => {
57
- try {
58
- const { featureStep } = await getActionableStatement(this.steppers, stepDef.gwta || stepDef.exact || stepName, ``);
59
- const result = await FeatureExecutor.doFeatureStep(this.steppers, featureStep, this.world);
60
- return {
61
- content: [{
62
- type: "text",
63
- text: JSON.stringify({
64
- stepName,
65
- stepperName,
66
- input,
67
- result,
68
- success: result.ok !== false
69
- }, null, 2)
70
- }]
71
- };
72
- }
73
- catch (error) {
74
- const errorMessage = error instanceof Error ? error.message : String(error);
75
- return {
76
- content: [{
77
- type: "text",
78
- text: JSON.stringify({
79
- stepName,
80
- stepperName,
81
- input,
82
- error: errorMessage,
83
- success: false
84
- }, null, 2)
85
- }]
86
- };
87
- }
88
- };
89
- }
90
- }
91
- //# sourceMappingURL=mcp-stepper-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-stepper-server.js","sourceRoot":"","sources":["../../src/lib/mcp-stepper-server.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { AStepper } from '@haibun/core/build/lib/astepper.js';
2
- import { TStepperStep } from '@haibun/core/build/lib/defs.js';
3
- declare class TestStepper extends AStepper {
4
- steps: {
5
- [name: string]: TStepperStep;
6
- };
7
- }
8
- export default TestStepper;
9
- //# sourceMappingURL=mcp-test-stepper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-test-stepper.d.ts","sourceRoot":"","sources":["../src/mcp-test-stepper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAM,MAAM,gCAAgC,CAAC;AAElE,cAAM,WAAY,SAAQ,QAAQ;IACjC,KAAK,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;KAAE,CAatC;CACF;AAED,eAAe,WAAW,CAAC"}
@@ -1,20 +0,0 @@
1
- import { AStepper } from '@haibun/core/build/lib/astepper.js';
2
- import { OK } from '@haibun/core/build/lib/defs.js';
3
- class TestStepper extends AStepper {
4
- steps = {
5
- yourTestPhrasePasses: {
6
- gwta: 'your test phrase passes',
7
- action: async () => {
8
- return Promise.resolve(OK);
9
- },
10
- },
11
- yourTestPhraseFails: {
12
- gwta: 'your test phrase fails',
13
- action: async () => {
14
- return Promise.resolve(OK);
15
- },
16
- },
17
- };
18
- }
19
- export default TestStepper;
20
- //# sourceMappingURL=mcp-test-stepper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-test-stepper.js","sourceRoot":"","sources":["../src/mcp-test-stepper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAgB,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAY,SAAQ,QAAQ;IACjC,KAAK,GAAsC;QAC1C,oBAAoB,EAAE;YACrB,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;SACD;QACD,mBAAmB,EAAE;YACpB,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;SACD;KACD,CAAC;CACF;AAED,eAAe,WAAW,CAAC"}
@@ -1,10 +0,0 @@
1
- export declare const TEST_PORTS: {
2
- readonly MCP_REMOTE_EXECUTOR: 12300;
3
- readonly MCP_REMOTE_EXECUTION: 12310;
4
- readonly MCP_SERVER_STDIO: 12320;
5
- readonly MCP_CLIENT_TEST: 12330;
6
- readonly MCP_CLIENT_SERVER: 12340;
7
- readonly MCP_TOOL_EXECUTION: 12350;
8
- readonly MCP_SERVER_STEPPER: 12360;
9
- };
10
- //# sourceMappingURL=test-constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-constants.d.ts","sourceRoot":"","sources":["../src/test-constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU;;;;;;;;CASb,CAAC"}
@@ -1,14 +0,0 @@
1
- // Test port constants to avoid conflicts with live server instances
2
- // Live servers use ports 8123-8125, so tests use 12000+ range
3
- // MCP tests get 12300-12399 range
4
- export const TEST_PORTS = {
5
- // MCP tests (12300-12399) - each test gets a group of 10 ports
6
- MCP_REMOTE_EXECUTOR: 12300,
7
- MCP_REMOTE_EXECUTION: 12310,
8
- MCP_SERVER_STDIO: 12320,
9
- MCP_CLIENT_TEST: 12330,
10
- MCP_CLIENT_SERVER: 12340,
11
- MCP_TOOL_EXECUTION: 12350,
12
- MCP_SERVER_STEPPER: 12360,
13
- };
14
- //# sourceMappingURL=test-constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-constants.js","sourceRoot":"","sources":["../src/test-constants.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,8DAA8D;AAC9D,kCAAkC;AAElC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,+DAA+D;IAC/D,mBAAmB,EAAE,KAAK;IAC1B,oBAAoB,EAAE,KAAK;IAC3B,gBAAgB,EAAE,KAAK;IACvB,eAAe,EAAE,KAAK;IACtB,iBAAiB,EAAE,KAAK;IACxB,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,KAAK;CACjB,CAAC"}