@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.
Files changed (50) hide show
  1. package/README.md +121 -0
  2. package/dist/app/app.d.ts +10 -0
  3. package/dist/app/app.d.ts.map +1 -0
  4. package/dist/app/app.js +19 -0
  5. package/dist/app/app.js.map +1 -0
  6. package/dist/contents/builders.d.ts +17 -0
  7. package/dist/contents/builders.d.ts.map +1 -0
  8. package/dist/contents/builders.js +46 -0
  9. package/dist/contents/builders.js.map +1 -0
  10. package/dist/contents/index.d.ts +3 -0
  11. package/dist/contents/index.d.ts.map +1 -0
  12. package/dist/contents/index.js +3 -0
  13. package/dist/contents/index.js.map +1 -0
  14. package/dist/contents/validators.d.ts +5 -0
  15. package/dist/contents/validators.d.ts.map +1 -0
  16. package/dist/contents/validators.js +22 -0
  17. package/dist/contents/validators.js.map +1 -0
  18. package/dist/dispatcher/dispatcher.d.ts +13 -0
  19. package/dist/dispatcher/dispatcher.d.ts.map +1 -0
  20. package/dist/dispatcher/dispatcher.js +34 -0
  21. package/dist/dispatcher/dispatcher.js.map +1 -0
  22. package/dist/events/types.d.ts +26 -0
  23. package/dist/events/types.d.ts.map +1 -0
  24. package/dist/events/types.js +11 -0
  25. package/dist/events/types.js.map +1 -0
  26. package/dist/index.d.ts +17 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +10 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/jsonrpc/endpoints.d.ts +38 -0
  31. package/dist/jsonrpc/endpoints.d.ts.map +1 -0
  32. package/dist/jsonrpc/endpoints.js +91 -0
  33. package/dist/jsonrpc/endpoints.js.map +1 -0
  34. package/dist/pipeline/pipeline.d.ts +35 -0
  35. package/dist/pipeline/pipeline.d.ts.map +1 -0
  36. package/dist/pipeline/pipeline.js +77 -0
  37. package/dist/pipeline/pipeline.js.map +1 -0
  38. package/dist/schema/generated.d.ts +701 -0
  39. package/dist/schema/generated.d.ts.map +1 -0
  40. package/dist/schema/generated.js +2 -0
  41. package/dist/schema/generated.js.map +1 -0
  42. package/dist/schema/index.d.ts +2 -0
  43. package/dist/schema/index.d.ts.map +1 -0
  44. package/dist/schema/index.js +2 -0
  45. package/dist/schema/index.js.map +1 -0
  46. package/dist/transport/graphql-transport.d.ts +28 -0
  47. package/dist/transport/graphql-transport.d.ts.map +1 -0
  48. package/dist/transport/graphql-transport.js +57 -0
  49. package/dist/transport/graphql-transport.js.map +1 -0
  50. 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":"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"}