@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.
Files changed (178) hide show
  1. package/LICENSE +214 -0
  2. package/dist/bin.d.ts +3 -0
  3. package/dist/bin.d.ts.map +1 -0
  4. package/dist/bin.js +7 -0
  5. package/dist/bin.js.map +1 -0
  6. package/dist/bootstrap.d.ts +89 -0
  7. package/dist/bootstrap.d.ts.map +1 -0
  8. package/dist/bootstrap.js +161 -0
  9. package/dist/bootstrap.js.map +1 -0
  10. package/dist/index.d.ts +10 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +17 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/middleware/rate-limiter.d.ts +136 -0
  15. package/dist/middleware/rate-limiter.d.ts.map +1 -0
  16. package/dist/middleware/rate-limiter.js +262 -0
  17. package/dist/middleware/rate-limiter.js.map +1 -0
  18. package/dist/prompts/agent-guide.d.ts +16 -0
  19. package/dist/prompts/agent-guide.d.ts.map +1 -0
  20. package/dist/prompts/agent-guide.js +391 -0
  21. package/dist/prompts/agent-guide.js.map +1 -0
  22. package/dist/prompts/explain-workflow.d.ts +15 -0
  23. package/dist/prompts/explain-workflow.d.ts.map +1 -0
  24. package/dist/prompts/explain-workflow.js +157 -0
  25. package/dist/prompts/explain-workflow.js.map +1 -0
  26. package/dist/prompts/index.d.ts +39 -0
  27. package/dist/prompts/index.d.ts.map +1 -0
  28. package/dist/prompts/index.js +83 -0
  29. package/dist/prompts/index.js.map +1 -0
  30. package/dist/prompts/review-changes.d.ts +15 -0
  31. package/dist/prompts/review-changes.d.ts.map +1 -0
  32. package/dist/prompts/review-changes.js +102 -0
  33. package/dist/prompts/review-changes.js.map +1 -0
  34. package/dist/prompts/troubleshoot-session.d.ts +15 -0
  35. package/dist/prompts/troubleshoot-session.d.ts.map +1 -0
  36. package/dist/prompts/troubleshoot-session.js +156 -0
  37. package/dist/prompts/troubleshoot-session.js.map +1 -0
  38. package/dist/registry-accessor.d.ts +83 -0
  39. package/dist/registry-accessor.d.ts.map +1 -0
  40. package/dist/registry-accessor.js +153 -0
  41. package/dist/registry-accessor.js.map +1 -0
  42. package/dist/resources/agents.d.ts +40 -0
  43. package/dist/resources/agents.d.ts.map +1 -0
  44. package/dist/resources/agents.js +123 -0
  45. package/dist/resources/agents.js.map +1 -0
  46. package/dist/resources/config.d.ts +57 -0
  47. package/dist/resources/config.d.ts.map +1 -0
  48. package/dist/resources/config.js +222 -0
  49. package/dist/resources/config.js.map +1 -0
  50. package/dist/resources/index.d.ts +38 -0
  51. package/dist/resources/index.d.ts.map +1 -0
  52. package/dist/resources/index.js +132 -0
  53. package/dist/resources/index.js.map +1 -0
  54. package/dist/resources/policies.d.ts +40 -0
  55. package/dist/resources/policies.d.ts.map +1 -0
  56. package/dist/resources/policies.js +122 -0
  57. package/dist/resources/policies.js.map +1 -0
  58. package/dist/resources/sessions.d.ts +30 -0
  59. package/dist/resources/sessions.d.ts.map +1 -0
  60. package/dist/resources/sessions.js +64 -0
  61. package/dist/resources/sessions.js.map +1 -0
  62. package/dist/resources/workflows.d.ts +40 -0
  63. package/dist/resources/workflows.d.ts.map +1 -0
  64. package/dist/resources/workflows.js +143 -0
  65. package/dist/resources/workflows.js.map +1 -0
  66. package/dist/schema-registry.d.ts +23 -0
  67. package/dist/schema-registry.d.ts.map +1 -0
  68. package/dist/schema-registry.js +225 -0
  69. package/dist/schema-registry.js.map +1 -0
  70. package/dist/server.d.ts +63 -0
  71. package/dist/server.d.ts.map +1 -0
  72. package/dist/server.js +393 -0
  73. package/dist/server.js.map +1 -0
  74. package/dist/session-accessor.d.ts +23 -0
  75. package/dist/session-accessor.d.ts.map +1 -0
  76. package/dist/session-accessor.js +39 -0
  77. package/dist/session-accessor.js.map +1 -0
  78. package/dist/shared-registry.d.ts +23 -0
  79. package/dist/shared-registry.d.ts.map +1 -0
  80. package/dist/shared-registry.js +235 -0
  81. package/dist/shared-registry.js.map +1 -0
  82. package/dist/stdio.d.ts +6 -0
  83. package/dist/stdio.d.ts.map +1 -0
  84. package/dist/stdio.js +152 -0
  85. package/dist/stdio.js.map +1 -0
  86. package/dist/tool-namespacing.d.ts +28 -0
  87. package/dist/tool-namespacing.d.ts.map +1 -0
  88. package/dist/tool-namespacing.js +80 -0
  89. package/dist/tool-namespacing.js.map +1 -0
  90. package/dist/tools/ability.d.ts +55 -0
  91. package/dist/tools/ability.d.ts.map +1 -0
  92. package/dist/tools/ability.js +560 -0
  93. package/dist/tools/ability.js.map +1 -0
  94. package/dist/tools/agent.d.ts +73 -0
  95. package/dist/tools/agent.d.ts.map +1 -0
  96. package/dist/tools/agent.js +895 -0
  97. package/dist/tools/agent.js.map +1 -0
  98. package/dist/tools/config.d.ts +36 -0
  99. package/dist/tools/config.d.ts.map +1 -0
  100. package/dist/tools/config.js +265 -0
  101. package/dist/tools/config.js.map +1 -0
  102. package/dist/tools/design.d.ts +42 -0
  103. package/dist/tools/design.d.ts.map +1 -0
  104. package/dist/tools/design.js +736 -0
  105. package/dist/tools/design.js.map +1 -0
  106. package/dist/tools/discuss.d.ts +40 -0
  107. package/dist/tools/discuss.d.ts.map +1 -0
  108. package/dist/tools/discuss.js +331 -0
  109. package/dist/tools/discuss.js.map +1 -0
  110. package/dist/tools/file-system.d.ts +63 -0
  111. package/dist/tools/file-system.d.ts.map +1 -0
  112. package/dist/tools/file-system.js +513 -0
  113. package/dist/tools/file-system.js.map +1 -0
  114. package/dist/tools/guard.d.ts +29 -0
  115. package/dist/tools/guard.d.ts.map +1 -0
  116. package/dist/tools/guard.js +311 -0
  117. package/dist/tools/guard.js.map +1 -0
  118. package/dist/tools/index.d.ts +35 -0
  119. package/dist/tools/index.d.ts.map +1 -0
  120. package/dist/tools/index.js +178 -0
  121. package/dist/tools/index.js.map +1 -0
  122. package/dist/tools/memory.d.ts +101 -0
  123. package/dist/tools/memory.d.ts.map +1 -0
  124. package/dist/tools/memory.js +704 -0
  125. package/dist/tools/memory.js.map +1 -0
  126. package/dist/tools/orchestration.d.ts +58 -0
  127. package/dist/tools/orchestration.d.ts.map +1 -0
  128. package/dist/tools/orchestration.js +714 -0
  129. package/dist/tools/orchestration.js.map +1 -0
  130. package/dist/tools/review.d.ts +40 -0
  131. package/dist/tools/review.d.ts.map +1 -0
  132. package/dist/tools/review.js +319 -0
  133. package/dist/tools/review.js.map +1 -0
  134. package/dist/tools/scaffold.d.ts +27 -0
  135. package/dist/tools/scaffold.d.ts.map +1 -0
  136. package/dist/tools/scaffold.js +495 -0
  137. package/dist/tools/scaffold.js.map +1 -0
  138. package/dist/tools/session.d.ts +75 -0
  139. package/dist/tools/session.d.ts.map +1 -0
  140. package/dist/tools/session.js +749 -0
  141. package/dist/tools/session.js.map +1 -0
  142. package/dist/tools/telemetry.d.ts +58 -0
  143. package/dist/tools/telemetry.d.ts.map +1 -0
  144. package/dist/tools/telemetry.js +638 -0
  145. package/dist/tools/telemetry.js.map +1 -0
  146. package/dist/tools/trace.d.ts +29 -0
  147. package/dist/tools/trace.d.ts.map +1 -0
  148. package/dist/tools/trace.js +191 -0
  149. package/dist/tools/trace.js.map +1 -0
  150. package/dist/tools/workflow.d.ts +26 -0
  151. package/dist/tools/workflow.d.ts.map +1 -0
  152. package/dist/tools/workflow.js +269 -0
  153. package/dist/tools/workflow.js.map +1 -0
  154. package/dist/trace-wrapper.d.ts +79 -0
  155. package/dist/trace-wrapper.d.ts.map +1 -0
  156. package/dist/trace-wrapper.js +151 -0
  157. package/dist/trace-wrapper.js.map +1 -0
  158. package/dist/types.d.ts +185 -0
  159. package/dist/types.d.ts.map +1 -0
  160. package/dist/types.js +11 -0
  161. package/dist/types.js.map +1 -0
  162. package/dist/utils/artifact-store.d.ts +49 -0
  163. package/dist/utils/artifact-store.d.ts.map +1 -0
  164. package/dist/utils/artifact-store.js +102 -0
  165. package/dist/utils/artifact-store.js.map +1 -0
  166. package/dist/utils/index.d.ts +6 -0
  167. package/dist/utils/index.d.ts.map +1 -0
  168. package/dist/utils/index.js +10 -0
  169. package/dist/utils/index.js.map +1 -0
  170. package/dist/utils/response.d.ts +139 -0
  171. package/dist/utils/response.d.ts.map +1 -0
  172. package/dist/utils/response.js +293 -0
  173. package/dist/utils/response.js.map +1 -0
  174. package/dist/validation.d.ts +223 -0
  175. package/dist/validation.d.ts.map +1 -0
  176. package/dist/validation.js +372 -0
  177. package/dist/validation.js.map +1 -0
  178. 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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"}