@1mcp/agent 0.35.0-beta.3 → 0.35.0-beta.4
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/build/admin/assets/admin-AboutRuntimeWorkspace-CM2ZafTJ.js +1 -0
- package/build/admin/assets/admin-BackendLogsWorkspace-CvJs1npx.js +1 -0
- package/build/admin/assets/admin-OAuthServicesWorkspace-BswG57Gm.js +1 -0
- package/build/admin/assets/admin-PresetAuthoringWorkspace-BIIRs_EN.js +1 -0
- package/build/admin/assets/admin-console-Brz9bnhv.css +1 -0
- package/build/admin/assets/{admin-console-Bbil6BQU.css → admin-console-DmRyrCWD.css} +1 -1
- package/build/admin/assets/admin-console-MT8QZmIC.js +3 -0
- package/build/admin/assets/admin-icons-D-JtMXSq.js +1 -0
- package/build/admin/assets/admin-mantine-DSFdoMaN.js +53 -0
- package/build/admin/assets/admin-react-BSaWeqgv.js +8 -0
- package/build/admin/assets/admin-rolldown-runtime-Bh1tDfsg.js +1 -0
- package/build/admin/favicon.svg +4 -0
- package/build/admin/index.html +8 -2
- package/build/auth/sessionTypes.d.ts +2 -0
- package/build/auth/sessionTypes.d.ts.map +1 -1
- package/build/auth/sessionTypes.js.map +1 -1
- package/build/commands/inspect/inspect.d.ts +1 -0
- package/build/commands/inspect/inspect.d.ts.map +1 -1
- package/build/commands/inspect/inspect.js +4 -1
- package/build/commands/inspect/inspect.js.map +1 -1
- package/build/commands/proxy/proxy.d.ts.map +1 -1
- package/build/commands/proxy/proxy.js +2 -0
- package/build/commands/proxy/proxy.js.map +1 -1
- package/build/commands/run/run.d.ts +1 -0
- package/build/commands/run/run.d.ts.map +1 -1
- package/build/commands/run/run.js +4 -1
- package/build/commands/run/run.js.map +1 -1
- package/build/commands/serve/index.d.ts +10 -0
- package/build/commands/serve/index.d.ts.map +1 -1
- package/build/commands/serve/index.js +10 -0
- package/build/commands/serve/index.js.map +1 -1
- package/build/commands/serve/serve.d.ts +3 -0
- package/build/commands/serve/serve.d.ts.map +1 -1
- package/build/commands/serve/serve.js +20 -0
- package/build/commands/serve/serve.js.map +1 -1
- package/build/commands/serve/serveBackground.d.ts.map +1 -1
- package/build/commands/serve/serveBackground.js +2 -0
- package/build/commands/serve/serveBackground.js.map +1 -1
- package/build/commands/serve/templateContextTrust.d.ts +12 -0
- package/build/commands/serve/templateContextTrust.d.ts.map +1 -0
- package/build/commands/serve/templateContextTrust.js +23 -0
- package/build/commands/serve/templateContextTrust.js.map +1 -0
- package/build/commands/shared/apiClient.d.ts +3 -0
- package/build/commands/shared/apiClient.d.ts.map +1 -1
- package/build/commands/shared/apiClient.js +6 -0
- package/build/commands/shared/apiClient.js.map +1 -1
- package/build/commands/shared/clientSurfaceAttachment.d.ts +11 -0
- package/build/commands/shared/clientSurfaceAttachment.d.ts.map +1 -1
- package/build/commands/shared/clientSurfaceAttachment.js +64 -6
- package/build/commands/shared/clientSurfaceAttachment.js.map +1 -1
- package/build/commands/shared/inspectApiSchemas.d.ts +8 -8
- package/build/commands/shared/serveClient.d.ts +2 -1
- package/build/commands/shared/serveClient.d.ts.map +1 -1
- package/build/commands/shared/serveClient.js +3 -1
- package/build/commands/shared/serveClient.js.map +1 -1
- package/build/commands/shared/serveTargetResolver.d.ts +4 -0
- package/build/commands/shared/serveTargetResolver.d.ts.map +1 -1
- package/build/commands/shared/serveTargetResolver.js +6 -1
- package/build/commands/shared/serveTargetResolver.js.map +1 -1
- package/build/commands/wait/wait.d.ts.map +1 -1
- package/build/commands/wait/wait.js +1 -0
- package/build/commands/wait/wait.js.map +1 -1
- package/build/constants/mcp.d.ts +1 -1
- package/build/constants/mcp.js +1 -1
- package/build/core/capabilities/capabilityCatalog.d.ts +23 -1
- package/build/core/capabilities/capabilityCatalog.d.ts.map +1 -1
- package/build/core/capabilities/capabilityCatalog.js +63 -1
- package/build/core/capabilities/capabilityCatalog.js.map +1 -1
- package/build/core/capabilities/capabilityPagination.d.ts +40 -0
- package/build/core/capabilities/capabilityPagination.d.ts.map +1 -0
- package/build/core/capabilities/capabilityPagination.js +285 -0
- package/build/core/capabilities/capabilityPagination.js.map +1 -0
- package/build/core/capabilities/capabilityVisibility.d.ts +2 -1
- package/build/core/capabilities/capabilityVisibility.d.ts.map +1 -1
- package/build/core/capabilities/capabilityVisibility.js +2 -1
- package/build/core/capabilities/capabilityVisibility.js.map +1 -1
- package/build/core/client/clientManager.d.ts.map +1 -1
- package/build/core/client/clientManager.js +5 -0
- package/build/core/client/clientManager.js.map +1 -1
- package/build/core/context/templateContextTrust.d.ts +66 -0
- package/build/core/context/templateContextTrust.d.ts.map +1 -0
- package/build/core/context/templateContextTrust.js +184 -0
- package/build/core/context/templateContextTrust.js.map +1 -0
- package/build/core/protocol/notificationHandlers.d.ts.map +1 -1
- package/build/core/protocol/notificationHandlers.js +26 -4
- package/build/core/protocol/notificationHandlers.js.map +1 -1
- package/build/core/protocol/promptRequestHandlers.d.ts.map +1 -1
- package/build/core/protocol/promptRequestHandlers.js +20 -11
- package/build/core/protocol/promptRequestHandlers.js.map +1 -1
- package/build/core/protocol/requestHandlerUtils.d.ts +4 -0
- package/build/core/protocol/requestHandlerUtils.d.ts.map +1 -1
- package/build/core/protocol/requestHandlerUtils.js +22 -2
- package/build/core/protocol/requestHandlerUtils.js.map +1 -1
- package/build/core/protocol/resourceRequestHandlers.d.ts.map +1 -1
- package/build/core/protocol/resourceRequestHandlers.js +38 -18
- package/build/core/protocol/resourceRequestHandlers.js.map +1 -1
- package/build/core/protocol/toolRequestHandlers.d.ts.map +1 -1
- package/build/core/protocol/toolRequestHandlers.js +62 -19
- package/build/core/protocol/toolRequestHandlers.js.map +1 -1
- package/build/core/server/agentConfig.d.ts +4 -0
- package/build/core/server/agentConfig.d.ts.map +1 -1
- package/build/core/server/agentConfig.js +3 -0
- package/build/core/server/agentConfig.js.map +1 -1
- package/build/core/server/connectionManager.d.ts.map +1 -1
- package/build/core/server/connectionManager.js +2 -0
- package/build/core/server/connectionManager.js.map +1 -1
- package/build/core/server/requestContextPreparation.d.ts +2 -1
- package/build/core/server/requestContextPreparation.d.ts.map +1 -1
- package/build/core/server/requestContextPreparation.js.map +1 -1
- package/build/core/server/runtimeScopeOwnership.js +1 -1
- package/build/core/server/runtimeScopeOwnership.js.map +1 -1
- package/build/core/server/templateServerManager.d.ts.map +1 -1
- package/build/core/server/templateServerManager.js +2 -0
- package/build/core/server/templateServerManager.js.map +1 -1
- package/build/core/tools/internal/schemas/discovery.d.ts +1 -1
- package/build/core/tools/internal/schemas/index.d.ts +7 -7
- package/build/core/tools/internal/schemas/installation.d.ts +3 -3
- package/build/core/tools/internal/schemas/management.d.ts +3 -3
- package/build/core/types/server.d.ts +2 -0
- package/build/core/types/server.d.ts.map +1 -1
- package/build/core/types/server.js.map +1 -1
- package/build/core/types/transport.d.ts +10 -0
- package/build/core/types/transport.d.ts.map +1 -1
- package/build/core/types/transport.js +5 -0
- package/build/core/types/transport.js.map +1 -1
- package/build/domains/admin/adminConfiguredServerService.d.ts +80 -0
- package/build/domains/admin/adminConfiguredServerService.d.ts.map +1 -1
- package/build/domains/admin/adminConfiguredServerService.js +507 -1
- package/build/domains/admin/adminConfiguredServerService.js.map +1 -1
- package/build/domains/backend-logs/backendLogSource.d.ts.map +1 -1
- package/build/domains/backend-logs/backendLogSource.js.map +1 -1
- package/build/domains/config-change/configChange.d.ts +2 -1
- package/build/domains/config-change/configChange.d.ts.map +1 -1
- package/build/domains/config-change/configChange.js +88 -0
- package/build/domains/config-change/configChange.js.map +1 -1
- package/build/domains/config-change/types.d.ts +5 -1
- package/build/domains/config-change/types.d.ts.map +1 -1
- package/build/domains/installation/serverInstallationSourceResolution.js +2 -0
- package/build/domains/installation/serverInstallationSourceResolution.js.map +1 -1
- package/build/domains/installation/serverInstallationTypes.d.ts +8 -0
- package/build/domains/installation/serverInstallationTypes.d.ts.map +1 -1
- package/build/domains/installation/serverInstallationWorkflow.js +16 -3
- package/build/domains/installation/serverInstallationWorkflow.js.map +1 -1
- package/build/transport/http/middlewares/httpRequestLogger.d.ts.map +1 -1
- package/build/transport/http/middlewares/httpRequestLogger.js +3 -2
- package/build/transport/http/middlewares/httpRequestLogger.js.map +1 -1
- package/build/transport/http/routes/adminRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/adminRoutes.js +129 -14
- package/build/transport/http/routes/adminRoutes.js.map +1 -1
- package/build/transport/http/routes/inspectRequestContext.d.ts.map +1 -1
- package/build/transport/http/routes/inspectRequestContext.js +13 -4
- package/build/transport/http/routes/inspectRequestContext.js.map +1 -1
- package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/streamableHttpRoutes.js +13 -4
- package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
- package/build/transport/http/storage/streamableSessionRepository.d.ts.map +1 -1
- package/build/transport/http/storage/streamableSessionRepository.js +2 -0
- package/build/transport/http/storage/streamableSessionRepository.js.map +1 -1
- package/build/transport/http/streamableSessionLifecycle.d.ts +3 -1
- package/build/transport/http/streamableSessionLifecycle.d.ts.map +1 -1
- package/build/transport/http/streamableSessionLifecycle.js +23 -6
- package/build/transport/http/streamableSessionLifecycle.js.map +1 -1
- package/build/transport/http/utils/contextExtractor.d.ts +14 -16
- package/build/transport/http/utils/contextExtractor.d.ts.map +1 -1
- package/build/transport/http/utils/contextExtractor.js +124 -33
- package/build/transport/http/utils/contextExtractor.js.map +1 -1
- package/build/transport/http/utils/templateContextAuthority.d.ts +13 -0
- package/build/transport/http/utils/templateContextAuthority.d.ts.map +1 -0
- package/build/transport/http/utils/templateContextAuthority.js +121 -0
- package/build/transport/http/utils/templateContextAuthority.js.map +1 -0
- package/build/transport/stdioProxyTransport.d.ts +3 -0
- package/build/transport/stdioProxyTransport.d.ts.map +1 -1
- package/build/transport/stdioProxyTransport.js +7 -2
- package/build/transport/stdioProxyTransport.js.map +1 -1
- package/package.json +1 -1
- package/build/admin/assets/admin-console-BOl7XR0p.js +0 -61
- package/build/utils/ui/pagination.d.ts +0 -35
- package/build/utils/ui/pagination.d.ts.map +0 -1
- package/build/utils/ui/pagination.js +0 -166
- package/build/utils/ui/pagination.js.map +0 -1
|
@@ -4,6 +4,7 @@ import { AUTH_CONFIG } from '../../constants.js';
|
|
|
4
4
|
import { ServerStatus } from '../../core/types/index.js';
|
|
5
5
|
import logger from '../../logger/logger.js';
|
|
6
6
|
import { RestorableStreamableHTTPServerTransport } from '../../transport/http/restorableStreamableTransport.js';
|
|
7
|
+
import { authorizeRequestTemplateContext } from '../../transport/http/utils/templateContextAuthority.js';
|
|
7
8
|
import { logError } from '../../transport/http/utils/unifiedLogger.js';
|
|
8
9
|
import { withCanonicalSessionId } from '../../utils/context/sessionIdentity.js';
|
|
9
10
|
export var StreamableSessionStatus;
|
|
@@ -87,8 +88,8 @@ export class StreamableSessionLifecycle {
|
|
|
87
88
|
reason: StreamableSessionMissingReason.InitializeRequired,
|
|
88
89
|
};
|
|
89
90
|
}
|
|
90
|
-
const { config, context } = input.createSessionData();
|
|
91
|
-
return this.createSession(config, context);
|
|
91
|
+
const { config, context, contextProof } = input.createSessionData();
|
|
92
|
+
return this.createSession(config, context, undefined, StreamableSessionStatus.Created, contextProof);
|
|
92
93
|
}
|
|
93
94
|
const existing = await this.resolveExistingSession(input.sessionId);
|
|
94
95
|
if (existing.status !== StreamableSessionStatus.Missing) {
|
|
@@ -108,8 +109,8 @@ export class StreamableSessionLifecycle {
|
|
|
108
109
|
reason: StreamableSessionMissingReason.InvalidSession,
|
|
109
110
|
};
|
|
110
111
|
}
|
|
111
|
-
const { config, context } = input.createSessionData();
|
|
112
|
-
return this.createSession(config, context, input.sessionId, StreamableSessionStatus.InitializeRecovered);
|
|
112
|
+
const { config, context, contextProof } = input.createSessionData();
|
|
113
|
+
return this.createSession(config, context, input.sessionId, StreamableSessionStatus.InitializeRecovered, contextProof);
|
|
113
114
|
}
|
|
114
115
|
async resolveExistingSession(sessionId) {
|
|
115
116
|
if (!isValidSessionId(sessionId)) {
|
|
@@ -177,8 +178,23 @@ export class StreamableSessionLifecycle {
|
|
|
177
178
|
logger.info(`Restoring streamable session: ${sessionId}`);
|
|
178
179
|
const transport = this.createRestorableTransportImpl(sessionId);
|
|
179
180
|
const contextData = buildContextData(config, sessionId);
|
|
181
|
+
const authorization = contextData
|
|
182
|
+
? authorizeRequestTemplateContext({
|
|
183
|
+
context: contextData,
|
|
184
|
+
proof: config.contextProof,
|
|
185
|
+
transportSessionId: sessionId,
|
|
186
|
+
source: 'persisted',
|
|
187
|
+
})
|
|
188
|
+
: undefined;
|
|
189
|
+
if (authorization && authorization.status !== 'trusted') {
|
|
190
|
+
return {
|
|
191
|
+
transport: null,
|
|
192
|
+
errorType: StreamableSessionRestoreErrorType.ContextInvalid,
|
|
193
|
+
error: 'Persisted template context is not trusted. Please initialize a new session.',
|
|
194
|
+
};
|
|
195
|
+
}
|
|
180
196
|
try {
|
|
181
|
-
await this.serverManager.connectTransport(transport, sessionId, config,
|
|
197
|
+
await this.serverManager.connectTransport(transport, sessionId, config, authorization?.status === 'trusted' ? authorization.context : undefined);
|
|
182
198
|
}
|
|
183
199
|
catch (connectError) {
|
|
184
200
|
const errorMessage = connectError instanceof Error ? connectError.message : String(connectError);
|
|
@@ -214,7 +230,7 @@ export class StreamableSessionLifecycle {
|
|
|
214
230
|
return { transport: null, error: errorMessage, errorType: StreamableSessionRestoreErrorType.TransportFailed };
|
|
215
231
|
}
|
|
216
232
|
}
|
|
217
|
-
async createSession(config, context, providedSessionId, status = StreamableSessionStatus.Created) {
|
|
233
|
+
async createSession(config, context, providedSessionId, status = StreamableSessionStatus.Created, contextProof) {
|
|
218
234
|
const sessionId = providedSessionId || AUTH_CONFIG.SERVER.STREAMABLE_SESSION.ID_PREFIX + randomUUID();
|
|
219
235
|
let transport;
|
|
220
236
|
try {
|
|
@@ -235,6 +251,7 @@ export class StreamableSessionLifecycle {
|
|
|
235
251
|
const configWithContext = {
|
|
236
252
|
...config,
|
|
237
253
|
context: canonicalContext,
|
|
254
|
+
contextProof,
|
|
238
255
|
};
|
|
239
256
|
try {
|
|
240
257
|
await this.serverManager.connectTransport(transport, sessionId, configWithContext, validContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamableSessionLifecycle.js","sourceRoot":"","sources":["../../../src/transport/http/streamableSessionLifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"streamableSessionLifecycle.js","sourceRoot":"","sources":["../../../src/transport/http/streamableSessionLifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,25 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TemplateContextProof } from '../../../core/context/templateContextTrust.js';
|
|
2
|
+
import type { ContextData } from '../../../types/context.js';
|
|
2
3
|
import type { Request } from 'express';
|
|
3
4
|
export { deriveContextSessionId } from '../../../utils/context/sessionIdentity.js';
|
|
4
5
|
export declare const CONTEXT_HEADERS: {
|
|
5
6
|
readonly SESSION_ID: "mcp-session-id";
|
|
6
7
|
};
|
|
8
|
+
export interface ExtractedTemplateContextRequest {
|
|
9
|
+
context: ContextData;
|
|
10
|
+
proof?: TemplateContextProof;
|
|
11
|
+
source: 'meta' | 'query';
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Type guard to check if a value is a valid ContextData
|
|
15
|
+
*/
|
|
16
|
+
export declare function isContextData(value: unknown): value is ContextData;
|
|
7
17
|
/**
|
|
8
18
|
* Extract context data from _meta field in request body (from STDIO proxy)
|
|
9
19
|
*/
|
|
10
|
-
export declare function extractContextFromMeta(req: Request):
|
|
11
|
-
|
|
12
|
-
user?: UserContext;
|
|
13
|
-
environment?: EnvironmentContext;
|
|
14
|
-
timestamp?: string;
|
|
15
|
-
version?: string;
|
|
16
|
-
sessionId?: string;
|
|
17
|
-
transport?: {
|
|
18
|
-
type: string;
|
|
19
|
-
connectionId?: string;
|
|
20
|
-
connectionTimestamp?: string;
|
|
21
|
-
client?: ClientInfo;
|
|
22
|
-
};
|
|
23
|
-
} | null;
|
|
24
|
-
export declare function encodeContextValue(context: ContextData): string;
|
|
20
|
+
export declare function extractContextFromMeta(req: Request): ContextData | null;
|
|
21
|
+
export declare function encodeContextValue(value: ContextData | TemplateContextProof): string;
|
|
25
22
|
export declare function extractContextFromQuery(req: Request): ContextData | null;
|
|
26
23
|
export declare function extractRequestContext(req: Request): ContextData | null;
|
|
24
|
+
export declare function extractTemplateContextRequest(req: Request): ExtractedTemplateContextRequest | null;
|
|
27
25
|
//# sourceMappingURL=contextExtractor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextExtractor.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/utils/contextExtractor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contextExtractor.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/utils/contextExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAG/E,eAAO,MAAM,eAAe;;CAElB,CAAC;AAEX,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAiFD;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAoCvE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,GAAG,MAAM,CAEpF;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CA0BxE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAEtE;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,+BAA+B,GAAG,IAAI,CAoBlG"}
|
|
@@ -1,23 +1,87 @@
|
|
|
1
1
|
import logger from '../../../logger/logger.js';
|
|
2
|
+
import { z } from 'zod';
|
|
2
3
|
export { deriveContextSessionId } from '../../../utils/context/sessionIdentity.js';
|
|
3
4
|
// Header constants for context transmission
|
|
4
5
|
export const CONTEXT_HEADERS = {
|
|
5
6
|
SESSION_ID: 'mcp-session-id', // Use standard streamable HTTP header
|
|
6
7
|
};
|
|
8
|
+
const gitInfoSchema = z
|
|
9
|
+
.object({
|
|
10
|
+
branch: z.string().optional(),
|
|
11
|
+
commit: z.string().optional(),
|
|
12
|
+
repository: z.string().optional(),
|
|
13
|
+
isRepo: z.boolean().optional(),
|
|
14
|
+
})
|
|
15
|
+
.strict();
|
|
16
|
+
const contextNamespaceSchema = z
|
|
17
|
+
.object({
|
|
18
|
+
path: z.string().optional(),
|
|
19
|
+
cwd: z.string().optional(),
|
|
20
|
+
name: z.string().optional(),
|
|
21
|
+
git: gitInfoSchema.optional(),
|
|
22
|
+
environment: z.string().optional(),
|
|
23
|
+
custom: z.record(z.string(), z.unknown()).optional(),
|
|
24
|
+
})
|
|
25
|
+
.strict();
|
|
26
|
+
const userContextSchema = z
|
|
27
|
+
.object({
|
|
28
|
+
name: z.string().optional(),
|
|
29
|
+
email: z.string().optional(),
|
|
30
|
+
home: z.string().optional(),
|
|
31
|
+
username: z.string().optional(),
|
|
32
|
+
uid: z.string().optional(),
|
|
33
|
+
gid: z.string().optional(),
|
|
34
|
+
shell: z.string().optional(),
|
|
35
|
+
})
|
|
36
|
+
.strict();
|
|
37
|
+
const environmentContextSchema = z
|
|
38
|
+
.object({
|
|
39
|
+
variables: z.record(z.string(), z.string()).optional(),
|
|
40
|
+
prefixes: z.array(z.string()).optional(),
|
|
41
|
+
})
|
|
42
|
+
.strict();
|
|
43
|
+
const clientInfoSchema = z
|
|
44
|
+
.object({
|
|
45
|
+
name: z.string(),
|
|
46
|
+
version: z.string(),
|
|
47
|
+
title: z.string().optional(),
|
|
48
|
+
})
|
|
49
|
+
.strict();
|
|
50
|
+
const contextDataSchema = z
|
|
51
|
+
.object({
|
|
52
|
+
project: contextNamespaceSchema,
|
|
53
|
+
user: userContextSchema,
|
|
54
|
+
environment: environmentContextSchema,
|
|
55
|
+
timestamp: z.string().optional(),
|
|
56
|
+
sessionId: z.string().optional(),
|
|
57
|
+
version: z.string().optional(),
|
|
58
|
+
transport: z
|
|
59
|
+
.object({
|
|
60
|
+
type: z.string(),
|
|
61
|
+
url: z.string().optional(),
|
|
62
|
+
connectionId: z.string().optional(),
|
|
63
|
+
connectionTimestamp: z.string().optional(),
|
|
64
|
+
client: clientInfoSchema.optional(),
|
|
65
|
+
})
|
|
66
|
+
.strict()
|
|
67
|
+
.optional(),
|
|
68
|
+
})
|
|
69
|
+
.strict();
|
|
70
|
+
const templateContextProofSchema = z
|
|
71
|
+
.object({
|
|
72
|
+
version: z.literal(1),
|
|
73
|
+
runtimeScopeId: z.string().min(1),
|
|
74
|
+
sessionId: z.string().min(1),
|
|
75
|
+
contextHash: z.string().min(1),
|
|
76
|
+
issuedAt: z.string().datetime(),
|
|
77
|
+
signature: z.string().min(1),
|
|
78
|
+
})
|
|
79
|
+
.strict();
|
|
7
80
|
/**
|
|
8
81
|
* Type guard to check if a value is a valid ContextData
|
|
9
82
|
*/
|
|
10
|
-
function isContextData(value) {
|
|
11
|
-
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
const candidate = value;
|
|
15
|
-
return (typeof candidate.project === 'object' &&
|
|
16
|
-
candidate.project !== null &&
|
|
17
|
-
typeof candidate.user === 'object' &&
|
|
18
|
-
candidate.user !== null &&
|
|
19
|
-
typeof candidate.environment === 'object' &&
|
|
20
|
-
candidate.environment !== null);
|
|
83
|
+
export function isContextData(value) {
|
|
84
|
+
return contextDataSchema.safeParse(value).success;
|
|
21
85
|
}
|
|
22
86
|
/**
|
|
23
87
|
* Extract context data from _meta field in request body (from STDIO proxy)
|
|
@@ -33,35 +97,20 @@ export function extractContextFromMeta(req) {
|
|
|
33
97
|
return null;
|
|
34
98
|
}
|
|
35
99
|
// Validate that the context has the correct structure
|
|
36
|
-
|
|
100
|
+
const parsed = contextDataSchema.safeParse(contextData);
|
|
101
|
+
if (!parsed.success) {
|
|
37
102
|
logger.warn('Invalid context structure in _meta field, ignoring context');
|
|
38
103
|
return null;
|
|
39
104
|
}
|
|
40
|
-
|
|
41
|
-
const result = {
|
|
42
|
-
project: contextData.project,
|
|
43
|
-
user: contextData.user,
|
|
44
|
-
environment: contextData.environment,
|
|
45
|
-
timestamp: contextData.timestamp,
|
|
46
|
-
version: contextData.version,
|
|
47
|
-
sessionId: contextData.sessionId,
|
|
48
|
-
};
|
|
49
|
-
// Include transport info if present
|
|
50
|
-
if ('transport' in contextData &&
|
|
51
|
-
contextData.transport &&
|
|
52
|
-
typeof contextData.transport === 'object' &&
|
|
53
|
-
'type' in contextData.transport) {
|
|
54
|
-
result.transport = contextData.transport;
|
|
55
|
-
}
|
|
56
|
-
return result;
|
|
105
|
+
return parsed.data;
|
|
57
106
|
}
|
|
58
107
|
catch (error) {
|
|
59
108
|
logger.error('Failed to extract context from _meta field:', error instanceof Error ? error : new Error(String(error)));
|
|
60
109
|
return null;
|
|
61
110
|
}
|
|
62
111
|
}
|
|
63
|
-
export function encodeContextValue(
|
|
64
|
-
return Buffer.from(JSON.stringify(
|
|
112
|
+
export function encodeContextValue(value) {
|
|
113
|
+
return Buffer.from(JSON.stringify(value), 'utf8').toString('base64url');
|
|
65
114
|
}
|
|
66
115
|
export function extractContextFromQuery(req) {
|
|
67
116
|
try {
|
|
@@ -72,11 +121,12 @@ export function extractContextFromQuery(req) {
|
|
|
72
121
|
}
|
|
73
122
|
const decoded = Buffer.from(encoded, 'base64url').toString('utf8');
|
|
74
123
|
const parsed = JSON.parse(decoded);
|
|
75
|
-
|
|
124
|
+
const context = contextDataSchema.safeParse(parsed);
|
|
125
|
+
if (!context.success) {
|
|
76
126
|
logger.warn('Invalid context structure in request query, ignoring context');
|
|
77
127
|
return null;
|
|
78
128
|
}
|
|
79
|
-
return
|
|
129
|
+
return context.data;
|
|
80
130
|
}
|
|
81
131
|
catch (error) {
|
|
82
132
|
logger.error('Failed to extract context from request query:', error instanceof Error ? error : new Error(String(error)));
|
|
@@ -86,4 +136,45 @@ export function extractContextFromQuery(req) {
|
|
|
86
136
|
export function extractRequestContext(req) {
|
|
87
137
|
return extractContextFromMeta(req) ?? extractContextFromQuery(req);
|
|
88
138
|
}
|
|
139
|
+
export function extractTemplateContextRequest(req) {
|
|
140
|
+
const metaContext = extractContextFromMeta(req);
|
|
141
|
+
if (metaContext) {
|
|
142
|
+
return {
|
|
143
|
+
context: metaContext,
|
|
144
|
+
proof: extractProofFromMeta(req) ?? undefined,
|
|
145
|
+
source: 'meta',
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
const queryContext = extractContextFromQuery(req);
|
|
149
|
+
if (!queryContext) {
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
return {
|
|
153
|
+
context: queryContext,
|
|
154
|
+
proof: extractProofFromQuery(req) ?? undefined,
|
|
155
|
+
source: 'query',
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
function extractProofFromMeta(req) {
|
|
159
|
+
const body = req.body;
|
|
160
|
+
const value = body?.params?._meta?.contextProof ?? body?._meta?.contextProof;
|
|
161
|
+
return isTemplateContextProof(value) ? value : null;
|
|
162
|
+
}
|
|
163
|
+
function extractProofFromQuery(req) {
|
|
164
|
+
try {
|
|
165
|
+
const queryValue = req.query?.contextProof;
|
|
166
|
+
const encoded = Array.isArray(queryValue) ? queryValue[0] : queryValue;
|
|
167
|
+
if (!encoded || typeof encoded !== 'string') {
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
const parsed = JSON.parse(Buffer.from(encoded, 'base64url').toString('utf8'));
|
|
171
|
+
return isTemplateContextProof(parsed) ? parsed : null;
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
function isTemplateContextProof(value) {
|
|
178
|
+
return templateContextProofSchema.safeParse(value).success;
|
|
179
|
+
}
|
|
89
180
|
//# sourceMappingURL=contextExtractor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextExtractor.js","sourceRoot":"","sources":["../../../../src/transport/http/utils/contextExtractor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contextExtractor.js","sourceRoot":"","sources":["../../../../src/transport/http/utils/contextExtractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type TemplateContextAuthorization, type TemplateContextProof } from '../../../core/context/templateContextTrust.js';
|
|
2
|
+
import type { ContextData } from '../../../types/context.js';
|
|
3
|
+
export interface AuthorizeRequestTemplateContextInput {
|
|
4
|
+
context: ContextData;
|
|
5
|
+
proof?: TemplateContextProof;
|
|
6
|
+
transportSessionId?: string;
|
|
7
|
+
source: 'meta' | 'query' | 'persisted';
|
|
8
|
+
}
|
|
9
|
+
export declare function authorizeRequestTemplateContext(input: AuthorizeRequestTemplateContextInput): TemplateContextAuthorization;
|
|
10
|
+
export declare function redactContextForAudit(context: ContextData): Record<string, unknown>;
|
|
11
|
+
export declare function redactTemplateContextBodyForLogging(body: unknown): unknown;
|
|
12
|
+
export declare function redactTemplateContextQueryForLogging(query: unknown): unknown;
|
|
13
|
+
//# sourceMappingURL=templateContextAuthority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateContextAuthority.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/utils/templateContextAuthority.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,4BAA4B,EAEjC,KAAK,oBAAoB,EAC1B,MAAM,2CAA2C,CAAC;AAKnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,oCAAoC;IACnD,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;CACxC;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,oCAAoC,GAC1C,4BAA4B,CA4C9B;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBnF;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAoB1E;AAED,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAY5E"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { authorizeTemplateContext, TemplateContextCapabilityStore, } from '../../../core/context/templateContextTrust.js';
|
|
2
|
+
import { RuntimeIdentityService } from '../../../core/runtime/runtimeIdentityService.js';
|
|
3
|
+
import { AgentConfigManager } from '../../../core/server/agentConfig.js';
|
|
4
|
+
import { debugIf, infoIf, warnIf } from '../../../logger/logger.js';
|
|
5
|
+
import { isContextData } from '../../../transport/http/utils/contextExtractor.js';
|
|
6
|
+
export function authorizeRequestTemplateContext(input) {
|
|
7
|
+
const config = AgentConfigManager.getInstance();
|
|
8
|
+
const mode = config.get('templateContext')?.trust ?? 'verified';
|
|
9
|
+
const storagePath = config.get('runtimeScopeStoragePath');
|
|
10
|
+
const sessionTtlMinutes = config.get('auth')?.sessionTtlMinutes ?? 1440;
|
|
11
|
+
const capability = mode === 'verified' && storagePath
|
|
12
|
+
? new TemplateContextCapabilityStore({
|
|
13
|
+
storageDir: storagePath,
|
|
14
|
+
runtimeScopeId: new RuntimeIdentityService({ storageDir: storagePath }).getRuntimeScopeId(),
|
|
15
|
+
}).getOrCreate()
|
|
16
|
+
: undefined;
|
|
17
|
+
const result = authorizeTemplateContext({
|
|
18
|
+
mode,
|
|
19
|
+
context: input.context,
|
|
20
|
+
proof: input.proof,
|
|
21
|
+
capability,
|
|
22
|
+
transportSessionId: input.transportSessionId,
|
|
23
|
+
maxAgeMs: sessionTtlMinutes * 60 * 1000,
|
|
24
|
+
});
|
|
25
|
+
const createAudit = () => ({
|
|
26
|
+
source: input.source,
|
|
27
|
+
trustMode: mode,
|
|
28
|
+
verification: result.status,
|
|
29
|
+
reason: 'reason' in result ? result.reason : undefined,
|
|
30
|
+
provenance: 'provenance' in result ? result.provenance : undefined,
|
|
31
|
+
runtimeScopeId: result.runtimeScopeId,
|
|
32
|
+
sessionId: input.transportSessionId ?? input.context.sessionId,
|
|
33
|
+
contextHash: result.contextHash,
|
|
34
|
+
projectName: input.context.project.name,
|
|
35
|
+
projectPath: input.context.project.path,
|
|
36
|
+
});
|
|
37
|
+
const auditLog = result.status === 'trusted' ? infoIf : warnIf;
|
|
38
|
+
auditLog(() => ({ message: 'Template context audit', meta: createAudit() }));
|
|
39
|
+
debugIf(() => ({
|
|
40
|
+
message: 'Template context audit detail',
|
|
41
|
+
meta: {
|
|
42
|
+
...createAudit(),
|
|
43
|
+
context: redactContextForAudit(input.context),
|
|
44
|
+
},
|
|
45
|
+
}));
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
export function redactContextForAudit(context) {
|
|
49
|
+
return {
|
|
50
|
+
...context,
|
|
51
|
+
project: {
|
|
52
|
+
...context.project,
|
|
53
|
+
custom: redactRecord(context.project.custom),
|
|
54
|
+
},
|
|
55
|
+
user: {
|
|
56
|
+
...context.user,
|
|
57
|
+
email: context.user.email ? '[REDACTED]' : undefined,
|
|
58
|
+
home: context.user.home ? '[REDACTED]' : undefined,
|
|
59
|
+
shell: context.user.shell ? '[REDACTED]' : undefined,
|
|
60
|
+
},
|
|
61
|
+
environment: {
|
|
62
|
+
...context.environment,
|
|
63
|
+
variables: redactRecord(context.environment.variables),
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export function redactTemplateContextBodyForLogging(body) {
|
|
68
|
+
if (!body || typeof body !== 'object') {
|
|
69
|
+
return body;
|
|
70
|
+
}
|
|
71
|
+
const record = body;
|
|
72
|
+
const redacted = { ...record };
|
|
73
|
+
if (record._meta && typeof record._meta === 'object') {
|
|
74
|
+
redacted._meta = redactMetaForLogging(record._meta);
|
|
75
|
+
}
|
|
76
|
+
if (record.params && typeof record.params === 'object') {
|
|
77
|
+
const params = record.params;
|
|
78
|
+
redacted.params = {
|
|
79
|
+
...params,
|
|
80
|
+
...(params._meta && typeof params._meta === 'object'
|
|
81
|
+
? { _meta: redactMetaForLogging(params._meta) }
|
|
82
|
+
: {}),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
return redacted;
|
|
86
|
+
}
|
|
87
|
+
export function redactTemplateContextQueryForLogging(query) {
|
|
88
|
+
if (!query || typeof query !== 'object') {
|
|
89
|
+
return query;
|
|
90
|
+
}
|
|
91
|
+
const redacted = { ...query };
|
|
92
|
+
if ('context' in redacted) {
|
|
93
|
+
redacted.context = '[DECODED_IN_TEMPLATE_CONTEXT_AUDIT]';
|
|
94
|
+
}
|
|
95
|
+
if ('contextProof' in redacted) {
|
|
96
|
+
redacted.contextProof = '[REDACTED]';
|
|
97
|
+
}
|
|
98
|
+
return redacted;
|
|
99
|
+
}
|
|
100
|
+
function redactMetaForLogging(meta) {
|
|
101
|
+
return {
|
|
102
|
+
...meta,
|
|
103
|
+
...(meta.context && typeof meta.context === 'object'
|
|
104
|
+
? { context: redactContextForGeneralLogging(meta.context) }
|
|
105
|
+
: {}),
|
|
106
|
+
...(meta.contextProof ? { contextProof: { present: true, signature: '[REDACTED]' } } : {}),
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function redactContextForGeneralLogging(context) {
|
|
110
|
+
if (isContextData(context)) {
|
|
111
|
+
return redactContextForAudit(context);
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
invalid: true,
|
|
115
|
+
keys: Object.keys(context),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
function redactRecord(value) {
|
|
119
|
+
return value ? Object.fromEntries(Object.keys(value).map((key) => [key, '[REDACTED]'])) : undefined;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=templateContextAuthority.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateContextAuthority.js","sourceRoot":"","sources":["../../../../src/transport/http/utils/templateContextAuthority.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { TemplateContextProof } from '../core/context/templateContextTrust.js';
|
|
1
2
|
import type { ContextData } from '../types/context.js';
|
|
2
3
|
/**
|
|
3
4
|
* STDIO Proxy Transport Options
|
|
@@ -10,6 +11,8 @@ export interface StdioProxyTransportOptions {
|
|
|
10
11
|
tags?: string[];
|
|
11
12
|
timeout?: number;
|
|
12
13
|
context?: ContextData;
|
|
14
|
+
contextProof?: TemplateContextProof;
|
|
15
|
+
createContextProof?: (context: ContextData) => Promise<TemplateContextProof | undefined>;
|
|
13
16
|
}
|
|
14
17
|
/**
|
|
15
18
|
* STDIO Proxy Transport
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdioProxyTransport.d.ts","sourceRoot":"","sources":["../../src/transport/stdioProxyTransport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stdioProxyTransport.d.ts","sourceRoot":"","sources":["../../src/transport/stdioProxyTransport.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGrE;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;CAC1F;AASD;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IASlB,OAAO,CAAC,OAAO;IAR3B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,SAAS,CAAM;gBAEH,OAAO,EAAE,0BAA0B;IAgDvD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB5B;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IAuBzC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkD9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;OAEG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;YACW,cAAc;IAqC5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB7B"}
|
|
@@ -143,7 +143,7 @@ export class StdioProxyTransport {
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
// Add context metadata to message _meta field
|
|
146
|
-
const enhancedMessage = this.addContextMeta(message);
|
|
146
|
+
const enhancedMessage = await this.addContextMeta(message);
|
|
147
147
|
// Forward to HTTP server
|
|
148
148
|
await this.httpTransport.send(enhancedMessage);
|
|
149
149
|
}
|
|
@@ -205,6 +205,7 @@ export class StdioProxyTransport {
|
|
|
205
205
|
const updatedInit = {
|
|
206
206
|
...init,
|
|
207
207
|
headers,
|
|
208
|
+
redirect: 'error',
|
|
208
209
|
};
|
|
209
210
|
// Call global fetch with updated headers
|
|
210
211
|
return fetch(input, updatedInit);
|
|
@@ -219,7 +220,7 @@ export class StdioProxyTransport {
|
|
|
219
220
|
/**
|
|
220
221
|
* Add context metadata to message using _meta field
|
|
221
222
|
*/
|
|
222
|
-
addContextMeta(message) {
|
|
223
|
+
async addContextMeta(message) {
|
|
223
224
|
// Create context with client info if available
|
|
224
225
|
const contextWithClient = {
|
|
225
226
|
...this.context,
|
|
@@ -231,6 +232,9 @@ export class StdioProxyTransport {
|
|
|
231
232
|
},
|
|
232
233
|
}),
|
|
233
234
|
};
|
|
235
|
+
const contextProof = this.options.createContextProof
|
|
236
|
+
? await this.options.createContextProof(contextWithClient)
|
|
237
|
+
: this.options.contextProof;
|
|
234
238
|
// Only add _meta to messages that are requests (have params)
|
|
235
239
|
if (this.isRequest(message) && message.params !== undefined) {
|
|
236
240
|
const params = message.params;
|
|
@@ -242,6 +246,7 @@ export class StdioProxyTransport {
|
|
|
242
246
|
_meta: {
|
|
243
247
|
...(params._meta || {}), // Preserve existing _meta
|
|
244
248
|
context: contextWithClient, // Add our context data
|
|
249
|
+
...(contextProof ? { contextProof } : {}),
|
|
245
250
|
},
|
|
246
251
|
},
|
|
247
252
|
};
|