@inspectr/mcplab 1.28.2 → 1.28.3
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/dist/app-server/assistant-events.d.ts +8 -28
- package/dist/app-server/mastra-scenario-assistant.d.ts +2 -0
- package/dist/app-server/mastra-scenario-assistant.d.ts.map +1 -1
- package/dist/app-server/mastra-scenario-assistant.js +26 -1
- package/dist/app-server/mastra-scenario-assistant.js.map +1 -1
- package/dist/app-server/mastra-scenario-tools.d.ts.map +1 -1
- package/dist/app-server/mastra-scenario-tools.js +6 -1
- package/dist/app-server/mastra-scenario-tools.js.map +1 -1
- package/dist/app-server/scenario-assistant-domain.d.ts +130 -156
- package/dist/app-server/scenario-assistant-observability.d.ts +25 -0
- package/dist/app-server/scenario-assistant-observability.d.ts.map +1 -0
- package/dist/app-server/scenario-assistant-observability.js +47 -0
- package/dist/app-server/scenario-assistant-observability.js.map +1 -0
- package/dist/app-server/types.d.ts +25 -25
- package/package.json +2 -2
|
@@ -1,35 +1,15 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
2
|
import { type SseEvent } from './jobs.js';
|
|
3
|
-
export type AssistantSseEventType =
|
|
4
|
-
| 'session_started'
|
|
5
|
-
| 'turn_started'
|
|
6
|
-
| 'tool_call_requested'
|
|
7
|
-
| 'tool_call_approved'
|
|
8
|
-
| 'tool_call_denied'
|
|
9
|
-
| 'tool_call_resolved'
|
|
10
|
-
| 'assistant_message_completed'
|
|
11
|
-
| 'session_warning'
|
|
12
|
-
| 'session_error'
|
|
13
|
-
| 'session_finished';
|
|
3
|
+
export type AssistantSseEventType = 'session_started' | 'turn_started' | 'tool_call_requested' | 'tool_call_approved' | 'tool_call_denied' | 'tool_call_resolved' | 'assistant_message_completed' | 'session_warning' | 'session_error' | 'session_finished';
|
|
14
4
|
export type AssistantSseEvent = SseEvent & {
|
|
15
|
-
|
|
5
|
+
type: AssistantSseEventType;
|
|
16
6
|
};
|
|
17
7
|
export interface AssistantSseSessionState {
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
events: AssistantSseEvent[];
|
|
9
|
+
clients: Set<ServerResponse>;
|
|
20
10
|
}
|
|
21
|
-
export declare function createAssistantSseEvent(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
): AssistantSseEvent;
|
|
25
|
-
export declare function broadcastAssistantSseEvent(
|
|
26
|
-
session: AssistantSseSessionState,
|
|
27
|
-
event: AssistantSseEvent
|
|
28
|
-
): void;
|
|
29
|
-
export declare function serveAssistantSseStream(
|
|
30
|
-
req: IncomingMessage,
|
|
31
|
-
res: ServerResponse,
|
|
32
|
-
session: AssistantSseSessionState
|
|
33
|
-
): void;
|
|
11
|
+
export declare function createAssistantSseEvent(type: AssistantSseEventType, payload: Record<string, unknown>): AssistantSseEvent;
|
|
12
|
+
export declare function broadcastAssistantSseEvent(session: AssistantSseSessionState, event: AssistantSseEvent): void;
|
|
13
|
+
export declare function serveAssistantSseStream(req: IncomingMessage, res: ServerResponse, session: AssistantSseSessionState): void;
|
|
34
14
|
export declare function endAssistantSseClients(session: AssistantSseSessionState): void;
|
|
35
|
-
//# sourceMappingURL=assistant-events.d.ts.map
|
|
15
|
+
//# sourceMappingURL=assistant-events.d.ts.map
|
|
@@ -41,6 +41,8 @@ export declare class MastraScenarioAssistant {
|
|
|
41
41
|
readonly mastra: Mastra;
|
|
42
42
|
readonly memory: Memory;
|
|
43
43
|
readonly agent: Agent;
|
|
44
|
+
readonly provider: string;
|
|
45
|
+
readonly modelName: string;
|
|
44
46
|
constructor(options: MastraScenarioAssistantOptions);
|
|
45
47
|
init(): Promise<void>;
|
|
46
48
|
listSuspendedRuns(): Promise<import('@mastra/core/agent').AgentListSuspendedRunsResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mastra-scenario-assistant.d.ts","sourceRoot":"","sources":["../../src/app-server/mastra-scenario-assistant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAIL,KAAK,yBAAyB,EAC/B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"mastra-scenario-assistant.d.ts","sourceRoot":"","sources":["../../src/app-server/mastra-scenario-assistant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAIL,KAAK,yBAAyB,EAC/B,MAAM,4BAA4B,CAAC;AAOpC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,SAAS,EAAE,OAAO,EAAE,CAAC;QACrB,YAAY,EAAE,OAAO,EAAE,CAAC;KACzB,CAAC;CACH;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAIT;AAED,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,GAAG,EAAE,gBAAgB,CAAC;IACtB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,yBAAyB,KAAK,IAAI,CAAC;CAC5D;AAED,qBAAa,uBAAuB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,8BAA8B;IAqC7C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,iBAAiB;IAIvB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,WAAW;IA6B5E,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM;IAWlF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,CAUzF"}
|
|
@@ -3,6 +3,7 @@ import { Mastra } from '@mastra/core/mastra';
|
|
|
3
3
|
import { Memory } from '@mastra/memory';
|
|
4
4
|
import { LibSQLStore } from '@mastra/libsql';
|
|
5
5
|
import { createMastraScenarioTools, createScenarioAssistantProposalTool, resolveMastraScenarioModel } from './mastra-scenario-tools.js';
|
|
6
|
+
import { logScenarioAssistantRequest, startScenarioAssistantLangSmithRun } from './scenario-assistant-observability.js';
|
|
6
7
|
export function scenarioAssistantScopeKey(params) {
|
|
7
8
|
return params.configPath
|
|
8
9
|
? `config:${params.configPath}:${params.scenarioId}`
|
|
@@ -15,7 +16,11 @@ export class MastraScenarioAssistant {
|
|
|
15
16
|
mastra;
|
|
16
17
|
memory;
|
|
17
18
|
agent;
|
|
19
|
+
provider;
|
|
20
|
+
modelName;
|
|
18
21
|
constructor(options) {
|
|
22
|
+
this.provider = options.agentConfig.provider;
|
|
23
|
+
this.modelName = options.agentConfig.model;
|
|
19
24
|
const scope = options.scopeKey ?? `scenario:${options.context.scenario.id}`;
|
|
20
25
|
this.threadId = scope;
|
|
21
26
|
this.resourceId = scope;
|
|
@@ -53,11 +58,31 @@ export class MastraScenarioAssistant {
|
|
|
53
58
|
return this.agent.listSuspendedRuns({ threadId: this.threadId, resourceId: this.resourceId });
|
|
54
59
|
}
|
|
55
60
|
stream(message, context, signal) {
|
|
56
|
-
|
|
61
|
+
const request = {
|
|
62
|
+
sessionId: this.threadId,
|
|
63
|
+
provider: this.provider,
|
|
64
|
+
model: this.modelName,
|
|
65
|
+
message
|
|
66
|
+
};
|
|
67
|
+
logScenarioAssistantRequest(request);
|
|
68
|
+
const trace = startScenarioAssistantLangSmithRun(request);
|
|
69
|
+
return this.agent
|
|
70
|
+
.stream(message, {
|
|
57
71
|
memory: { thread: this.threadId, resource: this.resourceId },
|
|
58
72
|
instructions: buildScenarioAssistantInstructions(context),
|
|
59
73
|
abortSignal: signal,
|
|
60
74
|
maxSteps: 25
|
|
75
|
+
})
|
|
76
|
+
.then((result) => {
|
|
77
|
+
void trace?.end({ outputs: { runId: result.runId } }).then(() => trace?.postRun());
|
|
78
|
+
return result;
|
|
79
|
+
})
|
|
80
|
+
.catch(async (error) => {
|
|
81
|
+
if (trace) {
|
|
82
|
+
await trace.end(undefined, error instanceof Error ? error.message : String(error));
|
|
83
|
+
await trace.postRun();
|
|
84
|
+
}
|
|
85
|
+
throw error;
|
|
61
86
|
});
|
|
62
87
|
}
|
|
63
88
|
resumeStream(runId, approved, signal, toolCallId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mastra-scenario-assistant.js","sourceRoot":"","sources":["../../src/app-server/mastra-scenario-assistant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EACL,yBAAyB,EACzB,mCAAmC,EACnC,0BAA0B,EAE3B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"mastra-scenario-assistant.js","sourceRoot":"","sources":["../../src/app-server/mastra-scenario-assistant.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mastra-scenario-tools.d.ts","sourceRoot":"","sources":["../../src/app-server/mastra-scenario-tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACjD,QAAQ,EAAE,CACR,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC/B,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,SAAS,CAAC,EAAE;QAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChF,YAAY,CAAC,EAAE;QAAE,WAAW,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7F,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EACnE,WAAW,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"mastra-scenario-tools.d.ts","sourceRoot":"","sources":["../../src/app-server/mastra-scenario-tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACjD,QAAQ,EAAE,CACR,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC/B,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,SAAS,CAAC,EAAE;QAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChF,YAAY,CAAC,EAAE;QAAE,WAAW,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7F,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EACnE,WAAW,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,8CAwBlE;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,wBAAwB,gKA2BzE;AAED,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,CAAC,QAAQ,EAAE,yBAAyB,KAAK,IAAI;;;;;;;;;;;;;;;;;gJAwB1D"}
|
|
@@ -13,8 +13,13 @@ export function resolveMastraScenarioModel(agent, azure, credentials) {
|
|
|
13
13
|
apiKey: credentials?.anthropicApiKey ?? process.env.ANTHROPIC_API_KEY
|
|
14
14
|
}).chat(agent.model);
|
|
15
15
|
}
|
|
16
|
+
const endpoint = azure?.endpoint?.replace(/\/$/, '');
|
|
16
17
|
const provider = createAzure({
|
|
17
|
-
baseURL:
|
|
18
|
+
baseURL: endpoint
|
|
19
|
+
? endpoint.endsWith('/openai')
|
|
20
|
+
? endpoint
|
|
21
|
+
: `${endpoint}/openai`
|
|
22
|
+
: undefined,
|
|
18
23
|
apiKey: azure?.apiKey,
|
|
19
24
|
apiVersion: azure?.apiVersion,
|
|
20
25
|
useDeploymentBasedUrls: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mastra-scenario-tools.js","sourceRoot":"","sources":["../../src/app-server/mastra-scenario-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB,MAAM,UAAU,0BAA0B,CACxC,KAAkB,EAClB,KAAmE,EACnE,WAAiE;IAEjE,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,YAAY,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAC3F,KAAK,CAAC,KAAK,CACZ,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC;YACrB,MAAM,EAAE,WAAW,EAAE,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;SACtE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mastra-scenario-tools.js","sourceRoot":"","sources":["../../src/app-server/mastra-scenario-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,180 +5,154 @@ import type { AssistantSseEvent } from './assistant-events.js';
|
|
|
5
5
|
import { readLibraries } from './libraries-store.js';
|
|
6
6
|
export { truncateJson } from './assistant-common.js';
|
|
7
7
|
interface ScenarioAssistantContextInput {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
8
|
+
scenario: {
|
|
9
|
+
id: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
prompt: string;
|
|
12
|
+
serverNames: string[];
|
|
13
|
+
evalRules: Array<{
|
|
14
|
+
type: string;
|
|
15
|
+
value?: string | number | boolean;
|
|
16
|
+
sequence?: string[];
|
|
17
|
+
path?: string;
|
|
18
|
+
equals?: string | number | boolean;
|
|
19
|
+
tool?: string;
|
|
20
|
+
label?: string;
|
|
21
|
+
prompt?: string;
|
|
22
|
+
}>;
|
|
23
|
+
extractRules: Array<{
|
|
24
|
+
name: string;
|
|
25
|
+
pattern: string;
|
|
26
|
+
}>;
|
|
27
|
+
};
|
|
28
|
+
availableServers?: Array<{
|
|
29
|
+
name: string;
|
|
30
|
+
url?: string;
|
|
22
31
|
}>;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
availableAgents?: Array<{
|
|
33
|
+
name: string;
|
|
34
|
+
provider: string;
|
|
35
|
+
model: string;
|
|
26
36
|
}>;
|
|
27
|
-
};
|
|
28
|
-
availableServers?: Array<{
|
|
29
|
-
name: string;
|
|
30
|
-
url?: string;
|
|
31
|
-
}>;
|
|
32
|
-
availableAgents?: Array<{
|
|
33
|
-
name: string;
|
|
34
|
-
provider: string;
|
|
35
|
-
model: string;
|
|
36
|
-
}>;
|
|
37
37
|
}
|
|
38
38
|
interface ScenarioAssistantSuggestionBundle {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
39
|
+
prompt?: {
|
|
40
|
+
replacement: string;
|
|
41
|
+
rationale?: string;
|
|
42
|
+
};
|
|
43
|
+
evalRules?: {
|
|
44
|
+
replacement: Array<{
|
|
45
|
+
type: string;
|
|
46
|
+
value?: string | number | boolean;
|
|
47
|
+
sequence?: string[];
|
|
48
|
+
path?: string;
|
|
49
|
+
equals?: string | number | boolean;
|
|
50
|
+
tool?: string;
|
|
51
|
+
label?: string;
|
|
52
|
+
prompt?: string;
|
|
53
|
+
}>;
|
|
54
|
+
rationale?: string;
|
|
55
|
+
};
|
|
56
|
+
extractRules?: {
|
|
57
|
+
replacement: Array<{
|
|
58
|
+
name: string;
|
|
59
|
+
pattern: string;
|
|
60
|
+
}>;
|
|
61
|
+
rationale?: string;
|
|
62
|
+
};
|
|
63
|
+
notes?: string[];
|
|
64
64
|
}
|
|
65
65
|
interface ScenarioAssistantEvalRuleSuggestion {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
type: string;
|
|
67
|
+
value?: string | number | boolean;
|
|
68
|
+
sequence?: string[];
|
|
69
|
+
path?: string;
|
|
70
|
+
equals?: string | number | boolean;
|
|
71
|
+
tool?: string;
|
|
72
|
+
label?: string;
|
|
73
|
+
prompt?: string;
|
|
74
74
|
}
|
|
75
75
|
interface AssistantPendingToolCall {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
76
|
+
id: string;
|
|
77
|
+
server: string;
|
|
78
|
+
tool: string;
|
|
79
|
+
publicToolName: string;
|
|
80
|
+
arguments: unknown;
|
|
81
|
+
status: 'pending' | 'approved' | 'denied' | 'error';
|
|
82
|
+
createdAt: string;
|
|
83
|
+
resultPreview?: string;
|
|
84
|
+
error?: string;
|
|
85
85
|
}
|
|
86
86
|
interface AssistantChatMessage {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
87
|
+
id: string;
|
|
88
|
+
role: 'user' | 'assistant' | 'tool' | 'system';
|
|
89
|
+
text: string;
|
|
90
|
+
createdAt: string;
|
|
91
|
+
suggestions?: ScenarioAssistantSuggestionBundle;
|
|
92
|
+
pendingToolCallId?: string;
|
|
93
|
+
pendingToolCallIds?: string[];
|
|
94
|
+
toolRequestServer?: string;
|
|
95
|
+
toolRequestName?: string;
|
|
96
|
+
toolRequestPublicName?: string;
|
|
97
97
|
}
|
|
98
98
|
export interface ScenarioAssistantSession {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
systemPromptCache?: string;
|
|
120
|
-
events: AssistantSseEvent[];
|
|
121
|
-
clients: Set<ServerResponse>;
|
|
99
|
+
id: string;
|
|
100
|
+
createdAt: number;
|
|
101
|
+
lastTouchedAt: number;
|
|
102
|
+
configPath?: string;
|
|
103
|
+
selectedAssistantAgentName: string;
|
|
104
|
+
context: ScenarioAssistantContextInput;
|
|
105
|
+
agentConfig: AgentConfig;
|
|
106
|
+
mcp: McpClientManager;
|
|
107
|
+
tools: ToolDef[];
|
|
108
|
+
toolPublicMap: Map<string, {
|
|
109
|
+
server: string;
|
|
110
|
+
tool: string;
|
|
111
|
+
}>;
|
|
112
|
+
pendingToolCalls: AssistantPendingToolCall[];
|
|
113
|
+
chatMessages: AssistantChatMessage[];
|
|
114
|
+
llmMessages: LlmMessage[];
|
|
115
|
+
warnings: string[];
|
|
116
|
+
systemPromptCache?: string;
|
|
117
|
+
events: AssistantSseEvent[];
|
|
118
|
+
clients: Set<ServerResponse>;
|
|
122
119
|
}
|
|
123
|
-
export declare function cleanupAssistantSessions(
|
|
124
|
-
sessions: Map<string, ScenarioAssistantSession>,
|
|
125
|
-
now?: number
|
|
126
|
-
): void;
|
|
120
|
+
export declare function cleanupAssistantSessions(sessions: Map<string, ScenarioAssistantSession>, now?: number): void;
|
|
127
121
|
export declare function touchAssistantSession(session: ScenarioAssistantSession): void;
|
|
128
122
|
export declare function assistantSessionView(session: ScenarioAssistantSession): {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
123
|
+
id: string;
|
|
124
|
+
createdAt: string;
|
|
125
|
+
updatedAt: string;
|
|
126
|
+
selectedAssistantAgentName: string;
|
|
127
|
+
model: string;
|
|
128
|
+
provider: "openai" | "anthropic" | "azure_openai";
|
|
129
|
+
warnings: string[];
|
|
130
|
+
toolsLoaded: number;
|
|
131
|
+
toolServers: string[];
|
|
132
|
+
messages: AssistantChatMessage[];
|
|
133
|
+
pendingToolCalls: AssistantPendingToolCall[];
|
|
140
134
|
};
|
|
141
|
-
export declare function preloadAssistantTools(
|
|
142
|
-
session: ScenarioAssistantSession,
|
|
143
|
-
serversByName: Record<string, EvalConfig['servers'][string]>,
|
|
144
|
-
selectedServerNames: string[],
|
|
145
|
-
options?: {
|
|
135
|
+
export declare function preloadAssistantTools(session: ScenarioAssistantSession, serversByName: Record<string, EvalConfig['servers'][string]>, selectedServerNames: string[], options?: {
|
|
146
136
|
serverAuthHeaders?: Record<string, Record<string, string>>;
|
|
147
|
-
|
|
148
|
-
):
|
|
149
|
-
export declare function
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
type: 'assistant_message' | 'tool_call_request';
|
|
159
|
-
text: string;
|
|
160
|
-
suggestions?: ScenarioAssistantSuggestionBundle;
|
|
161
|
-
pendingToolCall?: AssistantPendingToolCall;
|
|
162
|
-
pendingToolCalls?: AssistantPendingToolCall[];
|
|
163
|
-
};
|
|
137
|
+
}): Promise<void>;
|
|
138
|
+
export declare function normalizeScenarioAssistantEvalRules(replacement: ScenarioAssistantEvalRuleSuggestion[]): ScenarioAssistantEvalRuleSuggestion[];
|
|
139
|
+
export declare function continueAssistantTurn(session: ScenarioAssistantSession, signal?: AbortSignal): Promise<{
|
|
140
|
+
session: ReturnType<typeof assistantSessionView>;
|
|
141
|
+
response: {
|
|
142
|
+
type: 'assistant_message' | 'tool_call_request';
|
|
143
|
+
text: string;
|
|
144
|
+
suggestions?: ScenarioAssistantSuggestionBundle;
|
|
145
|
+
pendingToolCall?: AssistantPendingToolCall;
|
|
146
|
+
pendingToolCalls?: AssistantPendingToolCall[];
|
|
147
|
+
};
|
|
164
148
|
}>;
|
|
165
|
-
export declare function executeAssistantToolCall(
|
|
166
|
-
session: ScenarioAssistantSession,
|
|
167
|
-
pending: AssistantPendingToolCall,
|
|
168
|
-
signal?: AbortSignal
|
|
169
|
-
): Promise<unknown>;
|
|
149
|
+
export declare function executeAssistantToolCall(session: ScenarioAssistantSession, pending: AssistantPendingToolCall, signal?: AbortSignal): Promise<unknown>;
|
|
170
150
|
export declare function summarizeToolResultForAssistant(result: unknown): string;
|
|
171
|
-
export declare function resolveAssistantAgentFromConfig(
|
|
172
|
-
|
|
173
|
-
selectedAssistantAgentName: string
|
|
174
|
-
): AgentConfig;
|
|
175
|
-
export declare function resolveAssistantAgentFromLibraries(
|
|
176
|
-
libraries: ReturnType<typeof readLibraries>,
|
|
177
|
-
selectedAssistantAgentName: string
|
|
178
|
-
): AgentConfig;
|
|
151
|
+
export declare function resolveAssistantAgentFromConfig(config: EvalConfig, selectedAssistantAgentName: string): AgentConfig;
|
|
152
|
+
export declare function resolveAssistantAgentFromLibraries(libraries: ReturnType<typeof readLibraries>, selectedAssistantAgentName: string): AgentConfig;
|
|
179
153
|
export declare function pickDefaultAssistantAgentName(params: {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
154
|
+
requested?: string;
|
|
155
|
+
settingsDefault?: string;
|
|
156
|
+
agentNames: string[];
|
|
183
157
|
}): string;
|
|
184
|
-
//# sourceMappingURL=scenario-assistant-domain.d.ts.map
|
|
158
|
+
//# sourceMappingURL=scenario-assistant-domain.d.ts.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { RunTree } from 'langsmith';
|
|
2
|
+
export interface ScenarioAssistantRequestContext {
|
|
3
|
+
sessionId: string;
|
|
4
|
+
runId?: string;
|
|
5
|
+
provider: string;
|
|
6
|
+
model: string;
|
|
7
|
+
message: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ScenarioAssistantCounters {
|
|
10
|
+
requests: number;
|
|
11
|
+
toolCalls: number;
|
|
12
|
+
toolResults: number;
|
|
13
|
+
errors: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function getScenarioAssistantCounters(): ScenarioAssistantCounters;
|
|
16
|
+
export declare function resetScenarioAssistantCounters(): void;
|
|
17
|
+
export declare function logScenarioAssistantRequest(context: ScenarioAssistantRequestContext): void;
|
|
18
|
+
export declare function logScenarioAssistantTool(
|
|
19
|
+
event: 'call' | 'result' | 'error',
|
|
20
|
+
details: Record<string, unknown>
|
|
21
|
+
): void;
|
|
22
|
+
export declare function startScenarioAssistantLangSmithRun(
|
|
23
|
+
context: ScenarioAssistantRequestContext
|
|
24
|
+
): RunTree | undefined;
|
|
25
|
+
//# sourceMappingURL=scenario-assistant-observability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-assistant-observability.d.ts","sourceRoot":"","sources":["../../src/app-server/scenario-assistant-observability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,4BAA4B,IAAI,yBAAyB,CAExE;AAED,wBAAgB,8BAA8B,IAAI,IAAI,CAErD;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,+BAA+B,GAAG,IAAI,CAM1F;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,EAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAQN;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,+BAA+B,GACvC,OAAO,GAAG,SAAS,CAoBrB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Client, RunTree } from 'langsmith';
|
|
2
|
+
let counters = { requests: 0, toolCalls: 0, toolResults: 0, errors: 0 };
|
|
3
|
+
export function getScenarioAssistantCounters() {
|
|
4
|
+
return { ...counters };
|
|
5
|
+
}
|
|
6
|
+
export function resetScenarioAssistantCounters() {
|
|
7
|
+
counters = { requests: 0, toolCalls: 0, toolResults: 0, errors: 0 };
|
|
8
|
+
}
|
|
9
|
+
export function logScenarioAssistantRequest(context) {
|
|
10
|
+
counters.requests += 1;
|
|
11
|
+
console.info('[Scenario Assistant] LLM request', {
|
|
12
|
+
...context,
|
|
13
|
+
counters: getScenarioAssistantCounters()
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
export function logScenarioAssistantTool(event, details) {
|
|
17
|
+
if (event === 'call')
|
|
18
|
+
counters.toolCalls += 1;
|
|
19
|
+
if (event === 'result')
|
|
20
|
+
counters.toolResults += 1;
|
|
21
|
+
if (event === 'error')
|
|
22
|
+
counters.errors += 1;
|
|
23
|
+
console.info(`[Scenario Assistant] MCP tool ${event}`, {
|
|
24
|
+
...details,
|
|
25
|
+
counters: getScenarioAssistantCounters()
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export function startScenarioAssistantLangSmithRun(context) {
|
|
29
|
+
if (process.env.LANGSMITH_TRACING?.trim().toLowerCase() !== 'true' ||
|
|
30
|
+
!process.env.LANGSMITH_API_KEY)
|
|
31
|
+
return undefined;
|
|
32
|
+
const client = new Client({
|
|
33
|
+
apiKey: process.env.LANGSMITH_API_KEY,
|
|
34
|
+
...(process.env.LANGSMITH_ENDPOINT ? { apiUrl: process.env.LANGSMITH_ENDPOINT } : {})
|
|
35
|
+
});
|
|
36
|
+
return new RunTree({
|
|
37
|
+
name: `MCPLab Scenario Assistant: ${context.sessionId}`,
|
|
38
|
+
run_type: 'chain',
|
|
39
|
+
inputs: { message: context.message },
|
|
40
|
+
project_name: process.env.LANGSMITH_PROJECT || 'default',
|
|
41
|
+
tags: ['mcplab', 'scenario-assistant', 'mastra'],
|
|
42
|
+
metadata: { sessionId: context.sessionId, provider: context.provider, model: context.model },
|
|
43
|
+
client,
|
|
44
|
+
tracingEnabled: true
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=scenario-assistant-observability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-assistant-observability.js","sourceRoot":"","sources":["../../src/app-server/scenario-assistant-observability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiB5C,IAAI,QAAQ,GAA8B,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAEnG,MAAM,UAAU,4BAA4B;IAC1C,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,QAAQ,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAwC;IAClF,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE;QAC/C,GAAG,OAAO;QACV,QAAQ,EAAE,4BAA4B,EAAE;KACzC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAkC,EAClC,OAAgC;IAEhC,IAAI,KAAK,KAAK,MAAM;QAAE,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,QAAQ;QAAE,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,OAAO;QAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,iCAAiC,KAAK,EAAE,EAAE;QACrD,GAAG,OAAO;QACV,QAAQ,EAAE,4BAA4B,EAAE;KACzC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,OAAwC;IAExC,IACE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM;QAC9D,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAE9B,OAAO,SAAS,CAAC;IACnB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QACrC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtF,CAAC,CAAC;IACH,OAAO,IAAI,OAAO,CAAC;QACjB,IAAI,EAAE,8BAA8B,OAAO,CAAC,SAAS,EAAE;QACvD,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;QACpC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS;QACxD,IAAI,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,CAAC;QAChD,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;QAC5F,MAAM;QACN,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import type { HealthMcpConnectionInfo } from '@inspectr/mcplab-core';
|
|
2
2
|
export type { HealthMcpConnectionInfo };
|
|
3
3
|
export interface AppServerOptions {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
host: string;
|
|
5
|
+
port: number;
|
|
6
|
+
evalsDir: string;
|
|
7
|
+
runsDir: string;
|
|
8
|
+
toolAnalysisResultsDir: string;
|
|
9
|
+
librariesDir: string;
|
|
10
|
+
dev: boolean;
|
|
11
|
+
open: boolean;
|
|
12
12
|
}
|
|
13
13
|
export interface AppSettings {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
workspaceRoot: string;
|
|
15
|
+
evalsDir: string;
|
|
16
|
+
runsDir: string;
|
|
17
|
+
toolAnalysisResultsDir: string;
|
|
18
|
+
librariesDir: string;
|
|
19
|
+
defaultQueueWorkers: number;
|
|
20
|
+
scenarioAssistantAgentName?: string;
|
|
21
|
+
evaluationJudgeAgentName?: string;
|
|
22
22
|
}
|
|
23
23
|
export interface HealthResponse {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
ok: boolean;
|
|
25
|
+
version: string;
|
|
26
|
+
mcp: HealthMcpConnectionInfo;
|
|
27
27
|
}
|
|
28
28
|
export interface DevMcpServerRuntime {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
host: string;
|
|
30
|
+
port: number;
|
|
31
|
+
path: string;
|
|
32
|
+
targetBaseUrl: string;
|
|
33
|
+
stop: () => void;
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=types.d.ts.map
|
|
35
|
+
//# sourceMappingURL=types.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inspectr/mcplab",
|
|
3
|
-
"version": "1.28.
|
|
3
|
+
"version": "1.28.3",
|
|
4
4
|
"description": "MCPLab - Test and evaluate MCP servers with LLMs — run evals, compare agents and launch the MCPLab web app",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://mcplab.inspectr.dev",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@inspectr/mcplab-core": "1.22.2",
|
|
48
|
-
"@inspectr/mcplab-mcp-server": "1.8.
|
|
48
|
+
"@inspectr/mcplab-mcp-server": "1.8.3",
|
|
49
49
|
"@inspectr/mcplab-reporting": "1.2.4",
|
|
50
50
|
"commander": "^12.1.0",
|
|
51
51
|
"dotenv": "^16.6.1",
|