@defai.digital/mcp-server 13.0.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/LICENSE +214 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +7 -0
- package/dist/bin.js.map +1 -0
- package/dist/bootstrap.d.ts +89 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +161 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/rate-limiter.d.ts +136 -0
- package/dist/middleware/rate-limiter.d.ts.map +1 -0
- package/dist/middleware/rate-limiter.js +262 -0
- package/dist/middleware/rate-limiter.js.map +1 -0
- package/dist/prompts/agent-guide.d.ts +16 -0
- package/dist/prompts/agent-guide.d.ts.map +1 -0
- package/dist/prompts/agent-guide.js +391 -0
- package/dist/prompts/agent-guide.js.map +1 -0
- package/dist/prompts/explain-workflow.d.ts +15 -0
- package/dist/prompts/explain-workflow.d.ts.map +1 -0
- package/dist/prompts/explain-workflow.js +157 -0
- package/dist/prompts/explain-workflow.js.map +1 -0
- package/dist/prompts/index.d.ts +39 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +83 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/review-changes.d.ts +15 -0
- package/dist/prompts/review-changes.d.ts.map +1 -0
- package/dist/prompts/review-changes.js +102 -0
- package/dist/prompts/review-changes.js.map +1 -0
- package/dist/prompts/troubleshoot-session.d.ts +15 -0
- package/dist/prompts/troubleshoot-session.d.ts.map +1 -0
- package/dist/prompts/troubleshoot-session.js +156 -0
- package/dist/prompts/troubleshoot-session.js.map +1 -0
- package/dist/registry-accessor.d.ts +83 -0
- package/dist/registry-accessor.d.ts.map +1 -0
- package/dist/registry-accessor.js +153 -0
- package/dist/registry-accessor.js.map +1 -0
- package/dist/resources/agents.d.ts +40 -0
- package/dist/resources/agents.d.ts.map +1 -0
- package/dist/resources/agents.js +123 -0
- package/dist/resources/agents.js.map +1 -0
- package/dist/resources/config.d.ts +57 -0
- package/dist/resources/config.d.ts.map +1 -0
- package/dist/resources/config.js +222 -0
- package/dist/resources/config.js.map +1 -0
- package/dist/resources/index.d.ts +38 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +132 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/policies.d.ts +40 -0
- package/dist/resources/policies.d.ts.map +1 -0
- package/dist/resources/policies.js +122 -0
- package/dist/resources/policies.js.map +1 -0
- package/dist/resources/sessions.d.ts +30 -0
- package/dist/resources/sessions.d.ts.map +1 -0
- package/dist/resources/sessions.js +64 -0
- package/dist/resources/sessions.js.map +1 -0
- package/dist/resources/workflows.d.ts +40 -0
- package/dist/resources/workflows.d.ts.map +1 -0
- package/dist/resources/workflows.js +143 -0
- package/dist/resources/workflows.js.map +1 -0
- package/dist/schema-registry.d.ts +23 -0
- package/dist/schema-registry.d.ts.map +1 -0
- package/dist/schema-registry.js +225 -0
- package/dist/schema-registry.js.map +1 -0
- package/dist/server.d.ts +63 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +393 -0
- package/dist/server.js.map +1 -0
- package/dist/session-accessor.d.ts +23 -0
- package/dist/session-accessor.d.ts.map +1 -0
- package/dist/session-accessor.js +39 -0
- package/dist/session-accessor.js.map +1 -0
- package/dist/shared-registry.d.ts +23 -0
- package/dist/shared-registry.d.ts.map +1 -0
- package/dist/shared-registry.js +235 -0
- package/dist/shared-registry.js.map +1 -0
- package/dist/stdio.d.ts +6 -0
- package/dist/stdio.d.ts.map +1 -0
- package/dist/stdio.js +152 -0
- package/dist/stdio.js.map +1 -0
- package/dist/tool-namespacing.d.ts +28 -0
- package/dist/tool-namespacing.d.ts.map +1 -0
- package/dist/tool-namespacing.js +80 -0
- package/dist/tool-namespacing.js.map +1 -0
- package/dist/tools/ability.d.ts +55 -0
- package/dist/tools/ability.d.ts.map +1 -0
- package/dist/tools/ability.js +560 -0
- package/dist/tools/ability.js.map +1 -0
- package/dist/tools/agent.d.ts +73 -0
- package/dist/tools/agent.d.ts.map +1 -0
- package/dist/tools/agent.js +895 -0
- package/dist/tools/agent.js.map +1 -0
- package/dist/tools/config.d.ts +36 -0
- package/dist/tools/config.d.ts.map +1 -0
- package/dist/tools/config.js +265 -0
- package/dist/tools/config.js.map +1 -0
- package/dist/tools/design.d.ts +42 -0
- package/dist/tools/design.d.ts.map +1 -0
- package/dist/tools/design.js +736 -0
- package/dist/tools/design.js.map +1 -0
- package/dist/tools/discuss.d.ts +40 -0
- package/dist/tools/discuss.d.ts.map +1 -0
- package/dist/tools/discuss.js +331 -0
- package/dist/tools/discuss.js.map +1 -0
- package/dist/tools/file-system.d.ts +63 -0
- package/dist/tools/file-system.d.ts.map +1 -0
- package/dist/tools/file-system.js +513 -0
- package/dist/tools/file-system.js.map +1 -0
- package/dist/tools/guard.d.ts +29 -0
- package/dist/tools/guard.d.ts.map +1 -0
- package/dist/tools/guard.js +311 -0
- package/dist/tools/guard.js.map +1 -0
- package/dist/tools/index.d.ts +35 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +178 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/memory.d.ts +101 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/memory.js +704 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/tools/orchestration.d.ts +58 -0
- package/dist/tools/orchestration.d.ts.map +1 -0
- package/dist/tools/orchestration.js +714 -0
- package/dist/tools/orchestration.js.map +1 -0
- package/dist/tools/review.d.ts +40 -0
- package/dist/tools/review.d.ts.map +1 -0
- package/dist/tools/review.js +319 -0
- package/dist/tools/review.js.map +1 -0
- package/dist/tools/scaffold.d.ts +27 -0
- package/dist/tools/scaffold.d.ts.map +1 -0
- package/dist/tools/scaffold.js +495 -0
- package/dist/tools/scaffold.js.map +1 -0
- package/dist/tools/session.d.ts +75 -0
- package/dist/tools/session.d.ts.map +1 -0
- package/dist/tools/session.js +749 -0
- package/dist/tools/session.js.map +1 -0
- package/dist/tools/telemetry.d.ts +58 -0
- package/dist/tools/telemetry.d.ts.map +1 -0
- package/dist/tools/telemetry.js +638 -0
- package/dist/tools/telemetry.js.map +1 -0
- package/dist/tools/trace.d.ts +29 -0
- package/dist/tools/trace.d.ts.map +1 -0
- package/dist/tools/trace.js +191 -0
- package/dist/tools/trace.js.map +1 -0
- package/dist/tools/workflow.d.ts +26 -0
- package/dist/tools/workflow.d.ts.map +1 -0
- package/dist/tools/workflow.js +269 -0
- package/dist/tools/workflow.js.map +1 -0
- package/dist/trace-wrapper.d.ts +79 -0
- package/dist/trace-wrapper.d.ts.map +1 -0
- package/dist/trace-wrapper.js +151 -0
- package/dist/trace-wrapper.js.map +1 -0
- package/dist/types.d.ts +185 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/artifact-store.d.ts +49 -0
- package/dist/utils/artifact-store.d.ts.map +1 -0
- package/dist/utils/artifact-store.js +102 -0
- package/dist/utils/artifact-store.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +10 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/response.d.ts +139 -0
- package/dist/utils/response.d.ts.map +1 -0
- package/dist/utils/response.js +293 -0
- package/dist/utils/response.js.map +1 -0
- package/dist/validation.d.ts +223 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +372 -0
- package/dist/validation.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Prompts Registry
|
|
3
|
+
*
|
|
4
|
+
* Combines all prompt definitions and handlers.
|
|
5
|
+
*
|
|
6
|
+
* MCP Prompts are user-controlled templates that generate
|
|
7
|
+
* structured prompts with context from the system.
|
|
8
|
+
*/
|
|
9
|
+
// Import prompt definitions and handlers
|
|
10
|
+
import { reviewChangesPrompt, handleReviewChanges, } from './review-changes.js';
|
|
11
|
+
import { explainWorkflowPrompt, handleExplainWorkflow, } from './explain-workflow.js';
|
|
12
|
+
import { troubleshootSessionPrompt, handleTroubleshootSession, } from './troubleshoot-session.js';
|
|
13
|
+
import { agentGuidePrompt, handleAgentGuide, } from './agent-guide.js';
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// Combined Exports
|
|
16
|
+
// ============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* All MCP prompts
|
|
19
|
+
*/
|
|
20
|
+
export const ALL_PROMPTS = [
|
|
21
|
+
reviewChangesPrompt,
|
|
22
|
+
explainWorkflowPrompt,
|
|
23
|
+
troubleshootSessionPrompt,
|
|
24
|
+
agentGuidePrompt,
|
|
25
|
+
];
|
|
26
|
+
/**
|
|
27
|
+
* All prompt handlers
|
|
28
|
+
*/
|
|
29
|
+
export const PROMPT_HANDLERS = {
|
|
30
|
+
'review-changes': handleReviewChanges,
|
|
31
|
+
'explain-workflow': handleExplainWorkflow,
|
|
32
|
+
'troubleshoot-session': handleTroubleshootSession,
|
|
33
|
+
'agent-guide': handleAgentGuide,
|
|
34
|
+
};
|
|
35
|
+
// ============================================================================
|
|
36
|
+
// Helper Functions
|
|
37
|
+
// ============================================================================
|
|
38
|
+
/**
|
|
39
|
+
* Gets a prompt by name
|
|
40
|
+
*/
|
|
41
|
+
export function getPrompt(name) {
|
|
42
|
+
return ALL_PROMPTS.find((p) => p.name === name);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Gets a prompt handler by name
|
|
46
|
+
*/
|
|
47
|
+
export function getPromptHandler(name) {
|
|
48
|
+
return PROMPT_HANDLERS[name];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Executes a prompt with the given arguments
|
|
52
|
+
*/
|
|
53
|
+
export async function executePrompt(name, args) {
|
|
54
|
+
const prompt = getPrompt(name);
|
|
55
|
+
if (prompt === undefined) {
|
|
56
|
+
return {
|
|
57
|
+
error: 'PROMPT_NOT_FOUND',
|
|
58
|
+
message: `Prompt "${name}" not found. Available prompts: ${ALL_PROMPTS.map((p) => p.name).join(', ')}`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
// Validate required arguments
|
|
62
|
+
const requiredArgs = prompt.arguments?.filter((a) => a.required) ?? [];
|
|
63
|
+
const missingArgs = requiredArgs.filter((a) => args[a.name] === undefined);
|
|
64
|
+
if (missingArgs.length > 0) {
|
|
65
|
+
return {
|
|
66
|
+
error: 'MISSING_REQUIRED_ARGUMENT',
|
|
67
|
+
message: `Missing required arguments: ${missingArgs.map((a) => a.name).join(', ')}`,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const handler = getPromptHandler(name);
|
|
71
|
+
if (handler === undefined) {
|
|
72
|
+
return {
|
|
73
|
+
error: 'PROMPT_HANDLER_NOT_FOUND',
|
|
74
|
+
message: `No handler registered for prompt "${name}"`,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return handler(args);
|
|
78
|
+
}
|
|
79
|
+
// Re-export individual prompts for direct access
|
|
80
|
+
export * from './review-changes.js';
|
|
81
|
+
export * from './explain-workflow.js';
|
|
82
|
+
export * from './troubleshoot-session.js';
|
|
83
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,yCAAyC;AACzC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,mBAAmB;IACnB,qBAAqB;IACrB,yBAAyB;IACzB,gBAAgB;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAkC;IAC5D,gBAAgB,EAAE,mBAAmB;IACrC,kBAAkB,EAAE,qBAAqB;IACzC,sBAAsB,EAAE,yBAAyB;IACjD,aAAa,EAAE,gBAAgB;CAChC,CAAC;AAEF,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,IAA4B;IAK5B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,kBAAkB;YACzB,OAAO,EAAE,WAAW,IAAI,mCAAmC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACvG,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;IAE3E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,KAAK,EAAE,2BAA2B;YAClC,OAAO,EAAE,+BAA+B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACpF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EAAE,0BAA0B;YACjC,OAAO,EAAE,qCAAqC,IAAI,GAAG;SACtD,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,iDAAiD;AACjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Review Changes Prompt
|
|
3
|
+
*
|
|
4
|
+
* User-controlled prompt template for code review with policy context.
|
|
5
|
+
*/
|
|
6
|
+
import type { MCPPrompt, PromptHandler } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Review changes prompt definition
|
|
9
|
+
*/
|
|
10
|
+
export declare const reviewChangesPrompt: MCPPrompt;
|
|
11
|
+
/**
|
|
12
|
+
* Handler for review-changes prompt
|
|
13
|
+
*/
|
|
14
|
+
export declare const handleReviewChanges: PromptHandler;
|
|
15
|
+
//# sourceMappingURL=review-changes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-changes.d.ts","sourceRoot":"","sources":["../../src/prompts/review-changes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AAO9E;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAoBjC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAmEjC,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Review Changes Prompt
|
|
3
|
+
*
|
|
4
|
+
* User-controlled prompt template for code review with policy context.
|
|
5
|
+
*/
|
|
6
|
+
import { getPolicy, listPolicies } from '@defai.digital/guard';
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// Prompt Definition
|
|
9
|
+
// ============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* Review changes prompt definition
|
|
12
|
+
*/
|
|
13
|
+
export const reviewChangesPrompt = {
|
|
14
|
+
name: 'review-changes',
|
|
15
|
+
description: 'Generate a code review prompt with governance policy context',
|
|
16
|
+
arguments: [
|
|
17
|
+
{
|
|
18
|
+
name: 'policyId',
|
|
19
|
+
description: 'Governance policy ID to apply (e.g., "bugfix", "rebuild")',
|
|
20
|
+
required: true,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'changedFiles',
|
|
24
|
+
description: 'Comma-separated list of changed file paths',
|
|
25
|
+
required: true,
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'context',
|
|
29
|
+
description: 'Additional context about the changes',
|
|
30
|
+
required: false,
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
};
|
|
34
|
+
// ============================================================================
|
|
35
|
+
// Prompt Handler
|
|
36
|
+
// ============================================================================
|
|
37
|
+
/**
|
|
38
|
+
* Handler for review-changes prompt
|
|
39
|
+
*/
|
|
40
|
+
export const handleReviewChanges = async (args) => {
|
|
41
|
+
const policyId = args.policyId ?? 'bugfix';
|
|
42
|
+
const changedFiles = args.changedFiles ?? '';
|
|
43
|
+
const context = args.context ?? '';
|
|
44
|
+
const policy = getPolicy(policyId);
|
|
45
|
+
if (policy === undefined) {
|
|
46
|
+
const messages = [
|
|
47
|
+
{
|
|
48
|
+
role: 'user',
|
|
49
|
+
content: {
|
|
50
|
+
type: 'text',
|
|
51
|
+
text: `Error: Policy "${policyId}" not found. Available policies: ${listPolicies().join(', ')}`,
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
return { description: 'Policy not found', messages };
|
|
56
|
+
}
|
|
57
|
+
const files = changedFiles.split(',').map((f) => f.trim()).filter(Boolean);
|
|
58
|
+
const promptText = `You are reviewing code changes under the "${policyId}" governance policy.
|
|
59
|
+
|
|
60
|
+
## Policy Constraints
|
|
61
|
+
|
|
62
|
+
**Allowed paths:**
|
|
63
|
+
${policy.allowedPaths.map((p) => `- ${p}`).join('\n') || '- (no restrictions)'}
|
|
64
|
+
|
|
65
|
+
**Forbidden paths:**
|
|
66
|
+
${policy.forbiddenPaths.map((p) => `- ${p}`).join('\n') || '- (none)'}
|
|
67
|
+
|
|
68
|
+
**Change radius limit:** ${policy.changeRadiusLimit} files
|
|
69
|
+
|
|
70
|
+
**Required gates:**
|
|
71
|
+
${policy.gates.map((g) => `- ${g}`).join('\n') || '- (none)'}
|
|
72
|
+
|
|
73
|
+
## Changed Files (${files.length})
|
|
74
|
+
|
|
75
|
+
${files.map((f) => `- ${f}`).join('\n') || '(no files specified)'}
|
|
76
|
+
|
|
77
|
+
${context ? `## Additional Context\n\n${context}` : ''}
|
|
78
|
+
|
|
79
|
+
## Review Instructions
|
|
80
|
+
|
|
81
|
+
1. Check that all changed files are within allowed paths
|
|
82
|
+
2. Verify no forbidden paths are modified
|
|
83
|
+
3. Ensure total changes stay within the radius limit (${policy.changeRadiusLimit} files)
|
|
84
|
+
4. Note any governance violations or concerns
|
|
85
|
+
5. Provide specific feedback on the implementation
|
|
86
|
+
|
|
87
|
+
Please review these changes and provide your assessment.`;
|
|
88
|
+
const messages = [
|
|
89
|
+
{
|
|
90
|
+
role: 'user',
|
|
91
|
+
content: {
|
|
92
|
+
type: 'text',
|
|
93
|
+
text: promptText,
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
];
|
|
97
|
+
return {
|
|
98
|
+
description: `Code review prompt for ${files.length} files under "${policyId}" policy`,
|
|
99
|
+
messages,
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=review-changes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-changes.js","sourceRoot":"","sources":["../../src/prompts/review-changes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Troubleshoot Session Prompt
|
|
3
|
+
*
|
|
4
|
+
* User-controlled prompt template for debugging session issues.
|
|
5
|
+
*/
|
|
6
|
+
import type { MCPPrompt, PromptHandler } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Troubleshoot session prompt definition
|
|
9
|
+
*/
|
|
10
|
+
export declare const troubleshootSessionPrompt: MCPPrompt;
|
|
11
|
+
/**
|
|
12
|
+
* Handler for troubleshoot-session prompt
|
|
13
|
+
*/
|
|
14
|
+
export declare const handleTroubleshootSession: PromptHandler;
|
|
15
|
+
//# sourceMappingURL=troubleshoot-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"troubleshoot-session.d.ts","sourceRoot":"","sources":["../../src/prompts/troubleshoot-session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AAO9E;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAevC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,aAkIvC,CAAC"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Troubleshoot Session Prompt
|
|
3
|
+
*
|
|
4
|
+
* User-controlled prompt template for debugging session issues.
|
|
5
|
+
*/
|
|
6
|
+
import { getSharedSessionManager } from '../session-accessor.js';
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// Prompt Definition
|
|
9
|
+
// ============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* Troubleshoot session prompt definition
|
|
12
|
+
*/
|
|
13
|
+
export const troubleshootSessionPrompt = {
|
|
14
|
+
name: 'troubleshoot-session',
|
|
15
|
+
description: 'Generate a prompt to help debug session issues',
|
|
16
|
+
arguments: [
|
|
17
|
+
{
|
|
18
|
+
name: 'sessionId',
|
|
19
|
+
description: 'ID of the session to troubleshoot',
|
|
20
|
+
required: true,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'symptoms',
|
|
24
|
+
description: 'Description of the issue or symptoms observed',
|
|
25
|
+
required: false,
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
// ============================================================================
|
|
30
|
+
// Prompt Handler
|
|
31
|
+
// ============================================================================
|
|
32
|
+
/**
|
|
33
|
+
* Handler for troubleshoot-session prompt
|
|
34
|
+
*/
|
|
35
|
+
export const handleTroubleshootSession = async (args) => {
|
|
36
|
+
const sessionId = args.sessionId ?? '';
|
|
37
|
+
const symptoms = args.symptoms ?? 'No specific symptoms provided';
|
|
38
|
+
const manager = getSharedSessionManager();
|
|
39
|
+
const session = await manager.getSession(sessionId);
|
|
40
|
+
if (session === undefined) {
|
|
41
|
+
const messages = [
|
|
42
|
+
{
|
|
43
|
+
role: 'user',
|
|
44
|
+
content: {
|
|
45
|
+
type: 'text',
|
|
46
|
+
text: `# Session Troubleshooting
|
|
47
|
+
|
|
48
|
+
**Session ID:** ${sessionId}
|
|
49
|
+
**Status:** NOT FOUND
|
|
50
|
+
|
|
51
|
+
The session could not be found. Possible causes:
|
|
52
|
+
1. The session ID is incorrect or mistyped
|
|
53
|
+
2. The session has been deleted or expired
|
|
54
|
+
3. The session was never created
|
|
55
|
+
|
|
56
|
+
**Reported Symptoms:**
|
|
57
|
+
${symptoms}
|
|
58
|
+
|
|
59
|
+
Please help identify:
|
|
60
|
+
1. How to verify if the session ever existed
|
|
61
|
+
2. Steps to recover or recreate the session
|
|
62
|
+
3. Root cause analysis for session loss`,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
];
|
|
66
|
+
return { description: 'Session not found - troubleshooting prompt', messages };
|
|
67
|
+
}
|
|
68
|
+
// Build session diagnostic info
|
|
69
|
+
const participantInfo = session.participants.map((p) => ({
|
|
70
|
+
agentId: p.agentId,
|
|
71
|
+
role: p.role,
|
|
72
|
+
joinedAt: p.joinedAt,
|
|
73
|
+
taskCount: p.tasks.length,
|
|
74
|
+
}));
|
|
75
|
+
// Find any failed tasks for error info
|
|
76
|
+
const failedTasks = session.participants.flatMap((p) => p.tasks.filter((t) => t.status === 'failed' && t.error !== undefined));
|
|
77
|
+
const firstFailedTask = failedTasks[0];
|
|
78
|
+
const lastError = firstFailedTask?.error;
|
|
79
|
+
const diagnostics = {
|
|
80
|
+
sessionId: session.sessionId,
|
|
81
|
+
status: session.status,
|
|
82
|
+
initiator: session.initiator,
|
|
83
|
+
task: session.task,
|
|
84
|
+
participantCount: session.participants.length,
|
|
85
|
+
createdAt: session.createdAt,
|
|
86
|
+
updatedAt: session.updatedAt,
|
|
87
|
+
completedAt: session.completedAt,
|
|
88
|
+
hasError: session.status === 'failed' || failedTasks.length > 0,
|
|
89
|
+
lastError,
|
|
90
|
+
};
|
|
91
|
+
const promptText = `# Session Troubleshooting
|
|
92
|
+
|
|
93
|
+
## Session Information
|
|
94
|
+
|
|
95
|
+
**Session ID:** ${session.sessionId}
|
|
96
|
+
**Status:** ${session.status}
|
|
97
|
+
**Initiator:** ${session.initiator}
|
|
98
|
+
**Task:** ${session.task}
|
|
99
|
+
|
|
100
|
+
## Timeline
|
|
101
|
+
|
|
102
|
+
- **Created:** ${session.createdAt}
|
|
103
|
+
- **Last Updated:** ${session.updatedAt}
|
|
104
|
+
${session.completedAt ? `- **Completed/Failed:** ${session.completedAt}` : ''}
|
|
105
|
+
|
|
106
|
+
## Participants (${session.participants.length})
|
|
107
|
+
|
|
108
|
+
${participantInfo.map((p) => `- **${p.agentId}** (${p.role}) - joined ${p.joinedAt}, ${p.taskCount} tasks`).join('\n') || '(no participants)'}
|
|
109
|
+
|
|
110
|
+
${lastError !== undefined ? `## Error Information
|
|
111
|
+
|
|
112
|
+
**Code:** ${lastError.code}
|
|
113
|
+
**Message:** ${lastError.message}
|
|
114
|
+
${lastError.details !== undefined ? `**Details:** ${JSON.stringify(lastError.details)}` : ''}
|
|
115
|
+
` : session.status === 'failed' ? `## Error Information
|
|
116
|
+
|
|
117
|
+
**Status:** Session failed (no detailed error captured)
|
|
118
|
+
` : ''}
|
|
119
|
+
|
|
120
|
+
## Reported Symptoms
|
|
121
|
+
|
|
122
|
+
${symptoms}
|
|
123
|
+
|
|
124
|
+
## Diagnostics Data
|
|
125
|
+
|
|
126
|
+
\`\`\`json
|
|
127
|
+
${JSON.stringify(diagnostics, null, 2)}
|
|
128
|
+
\`\`\`
|
|
129
|
+
|
|
130
|
+
## Troubleshooting Questions
|
|
131
|
+
|
|
132
|
+
1. Is the session status as expected?
|
|
133
|
+
2. Are all expected participants present?
|
|
134
|
+
3. If there's an error, what caused it?
|
|
135
|
+
4. What was the last successful operation?
|
|
136
|
+
5. What steps led to the current state?
|
|
137
|
+
|
|
138
|
+
Please analyze this session and help identify:
|
|
139
|
+
1. The root cause of the issue
|
|
140
|
+
2. Recommended resolution steps
|
|
141
|
+
3. How to prevent this issue in the future`;
|
|
142
|
+
const messages = [
|
|
143
|
+
{
|
|
144
|
+
role: 'user',
|
|
145
|
+
content: {
|
|
146
|
+
type: 'text',
|
|
147
|
+
text: promptText,
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
];
|
|
151
|
+
return {
|
|
152
|
+
description: `Troubleshooting prompt for session "${sessionId}" (${session.status})`,
|
|
153
|
+
messages,
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=troubleshoot-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"troubleshoot-session.js","sourceRoot":"","sources":["../../src/prompts/troubleshoot-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registry Accessor
|
|
3
|
+
*
|
|
4
|
+
* Provides access to shared singleton instances without creating circular dependencies.
|
|
5
|
+
* This file does NOT import from tools/ - it only provides accessor functions.
|
|
6
|
+
*
|
|
7
|
+
* The actual initialization happens in shared-registry.ts which imports this module
|
|
8
|
+
* and sets the singletons after initialization.
|
|
9
|
+
*/
|
|
10
|
+
import type { AgentRegistry, AgentExecutor, ToolExecutor } from '@defai.digital/agent-domain';
|
|
11
|
+
import type { AbilityRegistry, AbilityManager } from '@defai.digital/ability-domain';
|
|
12
|
+
import type { AgentProfile } from '@defai.digital/contracts';
|
|
13
|
+
/**
|
|
14
|
+
* Set the initialization function (called by shared-registry.ts)
|
|
15
|
+
*/
|
|
16
|
+
export declare function setInitializer(fn: () => Promise<void>): void;
|
|
17
|
+
/**
|
|
18
|
+
* Set singleton instances (called by shared-registry.ts after initialization)
|
|
19
|
+
*/
|
|
20
|
+
export declare function setSingletons(singletons: {
|
|
21
|
+
registry: AgentRegistry;
|
|
22
|
+
executor: AgentExecutor;
|
|
23
|
+
abilityRegistry: AbilityRegistry;
|
|
24
|
+
abilityManager: AbilityManager;
|
|
25
|
+
toolExecutor: ToolExecutor;
|
|
26
|
+
}): void;
|
|
27
|
+
/**
|
|
28
|
+
* Get the shared registry instance
|
|
29
|
+
*/
|
|
30
|
+
export declare function getSharedRegistry(): Promise<AgentRegistry>;
|
|
31
|
+
/**
|
|
32
|
+
* Get the shared executor instance
|
|
33
|
+
*/
|
|
34
|
+
export declare function getSharedExecutor(): Promise<AgentExecutor>;
|
|
35
|
+
/**
|
|
36
|
+
* Get the shared ability registry
|
|
37
|
+
*/
|
|
38
|
+
export declare function getSharedAbilityRegistry(): Promise<AbilityRegistry>;
|
|
39
|
+
/**
|
|
40
|
+
* Get the shared ability manager
|
|
41
|
+
*/
|
|
42
|
+
export declare function getSharedAbilityManager(): Promise<AbilityManager>;
|
|
43
|
+
/**
|
|
44
|
+
* Get the shared tool executor
|
|
45
|
+
*/
|
|
46
|
+
export declare function getSharedToolExecutor(): Promise<ToolExecutor>;
|
|
47
|
+
/**
|
|
48
|
+
* Check if shared registry is initialized
|
|
49
|
+
*/
|
|
50
|
+
export declare function isInitialized(): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Register an agent in the shared registry
|
|
53
|
+
*/
|
|
54
|
+
export declare function registerAgent(profile: AgentProfile): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Get agent from shared registry
|
|
57
|
+
*/
|
|
58
|
+
export declare function getAgent(agentId: string): Promise<AgentProfile | undefined>;
|
|
59
|
+
/**
|
|
60
|
+
* List agents from shared registry
|
|
61
|
+
*/
|
|
62
|
+
export declare function listAgents(filter?: {
|
|
63
|
+
team?: string;
|
|
64
|
+
enabled?: boolean;
|
|
65
|
+
}): Promise<AgentProfile[]>;
|
|
66
|
+
/**
|
|
67
|
+
* Remove agent from shared registry
|
|
68
|
+
*/
|
|
69
|
+
export declare function removeAgent(agentId: string): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Execute an agent using the shared executor
|
|
72
|
+
*/
|
|
73
|
+
export declare function executeAgent(agentId: string, input: unknown, options?: {
|
|
74
|
+
sessionId?: string;
|
|
75
|
+
provider?: string;
|
|
76
|
+
model?: string;
|
|
77
|
+
parallel?: boolean;
|
|
78
|
+
}): Promise<Awaited<ReturnType<AgentExecutor['execute']>>>;
|
|
79
|
+
/**
|
|
80
|
+
* Reset shared registry (for testing)
|
|
81
|
+
*/
|
|
82
|
+
export declare function resetSharedRegistry(): void;
|
|
83
|
+
//# sourceMappingURL=registry-accessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-accessor.d.ts","sourceRoot":"","sources":["../src/registry-accessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAc7D;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAE5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE;IACxC,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;CAC5B,GAAG,IAAI,CAOP;AAmCD;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,CAGhE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,CAGhE;AAED;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC,CAGzE;AAED;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,cAAc,CAAC,CAGvE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,YAAY,CAAC,CAGnE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxE;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAGjF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAGvG;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACA,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAGxD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAQ1C"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registry Accessor
|
|
3
|
+
*
|
|
4
|
+
* Provides access to shared singleton instances without creating circular dependencies.
|
|
5
|
+
* This file does NOT import from tools/ - it only provides accessor functions.
|
|
6
|
+
*
|
|
7
|
+
* The actual initialization happens in shared-registry.ts which imports this module
|
|
8
|
+
* and sets the singletons after initialization.
|
|
9
|
+
*/
|
|
10
|
+
// Singleton state - set by shared-registry.ts during initialization
|
|
11
|
+
let _registry = null;
|
|
12
|
+
let _executor = null;
|
|
13
|
+
let _abilityRegistry = null;
|
|
14
|
+
let _abilityManager = null;
|
|
15
|
+
let _toolExecutor = null;
|
|
16
|
+
let _initialized = false;
|
|
17
|
+
let _initPromise = null;
|
|
18
|
+
// Initialization function - set by shared-registry.ts
|
|
19
|
+
let _initializeFn = null;
|
|
20
|
+
/**
|
|
21
|
+
* Set the initialization function (called by shared-registry.ts)
|
|
22
|
+
*/
|
|
23
|
+
export function setInitializer(fn) {
|
|
24
|
+
_initializeFn = fn;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Set singleton instances (called by shared-registry.ts after initialization)
|
|
28
|
+
*/
|
|
29
|
+
export function setSingletons(singletons) {
|
|
30
|
+
_registry = singletons.registry;
|
|
31
|
+
_executor = singletons.executor;
|
|
32
|
+
_abilityRegistry = singletons.abilityRegistry;
|
|
33
|
+
_abilityManager = singletons.abilityManager;
|
|
34
|
+
_toolExecutor = singletons.toolExecutor;
|
|
35
|
+
_initialized = true;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Ensure initialization is complete
|
|
39
|
+
* Uses double-check locking pattern to prevent race conditions
|
|
40
|
+
*/
|
|
41
|
+
async function ensureInitialized() {
|
|
42
|
+
// Fast path: already initialized
|
|
43
|
+
if (_initialized)
|
|
44
|
+
return;
|
|
45
|
+
// Check if initialization is already in progress
|
|
46
|
+
if (_initPromise !== null) {
|
|
47
|
+
await _initPromise;
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (_initializeFn === null) {
|
|
51
|
+
throw new Error('Registry not configured. Import shared-registry.ts to configure initialization.');
|
|
52
|
+
}
|
|
53
|
+
// Create promise before awaiting to prevent race condition
|
|
54
|
+
// Any concurrent calls will see _initPromise and wait on it
|
|
55
|
+
_initPromise = _initializeFn();
|
|
56
|
+
try {
|
|
57
|
+
await _initPromise;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
// Reset promise on failure so retry is possible
|
|
61
|
+
_initPromise = null;
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get the shared registry instance
|
|
67
|
+
*/
|
|
68
|
+
export async function getSharedRegistry() {
|
|
69
|
+
await ensureInitialized();
|
|
70
|
+
return _registry;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get the shared executor instance
|
|
74
|
+
*/
|
|
75
|
+
export async function getSharedExecutor() {
|
|
76
|
+
await ensureInitialized();
|
|
77
|
+
return _executor;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get the shared ability registry
|
|
81
|
+
*/
|
|
82
|
+
export async function getSharedAbilityRegistry() {
|
|
83
|
+
await ensureInitialized();
|
|
84
|
+
return _abilityRegistry;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Get the shared ability manager
|
|
88
|
+
*/
|
|
89
|
+
export async function getSharedAbilityManager() {
|
|
90
|
+
await ensureInitialized();
|
|
91
|
+
return _abilityManager;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get the shared tool executor
|
|
95
|
+
*/
|
|
96
|
+
export async function getSharedToolExecutor() {
|
|
97
|
+
await ensureInitialized();
|
|
98
|
+
return _toolExecutor;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Check if shared registry is initialized
|
|
102
|
+
*/
|
|
103
|
+
export function isInitialized() {
|
|
104
|
+
return _initialized;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Register an agent in the shared registry
|
|
108
|
+
*/
|
|
109
|
+
export async function registerAgent(profile) {
|
|
110
|
+
const registry = await getSharedRegistry();
|
|
111
|
+
await registry.register(profile);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get agent from shared registry
|
|
115
|
+
*/
|
|
116
|
+
export async function getAgent(agentId) {
|
|
117
|
+
const registry = await getSharedRegistry();
|
|
118
|
+
return registry.get(agentId);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* List agents from shared registry
|
|
122
|
+
*/
|
|
123
|
+
export async function listAgents(filter) {
|
|
124
|
+
const registry = await getSharedRegistry();
|
|
125
|
+
return registry.list(filter);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Remove agent from shared registry
|
|
129
|
+
*/
|
|
130
|
+
export async function removeAgent(agentId) {
|
|
131
|
+
const registry = await getSharedRegistry();
|
|
132
|
+
await registry.remove(agentId);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Execute an agent using the shared executor
|
|
136
|
+
*/
|
|
137
|
+
export async function executeAgent(agentId, input, options) {
|
|
138
|
+
const executor = await getSharedExecutor();
|
|
139
|
+
return executor.execute(agentId, input, options);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Reset shared registry (for testing)
|
|
143
|
+
*/
|
|
144
|
+
export function resetSharedRegistry() {
|
|
145
|
+
_registry = null;
|
|
146
|
+
_executor = null;
|
|
147
|
+
_abilityRegistry = null;
|
|
148
|
+
_abilityManager = null;
|
|
149
|
+
_toolExecutor = null;
|
|
150
|
+
_initialized = false;
|
|
151
|
+
_initPromise = null;
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=registry-accessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-accessor.js","sourceRoot":"","sources":["../src/registry-accessor.ts"],"names":[],"mappings":"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"}
|