@frontmcp/sdk 1.3.0 → 1.4.1
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 +65 -60
- package/agent/agent.scope.d.ts +164 -0
- package/agent/agent.scope.d.ts.map +1 -1
- package/app/instances/app.esm.instance.d.ts.map +1 -1
- package/app/instances/app.remote.instance.d.ts.map +1 -1
- package/auth/auth-ui/auth-ui.contract.d.ts +149 -0
- package/auth/auth-ui/auth-ui.contract.d.ts.map +1 -0
- package/auth/auth-ui/auth-ui.registry.d.ts +151 -0
- package/auth/auth-ui/auth-ui.registry.d.ts.map +1 -0
- package/auth/auth-ui/auth-ui.render.d.ts +49 -0
- package/auth/auth-ui/auth-ui.render.d.ts.map +1 -0
- package/auth/auth-ui/auth-ui.state.d.ts +62 -0
- package/auth/auth-ui/auth-ui.state.d.ts.map +1 -0
- package/auth/auth-ui/index.d.ts +24 -0
- package/auth/auth-ui/index.d.ts.map +1 -0
- package/auth/auth.registry.d.ts.map +1 -1
- package/auth/authorized-apps.utils.d.ts +51 -0
- package/auth/authorized-apps.utils.d.ts.map +1 -0
- package/auth/consent-tools.helper.d.ts +26 -0
- package/auth/consent-tools.helper.d.ts.map +1 -0
- package/auth/consent.utils.d.ts +62 -0
- package/auth/consent.utils.d.ts.map +1 -0
- package/auth/credentials/credentials.context-extension.d.ts +63 -0
- package/auth/credentials/credentials.context-extension.d.ts.map +1 -0
- package/auth/credentials/credentials.providers.d.ts +40 -0
- package/auth/credentials/credentials.providers.d.ts.map +1 -0
- package/auth/credentials/index.d.ts +3 -0
- package/auth/credentials/index.d.ts.map +1 -0
- package/auth/flows/auth.verify.flow.d.ts.map +1 -1
- package/auth/flows/oauth.auth-ui.flow.d.ts +53 -0
- package/auth/flows/oauth.auth-ui.flow.d.ts.map +1 -0
- package/auth/flows/oauth.authorize.flow.d.ts +51 -9
- package/auth/flows/oauth.authorize.flow.d.ts.map +1 -1
- package/auth/flows/oauth.callback.flow.d.ts +118 -5
- package/auth/flows/oauth.callback.flow.d.ts.map +1 -1
- package/auth/flows/oauth.connect.flow.d.ts +89 -0
- package/auth/flows/oauth.connect.flow.d.ts.map +1 -0
- package/auth/flows/oauth.provider-callback.flow.d.ts +34 -4
- package/auth/flows/oauth.provider-callback.flow.d.ts.map +1 -1
- package/auth/flows/oauth.register.flow.d.ts +16 -20
- package/auth/flows/oauth.register.flow.d.ts.map +1 -1
- package/auth/flows/oauth.token.flow.d.ts +2 -2
- package/auth/flows/oauth.token.flow.d.ts.map +1 -1
- package/auth/flows/oauth.userinfo.flow.d.ts +67 -0
- package/auth/flows/oauth.userinfo.flow.d.ts.map +1 -0
- package/auth/flows/session.verify.flow.d.ts +2 -2
- package/auth/flows/session.verify.flow.d.ts.map +1 -1
- package/auth/flows/well-known.jwks.flow.d.ts +3 -3
- package/auth/flows/well-known.oauth-authorization-server.flow.d.ts +3 -2
- package/auth/flows/well-known.oauth-authorization-server.flow.d.ts.map +1 -1
- package/auth/flows/well-known.prm.flow.d.ts +1 -1
- package/auth/flows/well-known.prm.flow.d.ts.map +1 -1
- package/auth/instances/instance.local-primary-auth.d.ts +226 -12
- package/auth/instances/instance.local-primary-auth.d.ts.map +1 -1
- package/auth/secure-store/index.d.ts +3 -0
- package/auth/secure-store/index.d.ts.map +1 -0
- package/auth/secure-store/secure-store.context-extension.d.ts +61 -0
- package/auth/secure-store/secure-store.context-extension.d.ts.map +1 -0
- package/auth/secure-store/secure-store.providers.d.ts +36 -0
- package/auth/secure-store/secure-store.providers.d.ts.map +1 -0
- package/common/decorators/agent.decorator.d.ts +32 -0
- package/common/decorators/agent.decorator.d.ts.map +1 -1
- package/common/decorators/app.decorator.d.ts.map +1 -1
- package/common/decorators/front-mcp.decorator.d.ts.map +1 -1
- package/common/decorators/skill.decorator.d.ts.map +1 -1
- package/common/decorators/tool.decorator.d.ts +44 -0
- package/common/decorators/tool.decorator.d.ts.map +1 -1
- package/common/entries/scope.entry.d.ts +7 -0
- package/common/entries/scope.entry.d.ts.map +1 -1
- package/common/entries/skill.entry.d.ts +22 -1
- package/common/entries/skill.entry.d.ts.map +1 -1
- package/common/entries/tool.entry.d.ts +17 -0
- package/common/entries/tool.entry.d.ts.map +1 -1
- package/common/interfaces/internal/primary-auth-provider.interface.d.ts +18 -0
- package/common/interfaces/internal/primary-auth-provider.interface.d.ts.map +1 -1
- package/common/interfaces/tool.interface.d.ts +26 -0
- package/common/interfaces/tool.interface.d.ts.map +1 -1
- package/common/metadata/app.metadata.d.ts +472 -0
- package/common/metadata/app.metadata.d.ts.map +1 -1
- package/common/metadata/front-mcp.metadata.d.ts +1773 -52
- package/common/metadata/front-mcp.metadata.d.ts.map +1 -1
- package/common/metadata/index.d.ts +1 -0
- package/common/metadata/index.d.ts.map +1 -1
- package/common/metadata/output-policy.d.ts +82 -0
- package/common/metadata/output-policy.d.ts.map +1 -0
- package/common/metadata/skill.metadata.d.ts +45 -1
- package/common/metadata/skill.metadata.d.ts.map +1 -1
- package/common/metadata/tool-ui.metadata.d.ts +1 -1
- package/common/metadata/tool-ui.metadata.d.ts.map +1 -1
- package/common/metadata/tool.metadata.d.ts +65 -0
- package/common/metadata/tool.metadata.d.ts.map +1 -1
- package/common/schemas/http-output.schema.d.ts +25 -25
- package/common/schemas/http-output.schema.d.ts.map +1 -1
- package/common/tokens/app.tokens.d.ts.map +1 -1
- package/common/tokens/front-mcp.tokens.d.ts.map +1 -1
- package/common/tokens/skill.tokens.d.ts +2 -0
- package/common/tokens/skill.tokens.d.ts.map +1 -1
- package/common/tokens/tool.tokens.d.ts +1 -0
- package/common/tokens/tool.tokens.d.ts.map +1 -1
- package/common/types/auth/session.types.d.ts +2 -2
- package/common/types/options/auth/index.d.ts +4 -4
- package/common/types/options/auth/index.d.ts.map +1 -1
- package/common/types/options/auth/interfaces.d.ts +1 -1
- package/common/types/options/auth/interfaces.d.ts.map +1 -1
- package/common/types/options/auth/orchestrated.schema.d.ts +1 -1
- package/common/types/options/auth/orchestrated.schema.d.ts.map +1 -1
- package/common/types/options/auth/shared.schemas.d.ts +2 -2
- package/common/types/options/auth/shared.schemas.d.ts.map +1 -1
- package/common/types/options/http/index.d.ts +1 -1
- package/common/types/options/http/index.d.ts.map +1 -1
- package/common/types/options/http/interfaces.d.ts +56 -1
- package/common/types/options/http/interfaces.d.ts.map +1 -1
- package/common/types/options/http/schema.d.ts +15 -0
- 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 +1 -1
- package/common/utils/caller-dir.utils.d.ts +15 -0
- package/common/utils/caller-dir.utils.d.ts.map +1 -0
- package/common/utils/index.d.ts +1 -0
- package/common/utils/index.d.ts.map +1 -1
- package/errors/index.d.ts +3 -1
- package/errors/index.d.ts.map +1 -1
- package/errors/mcp.error.d.ts +36 -2
- package/errors/mcp.error.d.ts.map +1 -1
- package/errors/tool-credentials-required.error.d.ts +70 -0
- package/errors/tool-credentials-required.error.d.ts.map +1 -0
- package/esm/index.mjs +6553 -2688
- package/flows/flow.instance.d.ts.map +1 -1
- package/front-mcp/front-mcp.d.ts +52 -32
- package/front-mcp/front-mcp.d.ts.map +1 -1
- package/front-mcp/front-mcp.providers.d.ts +700 -8
- package/front-mcp/front-mcp.providers.d.ts.map +1 -1
- package/index.d.ts +29 -4
- package/index.d.ts.map +1 -1
- package/index.js +7138 -3307
- package/package.json +28 -29
- package/scope/flows/http.request.flow.d.ts +18 -1
- package/scope/flows/http.request.flow.d.ts.map +1 -1
- package/scope/optional-dependency.util.d.ts +39 -0
- package/scope/optional-dependency.util.d.ts.map +1 -0
- package/scope/scope.instance.d.ts +17 -0
- package/scope/scope.instance.d.ts.map +1 -1
- package/scope/scope.utils.d.ts.map +1 -1
- package/server/adapters/express.host.adapter.d.ts.map +1 -1
- package/server/custom-routes.helper.d.ts +81 -0
- package/server/custom-routes.helper.d.ts.map +1 -0
- package/skill/flows/http/llm-full-txt.flow.d.ts +1 -1
- package/skill/flows/http/llm-txt.flow.d.ts +1 -1
- package/skill/flows/http/skills-api.flow.d.ts +18 -1
- package/skill/flows/http/skills-api.flow.d.ts.map +1 -1
- package/skill/flows/load-skill.flow.d.ts +7 -0
- package/skill/flows/load-skill.flow.d.ts.map +1 -1
- package/skill/flows/search-skills.flow.d.ts +13 -0
- package/skill/flows/search-skills.flow.d.ts.map +1 -1
- package/skill/index.d.ts +1 -0
- package/skill/index.d.ts.map +1 -1
- package/skill/sep-2640/resources/skill-file.resource.d.ts.map +1 -1
- package/skill/sep-2640/resources/skill-index.resource.d.ts.map +1 -1
- package/skill/sep-2640/resources/skill-md.resource.d.ts.map +1 -1
- package/skill/sep-2640/sep-2640.per-skill.d.ts.map +1 -1
- package/skill/skill-authorities.helper.d.ts +100 -0
- package/skill/skill-authorities.helper.d.ts.map +1 -0
- package/skill/skill.instance.d.ts.map +1 -1
- package/skill/skill.registry.d.ts +34 -0
- package/skill/skill.registry.d.ts.map +1 -1
- package/task/helpers/cli-task-runner.d.ts.map +1 -1
- package/tool/flows/call-tool.flow.d.ts +26 -1
- package/tool/flows/call-tool.flow.d.ts.map +1 -1
- package/tool/flows/tool-credentials.gate.d.ts +31 -0
- package/tool/flows/tool-credentials.gate.d.ts.map +1 -0
- package/tool/flows/tools-list.flow.d.ts.map +1 -1
- package/tool/tool.instance.d.ts.map +1 -1
- package/tool/ui/index.d.ts +1 -1
- package/tool/ui/index.d.ts.map +1 -1
- package/tool/ui/ui-resource.handler.d.ts.map +1 -1
- package/tool/ui/ui-shared.d.ts +33 -1
- package/tool/ui/ui-shared.d.ts.map +1 -1
- package/transport/adapters/transport.local.adapter.d.ts.map +1 -1
- package/transport/flows/handle.sse.flow.d.ts +1 -1
- package/transport/flows/handle.streamable-http.flow.d.ts +58 -1
- package/transport/flows/handle.streamable-http.flow.d.ts.map +1 -1
- package/transport/mcp-handlers/call-tool-request.handler.d.ts.map +1 -1
- package/transport/mcp-handlers/read-resource-request.handler.d.ts.map +1 -1
- package/transport/mcp-handlers/skills-list-request.handler.d.ts.map +1 -1
- package/transport/mcp-handlers/skills-load-request.handler.d.ts.map +1 -1
- package/transport/mcp-handlers/skills-search-request.handler.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontmcp/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "FrontMCP SDK",
|
|
5
5
|
"author": "AgentFront <info@agentfront.dev>",
|
|
6
6
|
"homepage": "https://docs.agentfront.dev",
|
|
@@ -86,62 +86,61 @@
|
|
|
86
86
|
"node": ">=24.0.0"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
|
-
"zod": "^4.0.0",
|
|
90
|
-
"express": "^4.18.0 || ^5.0.0",
|
|
91
|
-
"cors": "^2.8.5",
|
|
92
|
-
"raw-body": "^3.0.0",
|
|
93
|
-
"content-type": "^1.0.5",
|
|
94
|
-
"@vercel/kv": "^3.0.0",
|
|
95
|
-
"@frontmcp/storage-sqlite": "1.3.0",
|
|
96
|
-
"openai": "^4.0.0 || ^5.0.0 || ^6.0.0",
|
|
97
89
|
"@anthropic-ai/sdk": "^0.30.0 || ^0.78.0",
|
|
98
|
-
"@frontmcp/observability": "1.3.0",
|
|
99
90
|
"@enclave-vm/core": "^2.13.0",
|
|
100
|
-
"
|
|
91
|
+
"@frontmcp/observability": "1.4.1",
|
|
92
|
+
"@frontmcp/storage-sqlite": "1.4.1",
|
|
101
93
|
"@opentelemetry/api": "^1.9.0",
|
|
102
|
-
"@opentelemetry/sdk-trace-base": "^1.25.0"
|
|
94
|
+
"@opentelemetry/sdk-trace-base": "^1.25.0",
|
|
95
|
+
"@vercel/kv": "^3.0.0",
|
|
96
|
+
"content-type": "^1.0.5",
|
|
97
|
+
"cors": "^2.8.5",
|
|
98
|
+
"express": "^4.18.0 || ^5.0.0",
|
|
99
|
+
"openai": "^4.0.0 || ^5.0.0 || ^6.0.0",
|
|
100
|
+
"raw-body": "^3.0.0",
|
|
101
|
+
"vectoriadb": "^2.2.0"
|
|
103
102
|
},
|
|
104
103
|
"peerDependenciesMeta": {
|
|
105
|
-
"@
|
|
104
|
+
"@anthropic-ai/sdk": {
|
|
106
105
|
"optional": true
|
|
107
106
|
},
|
|
108
|
-
"@
|
|
107
|
+
"@enclave-vm/core": {
|
|
109
108
|
"optional": true
|
|
110
109
|
},
|
|
111
|
-
"
|
|
110
|
+
"@frontmcp/observability": {
|
|
112
111
|
"optional": true
|
|
113
112
|
},
|
|
114
|
-
"@
|
|
113
|
+
"@frontmcp/storage-sqlite": {
|
|
115
114
|
"optional": true
|
|
116
115
|
},
|
|
117
|
-
"@
|
|
116
|
+
"@opentelemetry/api": {
|
|
118
117
|
"optional": true
|
|
119
118
|
},
|
|
120
|
-
"@
|
|
119
|
+
"@opentelemetry/sdk-trace-base": {
|
|
121
120
|
"optional": true
|
|
122
121
|
},
|
|
123
|
-
"
|
|
122
|
+
"@vercel/kv": {
|
|
124
123
|
"optional": true
|
|
125
124
|
},
|
|
126
|
-
"
|
|
125
|
+
"openai": {
|
|
127
126
|
"optional": true
|
|
128
127
|
},
|
|
129
|
-
"
|
|
128
|
+
"vectoriadb": {
|
|
130
129
|
"optional": true
|
|
131
130
|
}
|
|
132
131
|
},
|
|
133
132
|
"dependencies": {
|
|
133
|
+
"@frontmcp/auth": "1.4.1",
|
|
134
|
+
"@frontmcp/di": "1.4.1",
|
|
135
|
+
"@frontmcp/guard": "1.4.1",
|
|
136
|
+
"@frontmcp/lazy-zod": "1.4.1",
|
|
137
|
+
"@frontmcp/protocol": "1.4.1",
|
|
138
|
+
"@frontmcp/uipack": "1.4.1",
|
|
139
|
+
"@frontmcp/utils": "1.4.1",
|
|
134
140
|
"@types/cors": "^2.8.17",
|
|
135
|
-
"@frontmcp/utils": "1.3.0",
|
|
136
|
-
"@frontmcp/guard": "1.3.0",
|
|
137
|
-
"@frontmcp/di": "1.3.0",
|
|
138
|
-
"@frontmcp/lazy-zod": "1.3.0",
|
|
139
|
-
"@frontmcp/uipack": "1.3.0",
|
|
140
|
-
"@frontmcp/auth": "1.3.0",
|
|
141
|
-
"@frontmcp/protocol": "1.3.0",
|
|
142
141
|
"ioredis": "^5.8.0",
|
|
143
|
-
"js-yaml": "^4.1.1",
|
|
144
142
|
"jose": "^6.1.3",
|
|
143
|
+
"js-yaml": "^4.1.1",
|
|
145
144
|
"reflect-metadata": "^0.2.2",
|
|
146
145
|
"semver": "^7.6.0"
|
|
147
146
|
},
|
|
@@ -44,11 +44,11 @@ export declare const httpRequestStateSchema: import("@frontmcp/lazy-zod").ZodObj
|
|
|
44
44
|
isPublic: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodBoolean>;
|
|
45
45
|
platformType: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodEnum<{
|
|
46
46
|
unknown: "unknown";
|
|
47
|
+
continue: "continue";
|
|
47
48
|
openai: "openai";
|
|
48
49
|
claude: "claude";
|
|
49
50
|
gemini: "gemini";
|
|
50
51
|
cursor: "cursor";
|
|
51
|
-
continue: "continue";
|
|
52
52
|
cody: "cody";
|
|
53
53
|
"generic-mcp": "generic-mcp";
|
|
54
54
|
"ext-apps": "ext-apps";
|
|
@@ -92,6 +92,23 @@ export default class HttpRequestFlow extends FlowBase<typeof name> {
|
|
|
92
92
|
traceRequest(): Promise<void>;
|
|
93
93
|
acquireQuota(): Promise<void>;
|
|
94
94
|
checkAuthorization(): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Build a live {@link OrchestratedAuthAccessorAdapter} for the verified request
|
|
97
|
+
* and register it under {@link ORCHESTRATED_AUTH_ACCESSOR} so tools can read
|
|
98
|
+
* upstream provider tokens via `this.orchestration.getToken(id)`.
|
|
99
|
+
*
|
|
100
|
+
* `session:verify` returns a lightweight authorization (`{ token, user, … }`)
|
|
101
|
+
* rather than a full OrchestratedAuthorization, so we reconstruct one here from
|
|
102
|
+
* the verified JWT + the primary auth's encrypted token store (the same store
|
|
103
|
+
* the federated provider-callback flow wrote upstream tokens into, keyed by
|
|
104
|
+
* `deriveAuthorizationId(token)`). No-op unless the scope is in orchestrated
|
|
105
|
+
* mode with a token store and a non-empty bearer token — so public/transparent
|
|
106
|
+
* and anonymous requests are unaffected.
|
|
107
|
+
*
|
|
108
|
+
* Security: tokens stay server-side and AES-GCM-encrypted at rest; only the
|
|
109
|
+
* non-PII provider ids are read here to project the authorization.
|
|
110
|
+
*/
|
|
111
|
+
private bindOrchestrationAccessor;
|
|
95
112
|
router(): Promise<void>;
|
|
96
113
|
handleLegacySse(): Promise<void>;
|
|
97
114
|
handleSse(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.request.flow.d.ts","sourceRoot":"","sources":["../../../src/scope/flows/http.request.flow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.request.flow.d.ts","sourceRoot":"","sources":["../../../src/scope/flows/http.request.flow.ts"],"names":[],"mappings":"AAYA,OAAO,EAIL,QAAQ,EAGR,eAAe,EACf,gBAAgB,EAShB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;AAGtB,QAAA,MAAM,IAAI;;;;;CA8B2B,CAAC;AAEtC,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAIjC,CAAC;AAEH,QAAA,MAAM,IAAI,EAAG,cAAuB,CAAC;AAGrC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,cAAc,EAAE,cAAc,CAC5B,eAAe,EACf,OAAO,IAAI,EACX,OAAO,eAAe,EACtB,OAAO,gBAAgB,EACvB,OAAO,sBAAsB,CAC9B,CAAC;KACH;CACF;AAYD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAChE,MAAM,wCAA8C;IACpD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,SAAS,CAAM;IAEvB,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU;IActD,YAAY;IAkDZ,YAAY;IA8BZ,kBAAkB;IAmDxB;;;;;;;;;;;;;;;OAeG;YACW,yBAAyB;IAwCjC,MAAM;IAsNN,eAAe;IAuBf,SAAS;IAuBT,oBAAoB;IAuBpB,kBAAkB;IAuBlB,mBAAmB;IAuBnB,mBAAmB;IAgDnB,QAAQ;IAcd;;;OAGG;IACH,OAAO,CAAC,QAAQ;CA8CjB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers for probing optional peer dependencies that are loaded lazily via
|
|
3
|
+
* `require()` (e.g. `@frontmcp/observability`).
|
|
4
|
+
*
|
|
5
|
+
* A bare `try { require(pkg) } catch { warn("not installed") }` is misleading:
|
|
6
|
+
* `require()` throws for many reasons OTHER than the package being absent — an
|
|
7
|
+
* export-condition or transpile mismatch (a dev runtime such as tsx resolving a
|
|
8
|
+
* package's TS source entry under yarn), a missing transitive peer, or a load-time
|
|
9
|
+
* error in the module itself. In all of those the package IS installed and
|
|
10
|
+
* resolvable, yet the user is told to reinstall it, which never helps (#453).
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Outcome of classifying a failed `require()` of an optional dependency.
|
|
14
|
+
*/
|
|
15
|
+
export interface OptionalDependencyProbe {
|
|
16
|
+
/**
|
|
17
|
+
* - `not-installed` — the module is genuinely unresolvable (reinstalling helps).
|
|
18
|
+
* - `load-failed` — the module resolves but `require()` threw (a load / export
|
|
19
|
+
* condition / transpile / peer mismatch; reinstalling will NOT help).
|
|
20
|
+
*/
|
|
21
|
+
status: 'not-installed' | 'load-failed';
|
|
22
|
+
/** Path returned by the runtime resolver, present only when `load-failed`. */
|
|
23
|
+
resolvedPath?: string;
|
|
24
|
+
/** Message from the original `require()` error. */
|
|
25
|
+
error: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Classify why `require(moduleName)` failed by re-probing with the SAME resolver
|
|
29
|
+
* the runtime uses, so the verdict matches reality instead of always blaming a
|
|
30
|
+
* missing install.
|
|
31
|
+
*
|
|
32
|
+
* @param moduleName - the specifier that failed to `require()`.
|
|
33
|
+
* @param loadError - the error thrown by the failed `require()`.
|
|
34
|
+
* @param resolve - resolver to probe existence with. Pass `require.resolve` from
|
|
35
|
+
* the caller; kept injectable so this stays unit-testable and ESM-safe (the
|
|
36
|
+
* helper module itself never references `require`).
|
|
37
|
+
*/
|
|
38
|
+
export declare function probeOptionalDependency(moduleName: string, loadError: unknown, resolve: (id: string) => string): OptionalDependencyProbe;
|
|
39
|
+
//# sourceMappingURL=optional-dependency.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optional-dependency.util.d.ts","sourceRoot":"","sources":["../../src/scope/optional-dependency.util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,MAAM,EAAE,eAAe,GAAG,aAAa,CAAC;IACxC,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAC9B,uBAAuB,CAWzB"}
|
|
@@ -3,6 +3,7 @@ import { type GuardManager } from '@frontmcp/guard';
|
|
|
3
3
|
import { type EventStore } from '@frontmcp/protocol';
|
|
4
4
|
import AgentRegistry from '../agent/agent.registry';
|
|
5
5
|
import AppRegistry from '../app/app.registry';
|
|
6
|
+
import { AuthUiRegistry } from '../auth/auth-ui';
|
|
6
7
|
import { AuthRegistry } from '../auth/auth.registry';
|
|
7
8
|
import { type ChannelNotificationService } from '../channel/channel-notification.service';
|
|
8
9
|
import type ChannelRegistry from '../channel/channel.registry';
|
|
@@ -44,6 +45,7 @@ export declare class Scope extends ScopeEntry {
|
|
|
44
45
|
notificationService: NotificationService;
|
|
45
46
|
haManager?: HaManager;
|
|
46
47
|
private toolUIRegistry;
|
|
48
|
+
private authUiRegistry?;
|
|
47
49
|
readonly entryPath: string;
|
|
48
50
|
readonly routeBase: string;
|
|
49
51
|
readonly orchestrated: boolean;
|
|
@@ -99,6 +101,20 @@ export declare class Scope extends ScopeEntry {
|
|
|
99
101
|
* Extracted from initialize() for readability.
|
|
100
102
|
*/
|
|
101
103
|
private compileUIWidgets;
|
|
104
|
+
/**
|
|
105
|
+
* Build the custom auth-UI registry (#469) PER SCOPE from this scope's resolved
|
|
106
|
+
* auth options (`auth.ui` / `auth.extras`). The parent multi-app scope reads
|
|
107
|
+
* the top-level `@FrontMcp({ auth })`, and each `splitByApp` scope reads its own
|
|
108
|
+
* `@App({ auth })` (resolved into `this.metadata.auth` by `normalizeAppScope`),
|
|
109
|
+
* so a split app gets ITS OWN auth UI.
|
|
110
|
+
*
|
|
111
|
+
* No-op (leaves {@link authUiRegistry} undefined) when neither is declared, so
|
|
112
|
+
* the OAuth flows serve the built-in HTML pages exactly as before. When custom
|
|
113
|
+
* slots ARE declared, their SSR + hydration bundles are pre-built at startup
|
|
114
|
+
* (mirroring `compileUIWidgets`); build failures are logged + cached, never
|
|
115
|
+
* thrown, so a broken component degrades to the built-in page.
|
|
116
|
+
*/
|
|
117
|
+
private buildAuthUiRegistry;
|
|
102
118
|
private formatScopeSummary;
|
|
103
119
|
private get defaultScopeProviders();
|
|
104
120
|
get auth(): FrontMcpAuth;
|
|
@@ -108,6 +124,7 @@ export declare class Scope extends ScopeEntry {
|
|
|
108
124
|
get apps(): AppRegistry;
|
|
109
125
|
get tools(): ToolRegistry;
|
|
110
126
|
get toolUI(): ToolUIRegistry;
|
|
127
|
+
get authUi(): AuthUiRegistry | undefined;
|
|
111
128
|
get resources(): ResourceRegistry;
|
|
112
129
|
get prompts(): PromptRegistry;
|
|
113
130
|
get agents(): AgentRegistry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.instance.d.ts","sourceRoot":"","sources":["../../src/scope/scope.instance.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,aAAa,MAAM,yBAAyB,CAAC;AAEpD,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAE1F,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAI3E,OAAO,EACL,cAAc,EACd,cAAc,EAEd,UAAU,EAEV,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,IAAI,EACV,MAAM,WAAW,CAAC;AAQnB,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAK/E,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAIlD,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAC;AAInD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,cAAwC,MAAM,2BAA2B,CAAC;AACjF,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"scope.instance.d.ts","sourceRoot":"","sources":["../../src/scope/scope.instance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.utils.d.ts","sourceRoot":"","sources":["../../src/scope/scope.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAGvD,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAE7B,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AAInB;;;;;GAKG;AAEH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,sBAAsB,GAAG,wBAAwB,GAC1D,WAAW,
|
|
1
|
+
{"version":3,"file":"scope.utils.d.ts","sourceRoot":"","sources":["../../src/scope/scope.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAGvD,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAE7B,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AAInB;;;;;GAKG;AAEH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,sBAAsB,GAAG,wBAAwB,GAC1D,WAAW,CA2Bb;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,sBAAsB,GAAG,WAAW,CAU7G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,KAAK,EAAE,CAO5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express.host.adapter.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/express.host.adapter.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,UAAU,EAEf,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,CAAC,EAAE,yBAAyB;
|
|
1
|
+
{"version":3,"file":"express.host.adapter.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/express.host.adapter.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,UAAU,EAEf,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,CAAC,EAAE,yBAAyB;IAmG/C,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB;IAI7E,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB;IAInE,eAAe,CAAC,OAAO,EAAE,oBAAoB,IACnC,KAAK,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,YAAY;IAQjF;;;;OAIG;IACH,OAAO,IAAI,IAAI;IAMf;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,WAAW;IAK3B,KAAK,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;YAqCrD,kBAAkB;CASjC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { type FrontMcpLogger, type FrontMcpServer, type HttpRouteConfig, type ServerRequest, type ServerRequestHandler } from '../common';
|
|
2
|
+
/** Shape of the `session:verify` flow output we care about here. */
|
|
3
|
+
export type VerifyResult = {
|
|
4
|
+
kind: 'authorized';
|
|
5
|
+
authorization: unknown;
|
|
6
|
+
} | {
|
|
7
|
+
kind: 'unauthorized';
|
|
8
|
+
prmMetadataHeader: string;
|
|
9
|
+
} | {
|
|
10
|
+
kind: 'forbidden';
|
|
11
|
+
prmMetadataHeader: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Dispatch the MCP `session:verify` flow for a request. The scope passes a thin
|
|
15
|
+
* closure over its generic `runFlow` so this helper stays decoupled from the
|
|
16
|
+
* scope's flow-name typing.
|
|
17
|
+
*/
|
|
18
|
+
export type VerifySessionFn = (request: ServerRequest) => Promise<VerifyResult | undefined>;
|
|
19
|
+
export interface RegisterCustomHttpRoutesArgs {
|
|
20
|
+
/** Custom routes from `http.routes`. */
|
|
21
|
+
routes: HttpRouteConfig[] | undefined;
|
|
22
|
+
/** Active host server to register routes on. */
|
|
23
|
+
server: FrontMcpServer;
|
|
24
|
+
/** Runs `session:verify` for `auth: true` routes. */
|
|
25
|
+
verifySession: VerifySessionFn;
|
|
26
|
+
/** Resolved gateway entry path (e.g. `''` or `'/mcp'`). */
|
|
27
|
+
entryPath: string;
|
|
28
|
+
/** Per-app / per-scope route base (e.g. `''` or `'/billing'`). */
|
|
29
|
+
routeBase: string;
|
|
30
|
+
logger: FrontMcpLogger;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Error thrown when a custom `http.routes` path collides with a FrontMCP
|
|
34
|
+
* reserved surface. Fail-fast at startup rather than silently shadowing (or
|
|
35
|
+
* being shadowed by) the MCP endpoint / discovery / health surfaces.
|
|
36
|
+
*/
|
|
37
|
+
export declare class ReservedRouteCollisionError extends Error {
|
|
38
|
+
readonly method: string;
|
|
39
|
+
readonly path: string;
|
|
40
|
+
readonly reserved: string;
|
|
41
|
+
constructor(method: string, path: string, reserved: string);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Build the exact-match + prefix reserved-path set for the resolved MCP base.
|
|
45
|
+
*
|
|
46
|
+
* - Exact matches: the MCP base itself, `<base>/sse`, `<base>/message`,
|
|
47
|
+
* `/health`, `/metrics`.
|
|
48
|
+
* - Prefix matches: `/oauth`, `/.well-known` (any sub-path is reserved).
|
|
49
|
+
*/
|
|
50
|
+
export declare function computeReservedPaths(entryPath: string, routeBase: string): {
|
|
51
|
+
exact: Set<string>;
|
|
52
|
+
prefixes: string[];
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Throw {@link ReservedRouteCollisionError} when `path` collides with a
|
|
56
|
+
* reserved FrontMCP surface. Express path params (`:id`) and wildcards in the
|
|
57
|
+
* *custom* path are compared literally — only the static prefix matters for the
|
|
58
|
+
* reserved-surface check, so a route like `/files/:id` never collides unless it
|
|
59
|
+
* is literally under `/oauth`, `/.well-known`, etc.
|
|
60
|
+
*/
|
|
61
|
+
export declare function assertNotReserved(method: string, path: string, reserved: {
|
|
62
|
+
exact: Set<string>;
|
|
63
|
+
prefixes: string[];
|
|
64
|
+
}): void;
|
|
65
|
+
/**
|
|
66
|
+
* Wrap a user route handler in the MCP `session:verify` auth flow. On
|
|
67
|
+
* unauthorized/forbidden the request is short-circuited with a 401/403 carrying
|
|
68
|
+
* the `WWW-Authenticate` header (mirroring `http.request.flow.ts`); on success
|
|
69
|
+
* the verified authorization is attached to `req.authSession` (and the internal
|
|
70
|
+
* auth token) before the user handler runs.
|
|
71
|
+
*/
|
|
72
|
+
export declare function wrapWithAuth(handler: ServerRequestHandler, verifySession: VerifySessionFn, logger: FrontMcpLogger): ServerRequestHandler;
|
|
73
|
+
/**
|
|
74
|
+
* Register all configured custom HTTP routes on the active server.
|
|
75
|
+
*
|
|
76
|
+
* No-op when `routes` is empty/undefined. Throws {@link ReservedRouteCollisionError}
|
|
77
|
+
* (fail-fast) on the first path that collides with a reserved surface — so a
|
|
78
|
+
* misconfiguration aborts boot instead of silently mis-mounting.
|
|
79
|
+
*/
|
|
80
|
+
export declare function registerCustomHttpRoutes(args: RegisterCustomHttpRoutesArgs): void;
|
|
81
|
+
//# sourceMappingURL=custom-routes.helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-routes.helper.d.ts","sourceRoot":"","sources":["../../src/server/custom-routes.helper.ts"],"names":[],"mappings":"AAgBA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAE1B,MAAM,WAAW,CAAC;AAGnB,oEAAoE;AACpE,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;AAE5F,MAAM,WAAW,4BAA4B;IAC3C,wCAAwC;IACxC,MAAM,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IACtC,gDAAgD;IAChD,MAAM,EAAE,cAAc,CAAC;IACvB,qDAAqD;IACrD,aAAa,EAAE,eAAe,CAAC;IAC/B,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;aAElC,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;aACZ,QAAQ,EAAE,MAAM;gBAFhB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM;CASnC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAcrH;AAQD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GACnD,IAAI,CAYN;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,eAAe,EAC9B,MAAM,EAAE,cAAc,GACrB,oBAAoB,CAwCtB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,4BAA4B,GAAG,IAAI,CAajF"}
|
|
@@ -22,8 +22,8 @@ declare const outputSchema: import("@frontmcp/lazy-zod").ZodObject<{
|
|
|
22
22
|
secure: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodBoolean>;
|
|
23
23
|
sameSite: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodEnum<{
|
|
24
24
|
strict: "strict";
|
|
25
|
-
lax: "lax";
|
|
26
25
|
none: "none";
|
|
26
|
+
lax: "lax";
|
|
27
27
|
}>>;
|
|
28
28
|
maxAge: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNumber>;
|
|
29
29
|
expires: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodDate>;
|
|
@@ -22,8 +22,8 @@ declare const outputSchema: import("@frontmcp/lazy-zod").ZodObject<{
|
|
|
22
22
|
secure: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodBoolean>;
|
|
23
23
|
sameSite: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodEnum<{
|
|
24
24
|
strict: "strict";
|
|
25
|
-
lax: "lax";
|
|
26
25
|
none: "none";
|
|
26
|
+
lax: "lax";
|
|
27
27
|
}>>;
|
|
28
28
|
maxAge: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNumber>;
|
|
29
29
|
expires: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodDate>;
|
|
@@ -35,8 +35,8 @@ declare const outputSchema: import("@frontmcp/lazy-zod").ZodObject<{
|
|
|
35
35
|
secure: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodBoolean>;
|
|
36
36
|
sameSite: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodEnum<{
|
|
37
37
|
strict: "strict";
|
|
38
|
-
lax: "lax";
|
|
39
38
|
none: "none";
|
|
39
|
+
lax: "lax";
|
|
40
40
|
}>>;
|
|
41
41
|
maxAge: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNumber>;
|
|
42
42
|
expires: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodDate>;
|
|
@@ -79,6 +79,23 @@ export default class SkillsApiFlow extends FlowBase<typeof name> {
|
|
|
79
79
|
* provider via the scope DI container.
|
|
80
80
|
*/
|
|
81
81
|
private tryGetSemanticProvider;
|
|
82
|
+
/**
|
|
83
|
+
* Best-effort AuthInfo for HTTP authorities evaluation.
|
|
84
|
+
*
|
|
85
|
+
* The skills HTTP auth validator (api-key / bearer) is a binary gate and does
|
|
86
|
+
* not surface claims, so authority-gated skills are evaluated fail-closed on
|
|
87
|
+
* the HTTP surface. When the server runs in transparent/auth mode the request
|
|
88
|
+
* MAY carry a verified `authSession` with `user` claims; we forward those so a
|
|
89
|
+
* JWT bearer with roles/permissions still evaluates correctly. Otherwise an
|
|
90
|
+
* empty AuthInfo is returned, which denies any role/permission-gated skill.
|
|
91
|
+
*/
|
|
92
|
+
private httpAuthInfo;
|
|
93
|
+
/**
|
|
94
|
+
* Filter search results (whose projected metadata lacks `authorities`) down
|
|
95
|
+
* to skills the caller can discover, by resolving the live skill entry to
|
|
96
|
+
* read its declared authorities. No-op when no engine is configured.
|
|
97
|
+
*/
|
|
98
|
+
private filterHttpResultsByAuthorities;
|
|
82
99
|
private handleListSkills;
|
|
83
100
|
}
|
|
84
101
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-api.flow.d.ts","sourceRoot":"","sources":["../../../../src/skill/flows/http/skills-api.flow.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,QAAQ,EAQR,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"skills-api.flow.d.ts","sourceRoot":"","sources":["../../../../src/skill/flows/http/skills-api.flow.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,QAAQ,EAQR,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAezB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AAEpC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;gCAWf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;gCAAiB,CAAC;AAEpC,QAAA,MAAM,IAAI;;;CAG2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,iBAAiB,EAAE,cAAc,CAC/B,aAAa,EACb,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,iBAA0B,CAAC;AAGxC;;;;;;;;GAQG;AAWH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC9D,MAAM,2CAA2C;IAEjD;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO;IAsBhE,YAAY;IAsCZ,YAAY;IA+FZ,aAAa;YA2CL,cAAc;YAuEd,kBAAkB;IA0HhC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAoC9B;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;OAIG;YACW,8BAA8B;YAO9B,gBAAgB;CA2D/B"}
|
|
@@ -158,6 +158,13 @@ export default class LoadSkillFlow extends FlowBase<typeof name> {
|
|
|
158
158
|
logger: import("../../common").FrontMcpLogger;
|
|
159
159
|
parseInput(): Promise<void>;
|
|
160
160
|
loadSkills(): Promise<void>;
|
|
161
|
+
/**
|
|
162
|
+
* Resolve the registered skill entry that backs a loaded skill, so its
|
|
163
|
+
* `authorities` metadata can be evaluated. Matches by the requested id, the
|
|
164
|
+
* resolved content id, and finally by display name — covering id/name/
|
|
165
|
+
* qualified-name lookups the registry's `loadSkill` accepts.
|
|
166
|
+
*/
|
|
167
|
+
private findSkillEntry;
|
|
161
168
|
/**
|
|
162
169
|
* Activate skill sessions for tool authorization enforcement.
|
|
163
170
|
* This stage only runs if activateSession is true in the input.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-skill.flow.d.ts","sourceRoot":"","sources":["../../../src/skill/flows/load-skill.flow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAEvC,OAAO,EAAQ,QAAQ,EAA8B,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG/F,OAAO,KAAK,EAAE,qBAAqB,EAAmB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"load-skill.flow.d.ts","sourceRoot":"","sources":["../../../src/skill/flows/load-skill.flow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAEvC,OAAO,EAAQ,QAAQ,EAA8B,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG/F,OAAO,KAAK,EAAE,qBAAqB,EAAmB,MAAM,gCAAgC,CAAC;AAG7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIlE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;gCAoBf,CAAC;AA4CH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAShB,CAAC;AAMH,UAAU,wBAAwB;IAChC,UAAU,EAAE,eAAe,CAAC;IAC5B,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED,QAAA,MAAM,WAAW;;;;;;;;;;;;iBAKwB,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAGxF,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,aAAa,EAAE,cAAc,CAC3B,aAAa,EACb,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,aAAsB,CAAC;AAGpC;;;;;;;;;;;;;;;;GAgBG;AAQH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC9D,MAAM,wCAA2C;IAG3C,UAAU;IAkBV,UAAU;IAwChB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAWtB;;;OAGG;IAEG,gBAAgB;IA+ChB,QAAQ;CAyJf"}
|
|
@@ -95,6 +95,19 @@ export default class SearchSkillsFlow extends FlowBase<typeof name> {
|
|
|
95
95
|
parseInput(): Promise<void>;
|
|
96
96
|
search(): Promise<void>;
|
|
97
97
|
finalize(): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Remove search results the caller is not authorized to discover.
|
|
100
|
+
*
|
|
101
|
+
* Search-result metadata is projected from `SkillContent` and does NOT carry
|
|
102
|
+
* the `authorities` field, so we resolve the live skill entry (by id/name)
|
|
103
|
+
* to read its declared authorities, then evaluate via the scope's engine.
|
|
104
|
+
* No-op when no authorities engine is configured; results unchanged.
|
|
105
|
+
*
|
|
106
|
+
* Evaluated WITHOUT request input — `fromInput`/ReBAC-by-input policies can't
|
|
107
|
+
* be evaluated at search time and will be treated as a denial. Use
|
|
108
|
+
* role/permission/claims-based authorities for discoverable skills.
|
|
109
|
+
*/
|
|
110
|
+
private filterResultsByAuthorities;
|
|
98
111
|
}
|
|
99
112
|
export {};
|
|
100
113
|
//# sourceMappingURL=search-skills.flow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-skills.flow.d.ts","sourceRoot":"","sources":["../../../src/skill/flows/search-skills.flow.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,QAAQ,EAAgD,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"search-skills.flow.d.ts","sourceRoot":"","sources":["../../../src/skill/flows/search-skills.flow.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,QAAQ,EAAgD,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAyCjH,QAAA,MAAM,WAAW;;;;;;;;;;;;gCAYf,CAAC;AAGH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;gCAmBhB,CAAC;AAKH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAUf,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,eAAe,EAAE,cAAc,CAC7B,gBAAgB,EAChB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,eAAwB,CAAC;AAGtC;;;;;;;;;;;;;;;;;;GAkBG;AAQH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IACjE,MAAM,wCAA8C;IAG9C,UAAU;IAyBV,MAAM;IAyCN,QAAQ;IAoEd;;;;;;;;;;;OAWG;YACW,0BAA0B;CAOzC"}
|
package/skill/index.d.ts
CHANGED
|
@@ -72,6 +72,7 @@ export { SearchSkillsFlow, LoadSkillFlow } from './flows';
|
|
|
72
72
|
export { SEP_2640_EXTENSION_ID, SEP_2640_META_NAMESPACE, SKILL_ARCHIVE_MIME_TYPES, SKILL_INDEX_MIME_TYPE, SKILL_INDEX_SCHEMA_URI, SKILL_INDEX_URI, SKILL_MD_MIME_TYPE, SKILL_MD_PRIORITY, SKILL_SUPPORT_PRIORITY, SKILL_URI_SCHEME, buildArchiveIndexEntry, buildResourceTemplateIndexEntry, buildSkillIndex, buildSkillMdIndexEntry, buildSkillUri, isSkillIndexUri, isSkillUri, parseSkillUri, parseSkillUriWithKnownSkill, serializeSkillMd, validateSkillPath, type ParsedSkillUri, type SkillIndexDocument, type SkillIndexEntry, type SkillIndexEntryType, } from './sep-2640';
|
|
73
73
|
export { getSep2640Resources, Sep2640SkillFileResource, Sep2640SkillIndexResource, Sep2640SkillMdResource, } from './sep-2640/resources';
|
|
74
74
|
export { findAndLoadSkillByPath, findSkillByPath, getSepVisibleSkills, readSkillFileByPath, } from './sep-2640/sep-2640.resource-helpers';
|
|
75
|
+
export { assertSkillAuthorized, filterSkillsByAuthorities, getSkillAuthorities } from './skill-authorities.helper';
|
|
75
76
|
export { findNestedSkillMd } from './skill-directory-loader';
|
|
76
77
|
export { SkillSessionManager } from './session/skill-session.manager';
|
|
77
78
|
export { MemorySkillSessionStore, createSkillSessionStore } from './session/skill-session-store.interface';
|
package/skill/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skill/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skill/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-file.resource.d.ts","sourceRoot":"","sources":["../../../../src/skill/sep-2640/resources/skill-file.resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-file.resource.d.ts","sourceRoot":"","sources":["../../../../src/skill/sep-2640/resources/skill-file.resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAW5F,KAAK,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,qBAOa,wBAAyB,SAAQ,eAAe,CAAC,MAAM,CAAC;IAC7D,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAQtE,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAyBrE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAkCxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-index.resource.d.ts","sourceRoot":"","sources":["../../../../src/skill/sep-2640/resources/skill-index.resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-index.resource.d.ts","sourceRoot":"","sources":["../../../../src/skill/sep-2640/resources/skill-index.resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBASa,yBAA0B,SAAQ,eAAe;IACtD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAuDxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-md.resource.d.ts","sourceRoot":"","sources":["../../../../src/skill/sep-2640/resources/skill-md.resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-md.resource.d.ts","sourceRoot":"","sources":["../../../../src/skill/sep-2640/resources/skill-md.resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAM5F,KAAK,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC;;;;;;;;;;;GAWG;AACH,qBAQa,sBAAuB,SAAQ,eAAe,CAAC,MAAM,CAAC;IAC3D,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAQtE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAkBxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sep-2640.per-skill.d.ts","sourceRoot":"","sources":["../../../src/skill/sep-2640/sep-2640.per-skill.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAE3B,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,gBAAgB,MAAM,kCAAkC,CAAC;AAMrE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"sep-2640.per-skill.d.ts","sourceRoot":"","sources":["../../../src/skill/sep-2640/sep-2640.per-skill.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAE3B,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,gBAAgB,MAAM,kCAAkC,CAAC;AAMrE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,sBAAsB,CA4DxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,KAAK,EAAE,UAAU,CAAC;IAClB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1E,GAAG,OAAO,CAAC,IAAI,CAAC,CAkChB"}
|