@mallocbaal/mcp-agent-framework-ts 0.1.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.
- package/README.md +121 -0
- package/dist/app/app.d.ts +10 -0
- package/dist/app/app.d.ts.map +1 -0
- package/dist/app/app.js +19 -0
- package/dist/app/app.js.map +1 -0
- package/dist/contents/builders.d.ts +17 -0
- package/dist/contents/builders.d.ts.map +1 -0
- package/dist/contents/builders.js +46 -0
- package/dist/contents/builders.js.map +1 -0
- package/dist/contents/index.d.ts +3 -0
- package/dist/contents/index.d.ts.map +1 -0
- package/dist/contents/index.js +3 -0
- package/dist/contents/index.js.map +1 -0
- package/dist/contents/validators.d.ts +5 -0
- package/dist/contents/validators.d.ts.map +1 -0
- package/dist/contents/validators.js +22 -0
- package/dist/contents/validators.js.map +1 -0
- package/dist/dispatcher/dispatcher.d.ts +13 -0
- package/dist/dispatcher/dispatcher.d.ts.map +1 -0
- package/dist/dispatcher/dispatcher.js +34 -0
- package/dist/dispatcher/dispatcher.js.map +1 -0
- package/dist/events/types.d.ts +26 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +11 -0
- package/dist/events/types.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/jsonrpc/endpoints.d.ts +38 -0
- package/dist/jsonrpc/endpoints.d.ts.map +1 -0
- package/dist/jsonrpc/endpoints.js +91 -0
- package/dist/jsonrpc/endpoints.js.map +1 -0
- package/dist/pipeline/pipeline.d.ts +35 -0
- package/dist/pipeline/pipeline.d.ts.map +1 -0
- package/dist/pipeline/pipeline.js +77 -0
- package/dist/pipeline/pipeline.js.map +1 -0
- package/dist/schema/generated.d.ts +701 -0
- package/dist/schema/generated.d.ts.map +1 -0
- package/dist/schema/generated.js +2 -0
- package/dist/schema/generated.js.map +1 -0
- package/dist/schema/index.d.ts +2 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +2 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/transport/graphql-transport.d.ts +28 -0
- package/dist/transport/graphql-transport.d.ts.map +1 -0
- package/dist/transport/graphql-transport.js +57 -0
- package/dist/transport/graphql-transport.js.map +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { assertNonEmptyContents, assertUniqueOrder } from "../contents/validators.js";
|
|
2
|
+
import { CliFlowAction, CliFlowContinue, CliFlowInit, isActionEvent } from "../events/types.js";
|
|
3
|
+
export class Pipeline {
|
|
4
|
+
stage;
|
|
5
|
+
transport;
|
|
6
|
+
options;
|
|
7
|
+
sourceLabel;
|
|
8
|
+
constructor(stage, transport, options) {
|
|
9
|
+
this.stage = stage;
|
|
10
|
+
this.transport = transport;
|
|
11
|
+
this.options = options;
|
|
12
|
+
this.sourceLabel = options.sourceLabel ?? "mcp-agent-framework-ts";
|
|
13
|
+
}
|
|
14
|
+
buildMetadata(event, extra) {
|
|
15
|
+
return {
|
|
16
|
+
source: this.sourceLabel,
|
|
17
|
+
eventType: event.eventType,
|
|
18
|
+
eventId: event.eventId,
|
|
19
|
+
flowId: event.flowId,
|
|
20
|
+
participantId: event.participantId,
|
|
21
|
+
accountId: event.accountId,
|
|
22
|
+
...(event.metadata ?? {}),
|
|
23
|
+
...(extra ?? {})
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
async executeResult(event, result) {
|
|
27
|
+
assertNonEmptyContents(result.contents);
|
|
28
|
+
assertUniqueOrder(result.contents);
|
|
29
|
+
await this.transport.addBotMessage({
|
|
30
|
+
botId: this.options.botId,
|
|
31
|
+
chatId: event.chatId,
|
|
32
|
+
contents: result.contents,
|
|
33
|
+
metadata: this.buildMetadata(event, result.metadata)
|
|
34
|
+
});
|
|
35
|
+
if (result.action) {
|
|
36
|
+
await this.transport.sendChatAction({
|
|
37
|
+
accountId: event.accountId,
|
|
38
|
+
chatId: event.chatId,
|
|
39
|
+
participantId: event.participantId,
|
|
40
|
+
action: result.action.type,
|
|
41
|
+
data: result.action.data ?? null
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async handle(ctx, event) {
|
|
46
|
+
if (event.eventType === CliFlowInit) {
|
|
47
|
+
const result = await this.stage.processInit(ctx, event);
|
|
48
|
+
await this.executeResult(event, result);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (event.eventType === CliFlowContinue) {
|
|
52
|
+
const result = await this.stage.processContinue(ctx, event);
|
|
53
|
+
await this.executeResult(event, result);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (event.eventType === CliFlowAction) {
|
|
57
|
+
if (!isActionEvent(event)) {
|
|
58
|
+
throw new Error("CLI_FLOW_ACTION event must include actionType");
|
|
59
|
+
}
|
|
60
|
+
await this.handleAction(ctx, event);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
async handleAction(ctx, event) {
|
|
64
|
+
const actionResult = await this.stage.processAction(ctx, event);
|
|
65
|
+
await this.executeResult(event, actionResult);
|
|
66
|
+
}
|
|
67
|
+
async handleEnd(ctx, event) {
|
|
68
|
+
if (!this.stage.processEnd) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const endResult = await this.stage.processEnd(ctx, event);
|
|
72
|
+
if (endResult) {
|
|
73
|
+
await this.executeResult(event, endResult);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/pipeline/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA2BhG,MAAM,OAAO,QAAQ;IAIA;IACA;IACA;IALF,WAAW,CAAS;IAErC,YACmB,KAAsB,EACtB,SAA6B,EAC7B,OAAwB;QAFxB,UAAK,GAAL,KAAK,CAAiB;QACtB,cAAS,GAAT,SAAS,CAAoB;QAC7B,YAAO,GAAP,OAAO,CAAiB;QAEzC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,wBAAwB,CAAC;IACrE,CAAC;IAEO,aAAa,CAAC,KAAmB,EAAE,KAA+B;QACxE,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;SACjB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAAmB,EAAE,MAAuB;QACtE,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;SACrD,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;gBAClC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;gBAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAA4B,EAAE,KAAmB;QAC5D,IAAI,KAAK,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAA4B,EAAE,KAAyB;QACxE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAA4B,EAAE,KAAmB;QAC/D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;CACF"}
|