@powerhousedao/reactor-mcp 4.1.0-dev.2 → 4.1.0-dev.21

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 (51) hide show
  1. package/dist/src/cli.js +7 -3
  2. package/dist/src/cli.js.map +1 -1
  3. package/dist/src/express.d.ts +5 -0
  4. package/dist/src/express.d.ts.map +1 -0
  5. package/dist/src/express.js +59 -0
  6. package/dist/src/express.js.map +1 -0
  7. package/dist/src/index.d.ts +1 -1
  8. package/dist/src/index.d.ts.map +1 -1
  9. package/dist/src/index.js +1 -10
  10. package/dist/src/index.js.map +1 -1
  11. package/dist/src/logger.d.ts +3 -0
  12. package/dist/src/logger.d.ts.map +1 -0
  13. package/dist/src/logger.js +3 -0
  14. package/dist/src/logger.js.map +1 -0
  15. package/dist/src/sdk/chat.d.ts +19 -0
  16. package/dist/src/sdk/chat.d.ts.map +1 -0
  17. package/dist/src/sdk/chat.js +60 -0
  18. package/dist/src/sdk/chat.js.map +1 -0
  19. package/dist/src/server.d.ts +3 -2
  20. package/dist/src/server.d.ts.map +1 -1
  21. package/dist/src/server.js +38 -762
  22. package/dist/src/server.js.map +1 -1
  23. package/dist/src/stdio/index.d.ts +7 -0
  24. package/dist/src/stdio/index.d.ts.map +1 -0
  25. package/dist/src/stdio/index.js +84 -0
  26. package/dist/src/stdio/index.js.map +1 -0
  27. package/dist/src/stdio/loader.d.ts +18 -0
  28. package/dist/src/stdio/loader.d.ts.map +1 -0
  29. package/dist/src/stdio/loader.js +86 -0
  30. package/dist/src/stdio/loader.js.map +1 -0
  31. package/dist/src/tools/reactor.d.ts +847 -0
  32. package/dist/src/tools/reactor.d.ts.map +1 -0
  33. package/dist/src/tools/reactor.js +462 -0
  34. package/dist/src/tools/reactor.js.map +1 -0
  35. package/dist/src/tools/types.d.ts +24 -0
  36. package/dist/src/tools/types.d.ts.map +1 -0
  37. package/dist/src/tools/types.js +2 -0
  38. package/dist/src/tools/types.js.map +1 -0
  39. package/dist/src/tools/utils.d.ts +23 -0
  40. package/dist/src/tools/utils.d.ts.map +1 -0
  41. package/dist/src/{utils.js → tools/utils.js} +46 -3
  42. package/dist/src/tools/utils.js.map +1 -0
  43. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  44. package/package.json +18 -9
  45. package/dist/src/reactor.d.ts +0 -43
  46. package/dist/src/reactor.d.ts.map +0 -1
  47. package/dist/src/reactor.js +0 -142
  48. package/dist/src/reactor.js.map +0 -1
  49. package/dist/src/utils.d.ts +0 -10
  50. package/dist/src/utils.d.ts.map +0 -1
  51. package/dist/src/utils.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/reactor-mcp",
3
- "version": "4.1.0-dev.2",
3
+ "version": "4.1.0-dev.21",
4
4
  "description": "MCP server for document model operations in the Powerhouse ecosystem. For document model creation tasks, consider using the document-model-creator agent which provides a more guided experience.",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -9,7 +9,7 @@
9
9
  "url": "https://github.com/powerhouse-inc/powerhouse"
10
10
  },
11
11
  "exports": {
12
- ".": "./dist/index.js"
12
+ "./*": "./dist/src/*.js"
13
13
  },
14
14
  "imports": {
15
15
  "#*": "./dist/src/*"
@@ -27,23 +27,32 @@
27
27
  "keywords": [],
28
28
  "author": "",
29
29
  "license": "AGPL-3.0-only",
30
- "devDependencies": {
31
- "@types/node": "^22.15.17"
32
- },
33
30
  "dependencies": {
31
+ "@ai-sdk/openai": "^2.0.0",
34
32
  "@modelcontextprotocol/sdk": "^1.17.0",
33
+ "ai": "^5.0.0",
35
34
  "change-case": "^5.4.4",
35
+ "express": "^4.21.1",
36
+ "vite": "^6.3.5",
36
37
  "zod": "^3.24.3",
37
- "@powerhousedao/codegen": "4.1.0-dev.2",
38
- "@powerhousedao/config": "4.1.0-dev.2",
39
- "document-drive": "4.1.0-dev.2",
40
- "document-model": "4.1.0-dev.2"
38
+ "@powerhousedao/codegen": "4.1.0-dev.21",
39
+ "@powerhousedao/config": "4.1.0-dev.21",
40
+ "document-drive": "4.1.0-dev.21",
41
+ "document-model": "4.1.0-dev.21"
42
+ },
43
+ "devDependencies": {
44
+ "@types/express": "^5.0.0",
45
+ "@types/node": "^22.15.17",
46
+ "vitest": "^3.1.2"
41
47
  },
42
48
  "scripts": {
43
49
  "build": "tsc --build",
44
50
  "build:tsc": "tsc --build",
45
51
  "prebuild": "npm run clean",
46
52
  "lint": "eslint",
53
+ "test": "vitest run",
54
+ "test:run": "vitest run",
55
+ "test:watch": "vitest",
47
56
  "bench": "vitest bench",
48
57
  "clean": "rimraf dist",
49
58
  "clean:node_modules": "rimraf node_modules"
@@ -1,43 +0,0 @@
1
- import { type IDocumentDriveServer } from "document-drive";
2
- import { type IOperationResult } from "document-drive/server/types";
3
- import { type Action, type DocumentModelAction, type DocumentModelDocument, type DocumentModelModule, type DocumentModelState, type PHDocument } from "document-model";
4
- export interface IReactorMcp {
5
- getDocument(id: string): Promise<PHDocument>;
6
- getDocuments(): Promise<string[]>;
7
- createDocument(documentType: string, name: string): Promise<{
8
- id: string;
9
- document: PHDocument;
10
- }>;
11
- addAction(documentId: string, action: Action): Promise<IOperationResult>;
12
- }
13
- export interface IDocumentModelMcp {
14
- getDocumentModel(name: string): Promise<DocumentModelState>;
15
- getDocumentModels(): Promise<Record<string, DocumentModelState>>;
16
- createDocumentModel(name: string): Promise<DocumentModelDocument>;
17
- addDocumentModelAction(name: string, action: DocumentModelAction): Promise<IOperationResult<DocumentModelDocument>>;
18
- }
19
- declare class ReactorMcp implements IReactorMcp {
20
- protected reactor: IDocumentDriveServer;
21
- protected driveSlug: string;
22
- constructor(reactor: IDocumentDriveServer, driveSlug?: string);
23
- init(): Promise<void>;
24
- protected getDocumentModelModule(documentType: string): DocumentModelModule;
25
- createDocument(documentType: string, name: string): Promise<{
26
- id: string;
27
- document: PHDocument;
28
- }>;
29
- getDocument(id: string): Promise<PHDocument>;
30
- getDocuments(): Promise<string[]>;
31
- addAction(documentId: string, action: Action): Promise<IOperationResult>;
32
- protected getDocumentModelByName(name: string): Promise<DocumentModelDocument>;
33
- }
34
- export declare class DocumentModelMcp extends ReactorMcp implements IDocumentModelMcp {
35
- getDocumentModel(name: string): Promise<DocumentModelState>;
36
- getDocumentModels(): Promise<Record<string, DocumentModelState>>;
37
- createDocumentModel(name: string): Promise<DocumentModelDocument>;
38
- addDocumentModelAction(name: string, action: DocumentModelAction): Promise<IOperationResult<DocumentModelDocument>>;
39
- }
40
- export declare function initReactorMcp(): Promise<ReactorMcp>;
41
- export declare function initDocumentModelMcp(): Promise<DocumentModelMcp>;
42
- export {};
43
- //# sourceMappingURL=reactor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,cAAc,CACZ,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IACjD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5D,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACjE,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClE,sBAAsB,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC;CACrD;AAED,cAAM,UAAW,YAAW,WAAW;IAEnC,SAAS,CAAC,OAAO,EAAE,oBAAoB;IAEvC,SAAS,CAAC,SAAS,EAAE,MAAM;gBAFjB,OAAO,EAAE,oBAAoB,EAE7B,SAAS,GAAE,MAAuB;IAGxC,IAAI;IAkBV,SAAS,CAAC,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,mBAAmB;IAWrE,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,CAAC;IA6BhD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAItC,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKjC,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC;cAYZ,sBAAsB,CACpC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,CAAC;CAgBlC;AAED,qBAAa,gBAAiB,SAAQ,UAAW,YAAW,iBAAiB;IACrE,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAK3D,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAsBhE,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAQjE,sBAAsB,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;CAOpD;AAeD,wBAAsB,cAAc,wBAKnC;AAED,wBAAsB,oBAAoB,8BAKzC"}
@@ -1,142 +0,0 @@
1
- import { addFile, driveDocumentModelModule, isFileNode, ReactorBuilder, } from "document-drive";
2
- import { FilesystemStorage } from "document-drive/storage/filesystem";
3
- import { documentModelDocumentModelModule, } from "document-model";
4
- import * as z from "document-model/document-model/gen/schema/zod";
5
- import { validateDocumentModelAction } from "./utils.js";
6
- const MCP_DRIVE_SLUG = "mcp";
7
- class ReactorMcp {
8
- reactor;
9
- driveSlug;
10
- constructor(reactor,
11
- // slug of the drive to store document models
12
- driveSlug = MCP_DRIVE_SLUG) {
13
- this.reactor = reactor;
14
- this.driveSlug = driveSlug;
15
- }
16
- async init() {
17
- try {
18
- const driveId = await this.reactor.getDriveIdBySlug(this.driveSlug);
19
- if (driveId) {
20
- return;
21
- }
22
- }
23
- catch {
24
- /* create drive */
25
- }
26
- await this.reactor.addDrive({
27
- slug: this.driveSlug,
28
- global: {
29
- name: "MCP",
30
- },
31
- });
32
- }
33
- getDocumentModelModule(documentType) {
34
- const documentModels = this.reactor.getDocumentModelModules();
35
- const documentModelModule = documentModels.find((m) => m.documentModel.id === documentType);
36
- if (!documentModelModule) {
37
- throw new Error(`Document model '${documentType}' not found`);
38
- }
39
- return documentModelModule;
40
- }
41
- async createDocument(documentType, name) {
42
- const documentModelModule = this.getDocumentModelModule(documentType);
43
- const document = documentModelModule.utils.createDocument();
44
- document.header.name = name;
45
- const result = await this.reactor.addDocument(document);
46
- const driveId = await this.reactor.getDriveIdBySlug(this.driveSlug);
47
- const addResult = await this.reactor.addAction(driveId, addFile({
48
- id: result.header.id,
49
- documentType: document.header.documentType,
50
- name,
51
- }));
52
- const opError = addResult.operations.at(-1)?.error;
53
- if (addResult.status !== "SUCCESS") {
54
- throw new Error(addResult.error?.message);
55
- }
56
- else if (opError) {
57
- throw new Error(opError);
58
- }
59
- return {
60
- id: result.header.id,
61
- document,
62
- };
63
- }
64
- getDocument(id) {
65
- return this.reactor.getDocument(id);
66
- }
67
- async getDocuments() {
68
- const driveId = await this.reactor.getDriveIdBySlug(this.driveSlug);
69
- return this.reactor.getDocuments(driveId);
70
- }
71
- async addAction(documentId, action) {
72
- const document = await this.getDocument(documentId);
73
- const documentModelModule = this.getDocumentModelModule(document.header.documentType);
74
- const result = validateDocumentModelAction(documentModelModule, action);
75
- if (!result.isValid) {
76
- throw new Error(result.errors.join(", "));
77
- }
78
- return this.reactor.addAction(documentId, action);
79
- }
80
- async getDocumentModelByName(name) {
81
- const drive = await this.reactor.getDriveBySlug(this.driveSlug);
82
- const id = drive.state.global.nodes.find((n) => n.name === name &&
83
- isFileNode(n) &&
84
- n.documentType === documentModelDocumentModelModule.documentModel.id)?.id;
85
- if (!id) {
86
- throw new Error(`Document model ${name} not found`);
87
- }
88
- const document = await this.reactor.getDocument(id);
89
- z.DocumentModelStateSchema().parse(document.state.global);
90
- return document;
91
- }
92
- }
93
- export class DocumentModelMcp extends ReactorMcp {
94
- async getDocumentModel(name) {
95
- const document = await this.getDocumentModelByName(name);
96
- return document.state.global;
97
- }
98
- async getDocumentModels() {
99
- const drive = await this.reactor.getDriveBySlug(this.driveSlug);
100
- const documents = drive.state.global.nodes.filter((n) => isFileNode(n) &&
101
- n.documentType === documentModelDocumentModelModule.documentModel.id);
102
- const documentModels = await Promise.allSettled(documents.map((d) => this.getDocumentModelByName(d.name)));
103
- return documentModels
104
- .filter((d) => d.status === "fulfilled")
105
- .map((d) => d.value)
106
- .reduce((acc, documentModel) => {
107
- acc[documentModel.header.name] = documentModel.state.global;
108
- return acc;
109
- }, {});
110
- }
111
- async createDocumentModel(name) {
112
- const result = await this.createDocument(documentModelDocumentModelModule.documentModel.id, name);
113
- return result.document;
114
- }
115
- async addDocumentModelAction(name, action) {
116
- const document = await this.getDocumentModelByName(name);
117
- return (await this.addAction(document.header.id, action));
118
- }
119
- }
120
- async function createReactor() {
121
- const storage = new FilesystemStorage("./.ph/mcp/storage");
122
- const builder = new ReactorBuilder([
123
- documentModelDocumentModelModule,
124
- driveDocumentModelModule,
125
- ]).withStorage(storage);
126
- const reactor = builder.build();
127
- await reactor.initialize();
128
- return reactor;
129
- }
130
- export async function initReactorMcp() {
131
- const reactor = await createReactor();
132
- const reactorMcp = new ReactorMcp(reactor);
133
- await reactorMcp.init();
134
- return reactorMcp;
135
- }
136
- export async function initDocumentModelMcp() {
137
- const reactor = await createReactor();
138
- const documentModelMcp = new DocumentModelMcp(reactor);
139
- await documentModelMcp.init();
140
- return documentModelMcp;
141
- }
142
- //# sourceMappingURL=reactor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { type Action, type DocumentModelModule } from "document-model";
2
- /**
3
- * Validates a document model action against the document model state.
4
- * Checks if the action type is valid and the input structure is correct.
5
- */
6
- export declare function validateDocumentModelAction(documentModelModule: DocumentModelModule, action: Action): {
7
- isValid: boolean;
8
- errors: string[];
9
- };
10
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGvE;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,EAAE,MAAM,GACb;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAyExC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,mBAAwC,EACxC,MAAc;IAEd,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,aAAa,CAAC;IAE7D,+BAA+B;IAC/B,IACE,CAAC,kBAAkB,CAAC,cAAc;QAClC,kBAAkB,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAC9C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,UAAU,GACd,kBAAkB,CAAC,cAAc,CAC/B,kBAAkB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAC7C,CAAC;IAEJ,sGAAsG;IACtG,IAAI,SAAS,GAAqB,IAAI,CAAC;IAEvC,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,GAAG,OAAO,CAAC;YACpB,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CACT,cAAc,MAAM,CAAC,IAAI,sDAAsD,CAChF,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IAED,sFAAsF;IACtF,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEnD,gEAAgE;IAChE,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEvE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CACT,mBAAmB,mBAAmB,sBAAsB,MAAM,CAAC,IAAI,8DAA8D,CACtI,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IAED,kDAAkD;IAClD,IAAI,UAAU,GAAiB,IAAI,CAAC;IACpC,IAAI,CAAC;QACH,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,UAAU,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,2BAA2B,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,0CAA0C;IAC1C,IAAI,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CACT,iBAAiB,MAAM,CAAC,KAAK,qCAAqC,SAAS,CAAC,KAAK,GAAG,CACrF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM;KACP,CAAC;AACJ,CAAC"}