@frontmcp/sdk 1.7.1 → 1.8.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 (108) hide show
  1. package/agent/agent.scope.d.ts +12 -0
  2. package/agent/agent.scope.d.ts.map +1 -1
  3. package/auth/auth.registry.d.ts.map +1 -1
  4. package/auth/flows/oauth.authorize.flow.d.ts +30 -0
  5. package/auth/flows/oauth.authorize.flow.d.ts.map +1 -1
  6. package/auth/flows/oauth.callback.flow.d.ts.map +1 -1
  7. package/auth/flows/session.verify.flow.d.ts +19 -1
  8. package/auth/flows/session.verify.flow.d.ts.map +1 -1
  9. package/auth/instances/instance.local-primary-auth.d.ts +37 -2
  10. package/auth/instances/instance.local-primary-auth.d.ts.map +1 -1
  11. package/auth/session/utils/session-id.utils.d.ts +11 -4
  12. package/auth/session/utils/session-id.utils.d.ts.map +1 -1
  13. package/builtin/config/providers/config-loader.d.ts +5 -0
  14. package/builtin/config/providers/config-loader.d.ts.map +1 -1
  15. package/common/metadata/app.metadata.d.ts +24 -0
  16. package/common/metadata/app.metadata.d.ts.map +1 -1
  17. package/common/metadata/front-mcp.metadata.d.ts +131 -14
  18. package/common/metadata/front-mcp.metadata.d.ts.map +1 -1
  19. package/common/tokens/server.tokens.d.ts +1 -0
  20. package/common/tokens/server.tokens.d.ts.map +1 -1
  21. package/common/types/options/auth/index.d.ts +4 -2
  22. package/common/types/options/auth/index.d.ts.map +1 -1
  23. package/common/types/options/transport/schema.d.ts +2 -0
  24. package/common/types/options/transport/schema.d.ts.map +1 -1
  25. package/common/utils/index.d.ts +1 -0
  26. package/common/utils/index.d.ts.map +1 -1
  27. package/common/utils/path.utils.d.ts +29 -0
  28. package/common/utils/path.utils.d.ts.map +1 -1
  29. package/common/utils/principal.utils.d.ts +29 -0
  30. package/common/utils/principal.utils.d.ts.map +1 -0
  31. package/context/frontmcp-context-storage.d.ts +3 -1
  32. package/context/frontmcp-context-storage.d.ts.map +1 -1
  33. package/context/metadata.utils.d.ts +29 -6
  34. package/context/metadata.utils.d.ts.map +1 -1
  35. package/direct/llm-platform.d.ts +2 -2
  36. package/direct/llm-platform.d.ts.map +1 -1
  37. package/errors/auth-internal.errors.d.ts +1 -1
  38. package/errors/auth-internal.errors.d.ts.map +1 -1
  39. package/errors/index.d.ts +2 -1
  40. package/errors/index.d.ts.map +1 -1
  41. package/errors/job.errors.d.ts +26 -0
  42. package/errors/job.errors.d.ts.map +1 -0
  43. package/esm/index.mjs +1359 -347
  44. package/flows/flow.instance.d.ts.map +1 -1
  45. package/front-mcp/front-mcp.d.ts.map +1 -1
  46. package/front-mcp/front-mcp.providers.d.ts +56 -4
  47. package/front-mcp/front-mcp.providers.d.ts.map +1 -1
  48. package/index.js +1767 -752
  49. package/job/execution/job-execution.manager.d.ts +15 -0
  50. package/job/execution/job-execution.manager.d.ts.map +1 -1
  51. package/job/job-permission.guard.d.ts +23 -4
  52. package/job/job-permission.guard.d.ts.map +1 -1
  53. package/job/job-scope.helper.d.ts +12 -0
  54. package/job/job-scope.helper.d.ts.map +1 -1
  55. package/job/store/job-state.interface.d.ts +6 -0
  56. package/job/store/job-state.interface.d.ts.map +1 -1
  57. package/job/tools/execute-job.tool.d.ts.map +1 -1
  58. package/job/tools/get-job-status.tool.d.ts +12 -0
  59. package/job/tools/get-job-status.tool.d.ts.map +1 -1
  60. package/job/tools/list-jobs.tool.d.ts +6 -0
  61. package/job/tools/list-jobs.tool.d.ts.map +1 -1
  62. package/job/tools/register-job.tool.d.ts +1 -0
  63. package/job/tools/register-job.tool.d.ts.map +1 -1
  64. package/job/tools/remove-job.tool.d.ts.map +1 -1
  65. package/package.json +10 -10
  66. package/scope/flows/http.request.flow.d.ts.map +1 -1
  67. package/scope/scope.instance.d.ts.map +1 -1
  68. package/scope/scope.utils.d.ts.map +1 -1
  69. package/server/adapters/express.host.adapter.d.ts +32 -0
  70. package/server/adapters/express.host.adapter.d.ts.map +1 -1
  71. package/server/middleware/host-validation.middleware.d.ts +8 -4
  72. package/server/middleware/host-validation.middleware.d.ts.map +1 -1
  73. package/server/security/host-validation.d.ts +66 -0
  74. package/server/security/host-validation.d.ts.map +1 -0
  75. package/server/security/resolve-allowed-hosts.d.ts +63 -0
  76. package/server/security/resolve-allowed-hosts.d.ts.map +1 -0
  77. package/server/server.instance.d.ts.map +1 -1
  78. package/server/server.types.d.ts +11 -6
  79. package/server/server.types.d.ts.map +1 -1
  80. package/tool/flows/call-tool.flow.d.ts +17 -1
  81. package/tool/flows/call-tool.flow.d.ts.map +1 -1
  82. package/tool/ui/ui-shared.d.ts.map +1 -1
  83. package/transport/adapters/base-sse-transport.d.ts +7 -0
  84. package/transport/adapters/base-sse-transport.d.ts.map +1 -1
  85. package/transport/adapters/transport.local.adapter.d.ts.map +1 -1
  86. package/transport/adapters/transport.streamable-http.adapter.d.ts.map +1 -1
  87. package/transport/event-stores/index.d.ts +2 -0
  88. package/transport/event-stores/index.d.ts.map +1 -1
  89. package/transport/event-stores/memory.event-store.d.ts +9 -2
  90. package/transport/event-stores/memory.event-store.d.ts.map +1 -1
  91. package/transport/event-stores/redis.event-store.d.ts +24 -3
  92. package/transport/event-stores/redis.event-store.d.ts.map +1 -1
  93. package/transport/event-stores/session-scoped.event-store.d.ts +17 -0
  94. package/transport/event-stores/session-scoped.event-store.d.ts.map +1 -0
  95. package/transport/web-fetch-handler.d.ts +22 -1
  96. package/transport/web-fetch-handler.d.ts.map +1 -1
  97. package/workflow/engine/workflow-step.executor.d.ts +12 -4
  98. package/workflow/engine/workflow-step.executor.d.ts.map +1 -1
  99. package/workflow/engine/workflow.engine.d.ts +2 -4
  100. package/workflow/engine/workflow.engine.d.ts.map +1 -1
  101. package/workflow/tools/execute-workflow.tool.d.ts.map +1 -1
  102. package/workflow/tools/get-workflow-status.tool.d.ts +12 -0
  103. package/workflow/tools/get-workflow-status.tool.d.ts.map +1 -1
  104. package/workflow/tools/list-workflows.tool.d.ts +1 -0
  105. package/workflow/tools/list-workflows.tool.d.ts.map +1 -1
  106. package/workflow/tools/register-workflow.tool.d.ts +1 -0
  107. package/workflow/tools/register-workflow.tool.d.ts.map +1 -1
  108. package/workflow/tools/remove-workflow.tool.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ui-shared.d.ts","sourceRoot":"","sources":["../../../src/tool/ui/ui-shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA0ChE,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,GAAG,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAChE;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iEAAiE;AACjE,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,QAAQ,CAAC,CAAiB;gBAEtB,QAAQ,CAAC,EAAE,cAAc;IAIrC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIjD,MAAM,IAAI,OAAO;IAIjB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAIlE;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI7D,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM;IAIjC,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC/E;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAU9B,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/E,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAc5F,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CAkC3G;AAMD,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAIlE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,qBAAqB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAIrE"}
1
+ {"version":3,"file":"ui-shared.d.ts","sourceRoot":"","sources":["../../../src/tool/ui/ui-shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA0ChE,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,GAAG,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAChE;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iEAAiE;AACjE,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,QAAQ,CAAC,CAAiB;gBAEtB,QAAQ,CAAC,EAAE,cAAc;IAIrC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIjD,MAAM,IAAI,OAAO;IAIjB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAIlE;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI7D,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM;IAIjC,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC/E;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAU9B,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/E,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAc5F,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CAkC3G;AAMD,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAeD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAIlE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,qBAAqB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAIrE"}
@@ -43,6 +43,13 @@ export declare class SSEServerTransport implements Transport {
43
43
  constructor(_endpoint: string, res: ServerResponse, options?: SSEServerTransportOptions);
44
44
  /**
45
45
  * Validates request headers for DNS rebinding protection.
46
+ *
47
+ * Since v1.7.2 the primary defence is the adapter-level Host validation, which
48
+ * runs before routing and therefore already covers `/sse` and `/message`
49
+ * (GHSA-mc9g-v2cp-vfff). These per-transport options remain for a host that
50
+ * constructs the transport directly; they delegate to the same rules so the
51
+ * two can never disagree about what a valid Host looks like.
52
+ *
46
53
  * @returns Error message if validation fails, undefined if validation passes.
47
54
  */
48
55
  private validateRequestHeaders;
@@ -1 +1 @@
1
- {"version":3,"file":"base-sse-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/adapters/base-sse-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAKtE,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,cAAc,EAEnB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAW5B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,SAAS;IAchD,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAdb,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAA4B;IAC5C,oFAAoF;IACpF,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAExE;;OAEG;gBAEO,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EAC3B,OAAO,CAAC,EAAE,yBAAyB;IAMrC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5B;;;;OAIG;IACG,iBAAiB,CACrB,GAAG,EAAE,eAAe,GAAG;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,EAC1C,GAAG,EAAE,cAAc,EACnB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC;IAiDhB;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlD;;;;OAIG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;OAKG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAGnD"}
1
+ {"version":3,"file":"base-sse-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/adapters/base-sse-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAKtE,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,cAAc,EAEnB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAY5B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,SAAS;IAchD,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAdb,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAA4B;IAC5C,oFAAoF;IACpF,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAExE;;OAEG;gBAEO,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EAC3B,OAAO,CAAC,EAAE,yBAAyB;IAMrC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5B;;;;OAIG;IACG,iBAAiB,CACrB,GAAG,EAAE,eAAe,GAAG;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,EAC1C,GAAG,EAAE,cAAc,EACnB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC;IAiDhB;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlD;;;;OAIG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;OAKG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAGnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"transport.local.adapter.d.ts","sourceRoot":"","sources":["../../../src/transport/adapters/transport.local.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.local.adapter.d.ts","sourceRoot":"","sources":["../../../src/transport/adapters/transport.local.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAGL,SAAS,EACT,KAAK,SAAS,EACd,KAAK,6BAA6B,EACnC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,0BAA0B,EAAoB,MAAM,2BAA2B,CAAC;AAI9F,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,KAAK,yCAAyC,EAAE,MAAM,6BAA6B,CAAC;AAmC7F;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B,6BAA6B,GAC7B,kBAAkB,GAClB,yCAAyC,GACzC,8BAA8B,CAAC;AAEnC,8BAAsB,qBAAqB,CAAC,CAAC,SAAS,kBAAkB;;IAqCpE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAC/B,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY;IACpC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI;IAtC1C,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IACjC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IAExC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAAC,CAKxB;IAEH;;;;OAIG;IACH,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,IAAI;IAKjG,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;gBAGG,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,MAAM,IAAI,EACxC,GAAG,EAAE,cAAc;IAOrB,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,CAAC;IAExE,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,0BAA0B,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAExF;;;;;;;;OAQG;IACH,QAAQ,CAAC,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAC1C,gBAAgB,EAAE,SAAS,EAC3B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,CAAC,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAElE,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,0BAA0B,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAE3F;;;OAGG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;OAGG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;;OAGG;IACH,wBAAwB,IAAI,IAAI;IAIhC;;;;OAIG;IACH,gBAAgB,IAAI,IAAI;IAMxB,aAAa;IAoGb,IAAI,YAAY,IAAI,SAAS,CAE5B;IAED;;;OAGG;IACH,IAAI,IAAI,IAAI,aAAa,CAExB;IAEK,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB7C;;;OAGG;IACG,IAAI,CAAC,SAAS,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAchD,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,0BAA0B,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAkE7F;;;OAGG;IACH,SAAS,KAAK,WAAW,IAAI,gBAAgB,GAAG,SAAS,CAExD;IAED;;;OAGG;IACH,SAAS,CAAC,kBAAkB,IAAI,gBAAgB;IAQhD;;;;;;;;;;;OAWG;cACa,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBpD;;;;;;;OAOG;IACH,oBAAoB,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO;IA+C9D;;;OAGG;YACW,uBAAuB;IAuBrC;;;OAGG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAyBlC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAOhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transport.streamable-http.adapter.d.ts","sourceRoot":"","sources":["../../../src/transport/adapters/transport.streamable-http.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,yCAAyC,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,GACpC,eAAe,aAAa,EAC5B,WAAW,MAAM,KAChB,CAAC,MAAM,MAAM,CAAC,GAAG,SAEnB,CAAC;AAEF,qBAAa,8BAA+B,SAAQ,qBAAqB,CAAC,yCAAyC,CAAC;IACzG,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,yCAAyC;IAgC1G,UAAU,CAAC,GAAG,EAAE,0BAA0B,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA2D/E,aAAa,CAAC,GAAG,EAAE,0BAA0B,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxF;;;;;;;;;;;;;;;;;OAiBG;IACG,iBAAiB,CAAC,CAAC,SAAS,OAAO,EACvC,gBAAgB,EAAE,SAAS,EAC3B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,CAAC,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAkHlE,IAAa,aAAa,IAAI,OAAO,CAEpC;IAED;;;;OAIG;IACM,wBAAwB,IAAI,IAAI;IAOzC;;;;;;;OAOG;IACM,iBAAiB,IAAI,IAAI;CAOnC"}
1
+ {"version":3,"file":"transport.streamable-http.adapter.d.ts","sourceRoot":"","sources":["../../../src/transport/adapters/transport.streamable-http.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAG5E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,yCAAyC,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,GACpC,eAAe,aAAa,EAC5B,WAAW,MAAM,KAChB,CAAC,MAAM,MAAM,CAAC,GAAG,SAEnB,CAAC;AAEF,qBAAa,8BAA+B,SAAQ,qBAAqB,CAAC,yCAAyC,CAAC;IACzG,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,yCAAyC;IAsC1G,UAAU,CAAC,GAAG,EAAE,0BAA0B,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA2D/E,aAAa,CAAC,GAAG,EAAE,0BAA0B,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxF;;;;;;;;;;;;;;;;;OAiBG;IACG,iBAAiB,CAAC,CAAC,SAAS,OAAO,EACvC,gBAAgB,EAAE,SAAS,EAC3B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,CAAC,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAkHlE,IAAa,aAAa,IAAI,OAAO,CAEpC;IAED;;;;OAIG;IACM,wBAAwB,IAAI,IAAI;IAOzC;;;;;;;OAOG;IACM,iBAAiB,IAAI,IAAI;CAOnC"}
@@ -44,4 +44,6 @@ export { MemoryEventStore } from './memory.event-store';
44
44
  export type { MemoryEventStoreOptions } from './memory.event-store';
45
45
  export { RedisEventStore } from './redis.event-store';
46
46
  export type { RedisEventStoreOptions } from './redis.event-store';
47
+ export { createSessionScopedEventStore } from './session-scoped.event-store';
48
+ export type { EventStoreWithLookup } from './session-scoped.event-store';
47
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/event-stores/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/event-stores/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,5 +1,4 @@
1
- import type { EventId, EventStore, StreamId } from '@frontmcp/protocol';
2
- import type { JSONRPCMessage } from '@frontmcp/protocol';
1
+ import { type EventId, type EventStore, type JSONRPCMessage, type StreamId } from '@frontmcp/protocol';
3
2
  export interface MemoryEventStoreOptions {
4
3
  /** Maximum number of events to store before eviction. Default: 10000 */
5
4
  maxEvents?: number;
@@ -24,6 +23,14 @@ export declare class MemoryEventStore implements EventStore {
24
23
  private readonly ttlMs;
25
24
  constructor(options?: MemoryEventStoreOptions);
26
25
  storeEvent(streamId: StreamId, message: JSONRPCMessage): Promise<EventId>;
26
+ /**
27
+ * Resolve the stream an event belongs to.
28
+ *
29
+ * Optional in the upstream `EventStore` contract, and the transport's
30
+ * 409-conflict guard (refusing a second live stream for the same id) is dead
31
+ * code while no store provides it (GHSA-84j6-jc92-77jm).
32
+ */
33
+ getStreamIdForEventId(eventId: EventId): Promise<StreamId | undefined>;
27
34
  replayEventsAfter(lastEventId: EventId, { send }: {
28
35
  send: (eventId: EventId, message: JSONRPCMessage) => Promise<void>;
29
36
  }): Promise<StreamId>;
@@ -1 +1 @@
1
- {"version":3,"file":"memory.event-store.d.ts","sourceRoot":"","sources":["../../../src/transport/event-stores/memory.event-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQzD,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,KAAK,CAA2D;IACxE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,OAAO,GAAE,uBAA4B;IAK3C,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBzE,iBAAiB,CACrB,WAAW,EAAE,OAAO,EACpB,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAC/E,OAAO,CAAC,QAAQ,CAAC;IAuBpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAsBnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
1
+ {"version":3,"file":"memory.event-store.d.ts","sourceRoot":"","sources":["../../../src/transport/event-stores/memory.event-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAQvG,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,KAAK,CAA2D;IACxE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,OAAO,GAAE,uBAA4B;IAK3C,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB/E;;;;;;OAMG;IACG,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAItE,iBAAiB,CACrB,WAAW,EAAE,OAAO,EACpB,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAC/E,OAAO,CAAC,QAAQ,CAAC;IAuBpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAsBnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
@@ -1,6 +1,5 @@
1
- import type { EventId, EventStore, StreamId } from '@frontmcp/protocol';
2
- import type { JSONRPCMessage } from '@frontmcp/protocol';
3
- import type { RedisOptionsInput } from '../../common';
1
+ import { type EventId, type EventStore, type JSONRPCMessage, type StreamId } from '@frontmcp/protocol';
2
+ import { type RedisOptionsInput } from '../../common';
4
3
  export interface RedisEventStoreOptions {
5
4
  /**
6
5
  * Redis configuration.
@@ -58,6 +57,14 @@ export declare class RedisEventStore implements EventStore {
58
57
  */
59
58
  private getClient;
60
59
  storeEvent(streamId: StreamId, message: JSONRPCMessage): Promise<EventId>;
60
+ /**
61
+ * Resolve the stream an event belongs to.
62
+ *
63
+ * Optional in the upstream `EventStore` contract, and the transport's
64
+ * 409-conflict guard (refusing a second live stream for the same id) is dead
65
+ * code while no store provides it (GHSA-84j6-jc92-77jm).
66
+ */
67
+ getStreamIdForEventId(eventId: EventId): Promise<StreamId | undefined>;
61
68
  replayEventsAfter(lastEventId: EventId, { send }: {
62
69
  send: (eventId: EventId, message: JSONRPCMessage) => Promise<void>;
63
70
  }): Promise<StreamId>;
@@ -67,6 +74,20 @@ export declare class RedisEventStore implements EventStore {
67
74
  * Event IDs have format: `{streamId}:{redisStreamEntryId}`
68
75
  * Redis stream entry IDs have format: `{timestamp}-{sequence}`
69
76
  *
77
+ * The entry-id half is validated because it is interpolated into the `xrange`
78
+ * range argument (`(${redisId}`), where a malformed value is a protocol error
79
+ * rather than data.
80
+ *
81
+ * The stream-id half is NOT character-filtered. `xadd`/`xrange` take the key
82
+ * as an exact argument — Redis applies no glob matching there — and ioredis
83
+ * length-prefixes it, so no character is special. Filtering here would also
84
+ * make `storeEvent`, which accepts any `StreamId`, able to mint ids this
85
+ * function then refuses, silently breaking replay for that stream. Ownership
86
+ * is enforced by the session-scoped facade (GHSA-84j6-jc92-77jm), not by
87
+ * guessing at the id's characters.
88
+ *
89
+ * @returns the pair, or `undefined` when the id is malformed.
90
+ *
70
91
  * @example
71
92
  * 'my-stream:1234567890123-0' -> ['my-stream', '1234567890123-0']
72
93
  */
@@ -1 +1 @@
1
- {"version":3,"file":"redis.event-store.d.ts","sourceRoot":"","sources":["../../../src/transport/event-stores/redis.event-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,KAAK,EAAE,iBAAiB,CAAC;IAEzB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;gBAErC,OAAO,EAAE,sBAAsB;IAO3C;;;OAGG;YACW,SAAS;IAkDjB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBzE,iBAAiB,CACrB,WAAW,EAAE,OAAO,EACpB,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAC/E,OAAO,CAAC,QAAQ,CAAC;IAqBpB;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B"}
1
+ {"version":3,"file":"redis.event-store.d.ts","sourceRoot":"","sources":["../../../src/transport/event-stores/redis.event-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEvG,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,KAAK,EAAE,iBAAiB,CAAC;IAEzB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;gBAErC,OAAO,EAAE,sBAAsB;IAO3C;;;OAGG;YACW,SAAS;IAkDjB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAqB/E;;;;;;OAMG;IACG,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAKtE,iBAAiB,CACrB,WAAW,EAAE,OAAO,EACpB,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAC/E,OAAO,CAAC,QAAQ,CAAC;IA6BpB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,YAAY;IAiBpB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B"}
@@ -0,0 +1,17 @@
1
+ import type { EventId, EventStore, StreamId } from '@frontmcp/protocol';
2
+ /**
3
+ * `EventStore` plus the optional lookup the upstream transport uses for its
4
+ * 409-conflict guard. No FrontMCP store implemented it, leaving that guard dead.
5
+ */
6
+ export interface EventStoreWithLookup extends EventStore {
7
+ getStreamIdForEventId?(eventId: EventId): Promise<StreamId | undefined>;
8
+ }
9
+ /**
10
+ * Wrap a shared store so it only ever writes to, and only ever replays, the
11
+ * streams belonging to `sessionId`.
12
+ *
13
+ * @param store - the scope-wide store every session shares.
14
+ * @param sessionId - the owning session.
15
+ */
16
+ export declare function createSessionScopedEventStore(store: EventStore, sessionId: string): EventStoreWithLookup;
17
+ //# sourceMappingURL=session-scoped.event-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-scoped.event-store.d.ts","sourceRoot":"","sources":["../../../src/transport/event-stores/session-scoped.event-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAkB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAgCxF;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,qBAAqB,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;CACzE;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,oBAAoB,CA6DxG"}
@@ -93,6 +93,7 @@ export declare function createWebFetchHandler(scope: Scope, options?: CreateWebF
93
93
  */
94
94
  export declare function runHttpRequestFlowWeb(scope: Scope, request: Request, opts?: {
95
95
  ctx?: FetchHandlerCtx;
96
+ env?: unknown;
96
97
  persistent?: WebStandardMcpPair;
97
98
  }): Promise<Response | undefined>;
98
99
  /**
@@ -101,6 +102,26 @@ export declare function runHttpRequestFlowWeb(scope: Scope, request: Request, op
101
102
  * Mirrors the Express host's route dispatch for runtimes with no middleware
102
103
  * server (Cloudflare Worker / web-fetch). Returns the rendered Web `Response`,
103
104
  * or `undefined` when no flow matches (caller 404s).
105
+ *
106
+ * Carries the worker `ctx` and `env` for the same reason `http:request` does:
107
+ * an auth or OAuth flow on a Worker reaches its bindings only through
108
+ * `ServerRequestTokens.webEnv`, and dropping them here would leave exactly the
109
+ * flows that need a KV-backed store without one.
110
+ */
111
+ export declare function runMatchingHttpFlowWeb(scope: Scope, request: Request, opts?: {
112
+ ctx?: FetchHandlerCtx;
113
+ env?: unknown;
114
+ }): Promise<Response | undefined>;
115
+ /**
116
+ * Render a recognized configuration fault as a Web `Response`, or `undefined`
117
+ * when the error is not one.
118
+ *
119
+ * Exported because a missing secret can surface on two different paths: from
120
+ * inside the `http:request` flow (a `SessionSecretRequiredError` thrown during
121
+ * `session:verify`) or out of the lazy scope build that `createFetchHandler`
122
+ * memoizes, which happens BEFORE any flow exists (a `JwtSecretRequiredError`
123
+ * thrown while the auth instance is constructed). Both must answer the same
124
+ * structured body, so both go through here.
104
125
  */
105
- export declare function runMatchingHttpFlowWeb(scope: Scope, request: Request): Promise<Response | undefined>;
126
+ export declare function misconfigurationResponse(error: unknown): Response | undefined;
106
127
  //# sourceMappingURL=web-fetch-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-fetch-handler.d.ts","sourceRoot":"","sources":["../../src/transport/web-fetch-handler.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7C;AAED,kFAAkF;AAClF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE5G;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,OAAO,EACZ,GAAG,CAAC,EAAE,eAAe,KAClB,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;AAEnC;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,2GAA2G;IAC3G,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;IACrC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2GAA2G;IAC3G,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqBD,MAAM,WAAW,4BAA4B;IAC3C;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,4BAAiC,GAAG,eAAe,CA6G/G;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,eAAe,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAO,GACpE,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAa/B;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAe1G"}
1
+ {"version":3,"file":"web-fetch-handler.d.ts","sourceRoot":"","sources":["../../src/transport/web-fetch-handler.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7C;AAED,kFAAkF;AAClF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE5G;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,OAAO,EACZ,GAAG,CAAC,EAAE,eAAe,KAClB,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;AAEnC;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,2GAA2G;IAC3G,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;IACrC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2GAA2G;IAC3G,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqBD,MAAM,WAAW,4BAA4B;IAC3C;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,4BAAiC,GAAG,eAAe,CA8I/G;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,eAAe,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAO,GACnF,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAa/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,eAAe,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAClD,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAe/B;AA2FD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAO7E"}
@@ -1,6 +1,17 @@
1
+ import type { AuthoritiesContextBuilder } from '@frontmcp/auth';
1
2
  import { type FrontMcpLogger } from '../../common/interfaces/logger.interface';
2
3
  import { type WorkflowStep, type WorkflowStepResult } from '../../common/metadata/workflow.metadata';
3
4
  import { type JobRegistryInterface } from '../../job/job.registry';
5
+ export interface WorkflowStepExecutorExtra {
6
+ authInfo: Partial<Record<string, unknown>>;
7
+ contextProviders?: unknown;
8
+ /**
9
+ * The scope's authorities context builder, so a step's permission check
10
+ * resolves roles through the server's own `claimsMapping` rather than a
11
+ * second, divergent notion of where roles live.
12
+ */
13
+ authoritiesContextBuilder?: AuthoritiesContextBuilder;
14
+ }
4
15
  /**
5
16
  * Executes a single workflow step by resolving the job and running it.
6
17
  */
@@ -8,10 +19,7 @@ export declare class WorkflowStepExecutor {
8
19
  private readonly jobRegistry;
9
20
  private readonly logger;
10
21
  private readonly extra;
11
- constructor(jobRegistry: JobRegistryInterface, logger: FrontMcpLogger, extra: {
12
- authInfo: Partial<Record<string, unknown>>;
13
- contextProviders?: unknown;
14
- });
22
+ constructor(jobRegistry: JobRegistryInterface, logger: FrontMcpLogger, extra: WorkflowStepExecutorExtra);
15
23
  executeStep(step: WorkflowStep, input: Record<string, unknown>): Promise<WorkflowStepResult>;
16
24
  private executeWithTimeout;
17
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-step.executor.d.ts","sourceRoot":"","sources":["../../../src/workflow/engine/workflow-step.executor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAGrG,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6E;gBAGjG,WAAW,EAAE,oBAAoB,EACjC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE;IAO7E,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAwCpF,kBAAkB;CAwBjC"}
1
+ {"version":3,"file":"workflow-step.executor.d.ts","sourceRoot":"","sources":["../../../src/workflow/engine/workflow-step.executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAKrG,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;CACvD;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;gBAEtC,WAAW,EAAE,oBAAoB,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,yBAAyB;IAMjG,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAwDpF,kBAAkB;CAwBjC"}
@@ -2,6 +2,7 @@ import { type FrontMcpLogger } from '../../common/interfaces/logger.interface';
2
2
  import { type WorkflowExecutionResult } from '../../common/interfaces/workflow.interface';
3
3
  import { type WorkflowMetadata } from '../../common/metadata/workflow.metadata';
4
4
  import { type JobRegistryInterface } from '../../job/job.registry';
5
+ import { type WorkflowStepExecutorExtra } from './workflow-step.executor';
5
6
  /**
6
7
  * DAG-based workflow execution engine.
7
8
  *
@@ -21,10 +22,7 @@ export declare class WorkflowEngine {
21
22
  private readonly stepExecutor;
22
23
  private readonly logger;
23
24
  private readonly maxConcurrency;
24
- constructor(metadata: WorkflowMetadata, jobRegistry: JobRegistryInterface, logger: FrontMcpLogger, extra: {
25
- authInfo: Partial<Record<string, unknown>>;
26
- contextProviders?: unknown;
27
- });
25
+ constructor(metadata: WorkflowMetadata, jobRegistry: JobRegistryInterface, logger: FrontMcpLogger, extra: WorkflowStepExecutorExtra);
28
26
  execute(workflowInput?: Record<string, unknown>): Promise<WorkflowExecutionResult>;
29
27
  /**
30
28
  * Validate the DAG: detect cycles and missing step references.
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.engine.d.ts","sourceRoot":"","sources":["../../../src/workflow/engine/workflow.engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,yCAAyC,CAAC;AAMjD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtC,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,oBAAoB,EACjC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE;IAQ7E,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAoJxF;;OAEG;IACH,OAAO,CAAC,WAAW;CA2CpB"}
1
+ {"version":3,"file":"workflow.engine.d.ts","sourceRoot":"","sources":["../../../src/workflow/engine/workflow.engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,yCAAyC,CAAC;AAMjD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAwB,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAEhG;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtC,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,oBAAoB,EACjC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,yBAAyB;IAQ5B,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAoJxF;;OAEG;IACH,OAAO,CAAC,WAAW;CA2CpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute-workflow.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/execute-workflow.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AAmBjD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,WAAW;IACpD,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;CA4B5F"}
1
+ {"version":3,"file":"execute-workflow.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/execute-workflow.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AAoBjD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,WAAW;IACpD,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;CA6B5F"}
@@ -19,5 +19,17 @@ export default class GetWorkflowStatusTool extends ToolContext {
19
19
  startedAt: number;
20
20
  completedAt: number | undefined;
21
21
  }>;
22
+ /**
23
+ * Match on the owning subject, falling back to the session for runs started
24
+ * before an owner was recorded (and for anonymous/public servers, where every
25
+ * caller has an empty subject and the session is the only identity there is).
26
+ *
27
+ * A record carrying NEITHER identity is refused. Such a run cannot be
28
+ * attributed to anyone, and its inputs and results are exactly what this check
29
+ * exists to protect — anyone holding the id would otherwise be able to read
30
+ * it. Internal callers that must read unattributed runs should go through the
31
+ * execution manager directly rather than this tool.
32
+ */
33
+ private ownsRun;
22
34
  }
23
35
  //# sourceMappingURL=get-workflow-status.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-workflow-status.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/get-workflow-status.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AA2BjD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,WAAW;IACtD,OAAO,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;CAuBvC"}
1
+ {"version":3,"file":"get-workflow-status.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/get-workflow-status.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AA4BjD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,WAAW;IACtD,OAAO,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;IA0BtC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAO;CAMhB"}
@@ -14,5 +14,6 @@ export default class ListWorkflowsTool extends ToolContext {
14
14
  }[];
15
15
  count: number;
16
16
  }>;
17
+ private maySee;
17
18
  }
18
19
  //# sourceMappingURL=list-workflows.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-workflows.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/list-workflows.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AA0BjD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IAClD,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;CAyB1F"}
1
+ {"version":3,"file":"list-workflows.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/list-workflows.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AA2BjD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IAClD,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;YAiC3E,MAAM;CAMrB"}
@@ -17,5 +17,6 @@ export default class RegisterWorkflowTool extends ToolContext {
17
17
  success: boolean;
18
18
  workflowId: string;
19
19
  }>;
20
+ private dynamicRegistrationEnabled;
20
21
  }
21
22
  //# sourceMappingURL=register-workflow.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-workflow.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/register-workflow.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AA+BjD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,WAAW;IACrD,OAAO,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;YACrB,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;QACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB;;;;CAgCF"}
1
+ {"version":3,"file":"register-workflow.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/register-workflow.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AAgCjD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,WAAW;IACrD,OAAO,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;YACrB,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;QACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB;;;;IAyCD,OAAO,CAAC,0BAA0B;CAInC"}
@@ -1 +1 @@
1
- {"version":3,"file":"remove-workflow.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/remove-workflow.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AAejD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACnD,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;;;;CAuBtC"}
1
+ {"version":3,"file":"remove-workflow.tool.d.ts","sourceRoot":"","sources":["../../../src/workflow/tools/remove-workflow.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,WAAW,EAAE,MAAM,cAAc,CAAC;AAiBjD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACnD,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;;;;CAiCtC"}