@frontmcp/sdk 1.7.0 → 1.7.2
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/agent/flows/call-agent.flow.d.ts +2 -6
- package/agent/flows/call-agent.flow.d.ts.map +1 -1
- package/auth/flows/oauth.authorize.flow.d.ts +30 -0
- package/auth/flows/oauth.authorize.flow.d.ts.map +1 -1
- package/auth/flows/oauth.callback.flow.d.ts.map +1 -1
- package/auth/instances/instance.local-primary-auth.d.ts +35 -0
- package/auth/instances/instance.local-primary-auth.d.ts.map +1 -1
- package/builtin/config/providers/config-loader.d.ts +5 -0
- package/builtin/config/providers/config-loader.d.ts.map +1 -1
- package/common/metadata/agent.metadata.d.ts +2 -2
- package/common/metadata/app.metadata.d.ts +6 -6
- package/common/metadata/flow.metadata.d.ts +4 -4
- package/common/metadata/front-mcp.metadata.d.ts +43 -31
- package/common/metadata/front-mcp.metadata.d.ts.map +1 -1
- package/common/metadata/job.metadata.d.ts +2 -2
- package/common/metadata/tool.metadata.d.ts +3 -3
- package/common/metadata/workflow.metadata.d.ts +2 -2
- package/common/schemas/http-output.schema.d.ts +4 -4
- package/common/types/options/http/interfaces.d.ts +26 -10
- package/common/types/options/http/interfaces.d.ts.map +1 -1
- package/common/types/options/http/schema.d.ts.map +1 -1
- package/common/types/options/session/schema.d.ts +3 -3
- package/common/types/options/transport/schema.d.ts +3 -1
- package/common/types/options/transport/schema.d.ts.map +1 -1
- package/common/utils/index.d.ts +1 -0
- package/common/utils/index.d.ts.map +1 -1
- package/common/utils/principal.utils.d.ts +29 -0
- package/common/utils/principal.utils.d.ts.map +1 -0
- package/direct/llm-platform.d.ts +2 -2
- package/direct/llm-platform.d.ts.map +1 -1
- package/errors/index.d.ts +1 -0
- package/errors/index.d.ts.map +1 -1
- package/errors/job.errors.d.ts +26 -0
- package/errors/job.errors.d.ts.map +1 -0
- package/esm/index.mjs +928 -207
- package/front-mcp/front-mcp.providers.d.ts +4 -4
- package/index.js +1041 -320
- package/job/execution/job-execution.manager.d.ts +15 -0
- package/job/execution/job-execution.manager.d.ts.map +1 -1
- package/job/job-permission.guard.d.ts +23 -4
- package/job/job-permission.guard.d.ts.map +1 -1
- package/job/job-scope.helper.d.ts +12 -0
- package/job/job-scope.helper.d.ts.map +1 -1
- package/job/store/job-state.interface.d.ts +6 -0
- package/job/store/job-state.interface.d.ts.map +1 -1
- package/job/tools/execute-job.tool.d.ts.map +1 -1
- package/job/tools/get-job-status.tool.d.ts +12 -0
- package/job/tools/get-job-status.tool.d.ts.map +1 -1
- package/job/tools/list-jobs.tool.d.ts +6 -0
- package/job/tools/list-jobs.tool.d.ts.map +1 -1
- package/job/tools/register-job.tool.d.ts +1 -0
- package/job/tools/register-job.tool.d.ts.map +1 -1
- package/job/tools/remove-job.tool.d.ts.map +1 -1
- package/package.json +10 -10
- package/resource/flows/resource-templates-list.flow.d.ts +2 -2
- package/resource/flows/resources-list.flow.d.ts +2 -2
- package/scope/scope.utils.d.ts.map +1 -1
- package/server/adapters/express.host.adapter.d.ts +34 -2
- package/server/adapters/express.host.adapter.d.ts.map +1 -1
- package/server/middleware/host-validation.middleware.d.ts +8 -4
- package/server/middleware/host-validation.middleware.d.ts.map +1 -1
- package/server/security/host-validation.d.ts +66 -0
- package/server/security/host-validation.d.ts.map +1 -0
- package/server/security/resolve-allowed-hosts.d.ts +63 -0
- package/server/security/resolve-allowed-hosts.d.ts.map +1 -0
- package/server/security/security-audit.d.ts +7 -4
- package/server/security/security-audit.d.ts.map +1 -1
- package/server/server.instance.d.ts.map +1 -1
- package/server/server.types.d.ts +11 -6
- package/server/server.types.d.ts.map +1 -1
- package/tool/flows/call-tool.flow.d.ts +19 -7
- package/tool/flows/call-tool.flow.d.ts.map +1 -1
- package/tool/flows/tools-list.flow.d.ts +2 -6
- package/tool/flows/tools-list.flow.d.ts.map +1 -1
- package/transport/adapters/base-sse-transport.d.ts +7 -0
- package/transport/adapters/base-sse-transport.d.ts.map +1 -1
- package/transport/adapters/transport.local.adapter.d.ts.map +1 -1
- package/transport/adapters/transport.streamable-http.adapter.d.ts.map +1 -1
- package/transport/event-stores/index.d.ts +2 -0
- package/transport/event-stores/index.d.ts.map +1 -1
- package/transport/event-stores/memory.event-store.d.ts +9 -2
- package/transport/event-stores/memory.event-store.d.ts.map +1 -1
- package/transport/event-stores/redis.event-store.d.ts +24 -3
- package/transport/event-stores/redis.event-store.d.ts.map +1 -1
- package/transport/event-stores/session-scoped.event-store.d.ts +17 -0
- package/transport/event-stores/session-scoped.event-store.d.ts.map +1 -0
- package/transport/web-fetch-handler.d.ts.map +1 -1
- package/workflow/tools/execute-workflow.tool.d.ts.map +1 -1
- package/workflow/tools/get-workflow-status.tool.d.ts +12 -0
- package/workflow/tools/get-workflow-status.tool.d.ts.map +1 -1
- package/workflow/tools/list-workflows.tool.d.ts +1 -0
- package/workflow/tools/list-workflows.tool.d.ts.map +1 -1
- package/workflow/tools/register-workflow.tool.d.ts +1 -0
- package/workflow/tools/register-workflow.tool.d.ts.map +1 -1
- package/workflow/tools/remove-workflow.tool.d.ts.map +1 -1
|
@@ -124,14 +124,10 @@ declare const stateSchema: import("@frontmcp/lazy-zod").ZodObject<{
|
|
|
124
124
|
arguments: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodObject<{}, import("zod/v4/core").$loose>>;
|
|
125
125
|
}, import("zod/v4/core").$loose>;
|
|
126
126
|
authInfo: z.ZodType<AuthInfo>;
|
|
127
|
-
tool: import("zod").
|
|
128
|
-
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
|
|
129
|
-
}>, import("../../common").ToolOutputType, unknown, unknown>, ToolEntry<Readonly<{
|
|
127
|
+
tool: import("zod").ZodInstanceOf<ToolEntry<Readonly<{
|
|
130
128
|
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
|
|
131
129
|
}>, import("../../common").ToolOutputType, unknown, unknown>>;
|
|
132
|
-
toolContext: import("zod").
|
|
133
|
-
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
|
|
134
|
-
}>, import("../../common").ToolOutputType, unknown, unknown>, ToolContext<Readonly<{
|
|
130
|
+
toolContext: import("zod").ZodInstanceOf<ToolContext<Readonly<{
|
|
135
131
|
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
|
|
136
132
|
}>, import("../../common").ToolOutputType, unknown, unknown>>;
|
|
137
133
|
rawOutput: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodAny>;
|
|
@@ -280,9 +276,25 @@ export default class CallToolFlow extends FlowBase<typeof name> {
|
|
|
280
276
|
*/
|
|
281
277
|
checkToolAuthorization(): Promise<void>;
|
|
282
278
|
/**
|
|
283
|
-
* Build the URL for progressive/incremental authorization
|
|
279
|
+
* Build the URL for progressive/incremental authorization.
|
|
280
|
+
*
|
|
281
|
+
* This is the ONE point in the request lifecycle where the caller's identity
|
|
282
|
+
* is both known and verified, so it is where the incremental-authorization
|
|
283
|
+
* ticket is minted (GHSA-2c4g-9c8x-6m8g). The ticket is what later authorizes
|
|
284
|
+
* `/oauth/authorize` to skip the login step; `app`/`tool` are carried purely
|
|
285
|
+
* for display and are re-read from the signed payload server-side.
|
|
286
|
+
*
|
|
287
|
+
* When no verified subject or signing secret is available the URL is emitted
|
|
288
|
+
* WITHOUT a ticket — the user then completes an ordinary login, which is the
|
|
289
|
+
* correct fail-closed outcome rather than a credential-free shortcut.
|
|
284
290
|
*/
|
|
285
291
|
private buildProgressiveAuthUrl;
|
|
292
|
+
/**
|
|
293
|
+
* Mint a single-use, short-lived incremental-authorization ticket for the
|
|
294
|
+
* verified caller. Returns undefined when the scope has no local signing
|
|
295
|
+
* secret or the request has no verified subject.
|
|
296
|
+
*/
|
|
297
|
+
private mintIncrementalTicket;
|
|
286
298
|
/**
|
|
287
299
|
* Check entry-level authorities (RBAC/ABAC/ReBAC) declared in tool metadata.
|
|
288
300
|
* Hookable: developers can use Will/Did/Around on 'checkEntryAuthorities'.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-tool.flow.d.ts","sourceRoot":"","sources":["../../../src/tool/flows/call-tool.flow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"call-tool.flow.d.ts","sourceRoot":"","sources":["../../../src/tool/flows/call-tool.flow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAA+C,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AAYnC,OAAO,EAEL,QAAQ,EAIR,WAAW,EACX,SAAS,EAET,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAsEtB,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;gCAIf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAuB,CAAC;AAE1C,QAAA,MAAM,WAAW;;;;;cAKiB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cASnB,CAAC,CAAC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;;;;;;;;gCAoB1E,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAuB2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,iBAAiB,EAAE,cAAc,CAC/B,YAAY,EACZ,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,iBAA0B,CAAC;AAUxC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC7D,MAAM,wCAA0C;IAG1C,UAAU;IAsDhB;;;;OAIG;IAEG,wBAAwB;IA2CxB,QAAQ;IAkHd;;;;;;;;OAQG;IAEG,qBAAqB;IAqJ3B;;;;OAIG;IAEG,sBAAsB;IAiJ5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;;;OAIG;IAEG,qBAAqB;IAwDrB,qBAAqB;IAkE3B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IAEG,oBAAoB;IA2DpB,YAAY;IA4CZ,gBAAgB;IA0ChB,aAAa;IAuBb,OAAO;IAwIP,cAAc;IAed,gBAAgB;IAgBhB,YAAY;IAOlB;;;;OAIG;IAEG,OAAO;IAyLb;;;;;;;;OAQG;IAEG,QAAQ;CAsGf"}
|
|
@@ -72,17 +72,13 @@ declare const stateSchema: import("@frontmcp/lazy-zod").ZodObject<{
|
|
|
72
72
|
platformType: z.ZodType<AIPlatformType | undefined>;
|
|
73
73
|
tools: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodObject<{
|
|
74
74
|
appName: import("@frontmcp/lazy-zod").ZodString;
|
|
75
|
-
tool: import("zod").
|
|
76
|
-
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
|
|
77
|
-
}>, import("../../common").ToolOutputType, unknown, unknown>, ToolEntry<Readonly<{
|
|
75
|
+
tool: import("zod").ZodInstanceOf<ToolEntry<Readonly<{
|
|
78
76
|
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
|
|
79
77
|
}>, import("../../common").ToolOutputType, unknown, unknown>>;
|
|
80
78
|
}, import("zod/v4/core").$strip>>;
|
|
81
79
|
resolvedTools: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodObject<{
|
|
82
80
|
appName: import("@frontmcp/lazy-zod").ZodString;
|
|
83
|
-
tool: import("zod").
|
|
84
|
-
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
|
|
85
|
-
}>, import("../../common").ToolOutputType, unknown, unknown>, ToolEntry<Readonly<{
|
|
81
|
+
tool: import("zod").ZodInstanceOf<ToolEntry<Readonly<{
|
|
86
82
|
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
|
|
87
83
|
}>, import("../../common").ToolOutputType, unknown, unknown>>;
|
|
88
84
|
finalName: import("@frontmcp/lazy-zod").ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-list.flow.d.ts","sourceRoot":"","sources":["../../../src/tool/flows/tools-list.flow.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,QAAQ,EAMR,SAAS,EAET,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AAEtB,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAgB,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAiD,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAyB,KAAK,mBAAmB,IAAI,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQ9G,QAAA,MAAM,WAAW;;;;;;;;;;;;;;gCAGf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAwB,CAAC;AAE3C,QAAA,MAAM,WAAW;;cAIM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;kBACD,CAAC,CAAC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"tools-list.flow.d.ts","sourceRoot":"","sources":["../../../src/tool/flows/tools-list.flow.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,QAAQ,EAMR,SAAS,EAET,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AAEtB,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAgB,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAiD,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAyB,KAAK,mBAAmB,IAAI,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQ9G,QAAA,MAAM,WAAW;;;;;;;;;;;;;;gCAGf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAwB,CAAC;AAE3C,QAAA,MAAM,WAAW;;cAIM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;kBACD,CAAC,CAAC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;;;;;;;;;;;;;;gCAc5E,CAAC;AAkBH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,kBAAkB,EAAE,cAAc,CAChC,aAAa,EACb,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,kBAA2B,CAAC;AAUzC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC9D,MAAM,wCAA2C;IAEjD,OAAO,CAAC,MAAM;IAId;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAuBnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAKd,UAAU;IA+ChB;;;;OAIG;IAEG,wBAAwB;IA2CxB,SAAS;IAmDf;;;;OAIG;IAEG,mBAAmB;IA+BnB,gBAAgB;IAqChB,UAAU;CA+RjB"}
|
|
@@ -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;
|
|
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":"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"}
|
|
@@ -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;
|
|
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
|
|
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,
|
|
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
|
|
2
|
-
import type
|
|
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,
|
|
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"}
|
|
@@ -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;
|
|
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,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 +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;
|
|
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;
|
|
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"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -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;
|
|
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;
|
|
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"}
|