nightshift-mcp 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +670 -0
- package/dist/agent-spawner.d.ts +55 -0
- package/dist/agent-spawner.d.ts.map +1 -0
- package/dist/agent-spawner.js +468 -0
- package/dist/agent-spawner.js.map +1 -0
- package/dist/chat-manager.d.ts +72 -0
- package/dist/chat-manager.d.ts.map +1 -0
- package/dist/chat-manager.js +331 -0
- package/dist/chat-manager.js.map +1 -0
- package/dist/daemon.d.ts +65 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +563 -0
- package/dist/daemon.js.map +1 -0
- package/dist/file-lock.d.ts +41 -0
- package/dist/file-lock.d.ts.map +1 -0
- package/dist/file-lock.js +157 -0
- package/dist/file-lock.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2433 -0
- package/dist/index.js.map +1 -0
- package/dist/ralph-manager.d.ts +148 -0
- package/dist/ralph-manager.d.ts.map +1 -0
- package/dist/ralph-manager.js +399 -0
- package/dist/ralph-manager.js.map +1 -0
- package/dist/tool-registry.d.ts +130 -0
- package/dist/tool-registry.d.ts.map +1 -0
- package/dist/tool-registry.js +280 -0
- package/dist/tool-registry.js.map +1 -0
- package/dist/tools/agents.d.ts +7 -0
- package/dist/tools/agents.d.ts.map +1 -0
- package/dist/tools/agents.js +366 -0
- package/dist/tools/agents.js.map +1 -0
- package/dist/tools/bugs.d.ts +6 -0
- package/dist/tools/bugs.d.ts.map +1 -0
- package/dist/tools/bugs.js +184 -0
- package/dist/tools/bugs.js.map +1 -0
- package/dist/tools/chat.d.ts +10 -0
- package/dist/tools/chat.d.ts.map +1 -0
- package/dist/tools/chat.js +287 -0
- package/dist/tools/chat.js.map +1 -0
- package/dist/tools/index.d.ts +33 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +51 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/prd.d.ts +8 -0
- package/dist/tools/prd.d.ts.map +1 -0
- package/dist/tools/prd.js +275 -0
- package/dist/tools/prd.js.map +1 -0
- package/dist/tools/progress.d.ts +5 -0
- package/dist/tools/progress.d.ts.map +1 -0
- package/dist/tools/progress.js +81 -0
- package/dist/tools/progress.js.map +1 -0
- package/dist/tools/savepoints.d.ts +5 -0
- package/dist/tools/savepoints.d.ts.map +1 -0
- package/dist/tools/savepoints.js +100 -0
- package/dist/tools/savepoints.js.map +1 -0
- package/dist/tools/utility.d.ts +4 -0
- package/dist/tools/utility.d.ts.map +1 -0
- package/dist/tools/utility.js +375 -0
- package/dist/tools/utility.js.map +1 -0
- package/dist/tools/workflow.d.ts +10 -0
- package/dist/tools/workflow.d.ts.map +1 -0
- package/dist/tools/workflow.js +321 -0
- package/dist/tools/workflow.js.map +1 -0
- package/dist/types.d.ts +105 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/workflow-manager.d.ts +154 -0
- package/dist/workflow-manager.d.ts.map +1 -0
- package/dist/workflow-manager.js +356 -0
- package/dist/workflow-manager.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import { defineTool } from "../tool-registry.js";
|
|
5
|
+
import { getAvailableAgents, getAgentStatus } from "../agent-spawner.js";
|
|
6
|
+
// Agent installation instructions
|
|
7
|
+
const AGENT_INSTALL_HINTS = {
|
|
8
|
+
claude: "npm install -g @anthropic-ai/claude-code",
|
|
9
|
+
codex: "npm install -g @openai/codex",
|
|
10
|
+
gemini: "npm install -g @google/gemini-cli",
|
|
11
|
+
vibe: "pip install mistral-vibe",
|
|
12
|
+
};
|
|
13
|
+
export const nightshiftSetup = defineTool({
|
|
14
|
+
name: "nightshift_setup",
|
|
15
|
+
category: "utility",
|
|
16
|
+
description: "Get setup instructions and check configuration",
|
|
17
|
+
fullDescription: "Get setup instructions and check project configuration for NightShift MCP. Use this to understand how to configure agents or troubleshoot setup issues.",
|
|
18
|
+
inputSchema: z.object({
|
|
19
|
+
showExamples: z.boolean().optional().describe("Include example prd.json and bugs.json templates"),
|
|
20
|
+
}),
|
|
21
|
+
handler: async ({ showExamples }, ctx) => {
|
|
22
|
+
try {
|
|
23
|
+
const checks = [];
|
|
24
|
+
const issues = [];
|
|
25
|
+
const suggestions = [];
|
|
26
|
+
// Check project path
|
|
27
|
+
checks.push(`Project path: ${ctx.projectPath}`);
|
|
28
|
+
// Check for prd.json
|
|
29
|
+
if (ctx.ralphManager.hasPRD()) {
|
|
30
|
+
const summary = ctx.ralphManager.getCompletionSummary();
|
|
31
|
+
checks.push(`✓ prd.json found (${summary.complete}/${summary.total} stories complete)`);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
issues.push("✗ No prd.json found");
|
|
35
|
+
suggestions.push("Create prd.json with user stories to enable task management");
|
|
36
|
+
}
|
|
37
|
+
// Check for bugs.json
|
|
38
|
+
if (ctx.ralphManager.hasBugs()) {
|
|
39
|
+
const summary = ctx.ralphManager.getBugsSummary();
|
|
40
|
+
checks.push(`✓ bugs.json found (${summary.fixed}/${summary.total} bugs fixed)`);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
checks.push("○ No bugs.json (optional - create when testing finds issues)");
|
|
44
|
+
}
|
|
45
|
+
// Check for .robot-chat directory
|
|
46
|
+
const chatPath = ctx.chatManager.getChatFilePath();
|
|
47
|
+
if (fs.existsSync(chatPath)) {
|
|
48
|
+
checks.push("✓ Chat file exists");
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
checks.push("○ Chat file will be created on first message");
|
|
52
|
+
}
|
|
53
|
+
// Check for .gitignore entry
|
|
54
|
+
const gitignorePath = path.join(ctx.projectPath, ".gitignore");
|
|
55
|
+
if (fs.existsSync(gitignorePath)) {
|
|
56
|
+
const gitignore = fs.readFileSync(gitignorePath, "utf-8");
|
|
57
|
+
if (gitignore.includes(".robot-chat")) {
|
|
58
|
+
checks.push("✓ .robot-chat in .gitignore");
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
issues.push("✗ .robot-chat not in .gitignore");
|
|
62
|
+
suggestions.push("Add '.robot-chat/' to .gitignore to prevent committing chat logs");
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
issues.push("✗ No .gitignore file");
|
|
67
|
+
suggestions.push("Create .gitignore and add '.robot-chat/'");
|
|
68
|
+
}
|
|
69
|
+
// Check git repo
|
|
70
|
+
try {
|
|
71
|
+
const { execSync } = await import("child_process");
|
|
72
|
+
execSync("git rev-parse --git-dir", { cwd: ctx.projectPath, stdio: "pipe" });
|
|
73
|
+
checks.push("✓ Git repository initialized");
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
issues.push("✗ Not a git repository");
|
|
77
|
+
suggestions.push("Initialize git with 'git init' for savepoints to work");
|
|
78
|
+
}
|
|
79
|
+
// Check available agents
|
|
80
|
+
const agents = await getAvailableAgents();
|
|
81
|
+
if (agents.length > 0) {
|
|
82
|
+
checks.push(`✓ Available agents: ${agents.join(", ")}`);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
issues.push("✗ No agents available");
|
|
86
|
+
suggestions.push("Install at least one agent CLI (claude, codex, gemini, or vibe)");
|
|
87
|
+
}
|
|
88
|
+
// Build response
|
|
89
|
+
let response = `# NightShift Setup Status\n\n`;
|
|
90
|
+
response += `## Checks\n${checks.join("\n")}\n\n`;
|
|
91
|
+
if (issues.length > 0) {
|
|
92
|
+
response += `## Issues\n${issues.join("\n")}\n\n`;
|
|
93
|
+
}
|
|
94
|
+
if (suggestions.length > 0) {
|
|
95
|
+
response += `## Suggestions\n${suggestions.map(s => `- ${s}`).join("\n")}\n\n`;
|
|
96
|
+
}
|
|
97
|
+
response += `## Agent Configuration\n\n`;
|
|
98
|
+
response += `**Claude Code** (~/.claude.json):\n\`\`\`json
|
|
99
|
+
{
|
|
100
|
+
"mcpServers": {
|
|
101
|
+
"nightshift": {
|
|
102
|
+
"command": "nightshift-mcp",
|
|
103
|
+
"args": ["${ctx.projectPath}"]
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
\`\`\`\n\n`;
|
|
108
|
+
response += `**Codex** (~/.codex/config.toml):\n\`\`\`toml
|
|
109
|
+
[mcp_servers.nightshift]
|
|
110
|
+
command = "nightshift-mcp"
|
|
111
|
+
args = ["${ctx.projectPath}"]
|
|
112
|
+
\`\`\`\n\n`;
|
|
113
|
+
if (showExamples) {
|
|
114
|
+
response += `## Example Templates\n\n`;
|
|
115
|
+
response += `**prd.json**:\n\`\`\`json
|
|
116
|
+
{
|
|
117
|
+
"project": "MyProject",
|
|
118
|
+
"description": "Project description",
|
|
119
|
+
"userStories": [
|
|
120
|
+
{
|
|
121
|
+
"id": "US-001",
|
|
122
|
+
"title": "First feature",
|
|
123
|
+
"description": "Implement the first feature",
|
|
124
|
+
"acceptanceCriteria": [
|
|
125
|
+
"Criteria 1",
|
|
126
|
+
"Criteria 2"
|
|
127
|
+
],
|
|
128
|
+
"priority": 1,
|
|
129
|
+
"passes": false,
|
|
130
|
+
"notes": ""
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
\`\`\`\n\n`;
|
|
135
|
+
response += `**bugs.json**:\n\`\`\`json
|
|
136
|
+
{
|
|
137
|
+
"project": "MyProject",
|
|
138
|
+
"bugs": [
|
|
139
|
+
{
|
|
140
|
+
"id": "BUG-001",
|
|
141
|
+
"title": "Bug description",
|
|
142
|
+
"description": "Detailed bug description",
|
|
143
|
+
"stepsToReproduce": [
|
|
144
|
+
"Step 1",
|
|
145
|
+
"Step 2"
|
|
146
|
+
],
|
|
147
|
+
"priority": 1,
|
|
148
|
+
"fixed": false
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
\`\`\`\n`;
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
content: [{ type: "text", text: response }],
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
return {
|
|
160
|
+
content: [{ type: "text", text: `Error getting setup info: ${error instanceof Error ? error.message : String(error)}` }],
|
|
161
|
+
isError: true,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
});
|
|
166
|
+
export const nightshiftDebug = defineTool({
|
|
167
|
+
name: "nightshift_debug",
|
|
168
|
+
category: "utility",
|
|
169
|
+
description: "Diagnose issues and troubleshoot problems",
|
|
170
|
+
fullDescription: "Diagnose issues with NightShift MCP. Checks file permissions, validates JSON files, reviews recent errors, and provides troubleshooting guidance.",
|
|
171
|
+
inputSchema: z.object({}),
|
|
172
|
+
handler: async (_params, ctx) => {
|
|
173
|
+
try {
|
|
174
|
+
const diagnostics = [];
|
|
175
|
+
const errors = [];
|
|
176
|
+
const fixes = [];
|
|
177
|
+
diagnostics.push(`# NightShift Debug Report\n`);
|
|
178
|
+
diagnostics.push(`Timestamp: ${new Date().toISOString()}`);
|
|
179
|
+
diagnostics.push(`Project: ${ctx.projectPath}\n`);
|
|
180
|
+
// 1. Check file system
|
|
181
|
+
diagnostics.push(`## File System Checks`);
|
|
182
|
+
// Check project directory exists and is writable
|
|
183
|
+
try {
|
|
184
|
+
fs.accessSync(ctx.projectPath, fs.constants.W_OK);
|
|
185
|
+
diagnostics.push(`✓ Project directory is writable`);
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
errors.push(`✗ Project directory is not writable`);
|
|
189
|
+
fixes.push(`Check permissions on ${ctx.projectPath}`);
|
|
190
|
+
}
|
|
191
|
+
// Check .robot-chat directory
|
|
192
|
+
const robotChatDir = path.join(ctx.projectPath, ".robot-chat");
|
|
193
|
+
if (fs.existsSync(robotChatDir)) {
|
|
194
|
+
try {
|
|
195
|
+
fs.accessSync(robotChatDir, fs.constants.W_OK);
|
|
196
|
+
diagnostics.push(`✓ .robot-chat directory is writable`);
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
errors.push(`✗ .robot-chat directory is not writable`);
|
|
200
|
+
fixes.push(`Run: chmod 755 ${robotChatDir}`);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
diagnostics.push(`○ .robot-chat directory doesn't exist (will be created)`);
|
|
205
|
+
}
|
|
206
|
+
// 2. Validate JSON files
|
|
207
|
+
diagnostics.push(`\n## JSON Validation`);
|
|
208
|
+
// Validate prd.json
|
|
209
|
+
if (ctx.ralphManager.hasPRD()) {
|
|
210
|
+
try {
|
|
211
|
+
const prd = ctx.ralphManager.readPRD();
|
|
212
|
+
if (prd && prd.userStories && Array.isArray(prd.userStories)) {
|
|
213
|
+
diagnostics.push(`✓ prd.json is valid (${prd.userStories.length} stories)`);
|
|
214
|
+
// Check for common issues
|
|
215
|
+
const storiesWithoutId = prd.userStories.filter((s) => !s.id);
|
|
216
|
+
if (storiesWithoutId.length > 0) {
|
|
217
|
+
errors.push(`✗ ${storiesWithoutId.length} stories missing 'id' field`);
|
|
218
|
+
fixes.push(`Add unique 'id' to each story (e.g., "US-001")`);
|
|
219
|
+
}
|
|
220
|
+
const storiesWithoutPriority = prd.userStories.filter((s) => s.priority === undefined);
|
|
221
|
+
if (storiesWithoutPriority.length > 0) {
|
|
222
|
+
errors.push(`✗ ${storiesWithoutPriority.length} stories missing 'priority' field`);
|
|
223
|
+
fixes.push(`Add 'priority' number to each story (lower = higher priority)`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
errors.push(`✗ prd.json missing 'userStories' array`);
|
|
228
|
+
fixes.push(`Add "userStories": [] to prd.json`);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
catch (e) {
|
|
232
|
+
errors.push(`✗ prd.json parse error: ${e instanceof Error ? e.message : String(e)}`);
|
|
233
|
+
fixes.push(`Check prd.json for JSON syntax errors`);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
diagnostics.push(`○ No prd.json found`);
|
|
238
|
+
}
|
|
239
|
+
// Validate bugs.json
|
|
240
|
+
if (ctx.ralphManager.hasBugs()) {
|
|
241
|
+
try {
|
|
242
|
+
const bugs = ctx.ralphManager.readBugs();
|
|
243
|
+
if (bugs && bugs.bugs && Array.isArray(bugs.bugs)) {
|
|
244
|
+
diagnostics.push(`✓ bugs.json is valid (${bugs.bugs.length} bugs)`);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
errors.push(`✗ bugs.json missing 'bugs' array`);
|
|
248
|
+
fixes.push(`Add "bugs": [] to bugs.json`);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
catch (e) {
|
|
252
|
+
errors.push(`✗ bugs.json parse error: ${e instanceof Error ? e.message : String(e)}`);
|
|
253
|
+
fixes.push(`Check bugs.json for JSON syntax errors`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
// 3. Check daemon lock
|
|
257
|
+
diagnostics.push(`\n## Daemon Status`);
|
|
258
|
+
const lockFile = path.join(robotChatDir, "daemon.lock");
|
|
259
|
+
if (fs.existsSync(lockFile)) {
|
|
260
|
+
try {
|
|
261
|
+
const pid = fs.readFileSync(lockFile, "utf-8").trim();
|
|
262
|
+
try {
|
|
263
|
+
process.kill(parseInt(pid), 0);
|
|
264
|
+
diagnostics.push(`⚠ Daemon is running (PID: ${pid})`);
|
|
265
|
+
}
|
|
266
|
+
catch {
|
|
267
|
+
errors.push(`✗ Stale daemon lock file (PID ${pid} not running)`);
|
|
268
|
+
fixes.push(`Remove stale lock: rm ${lockFile}`);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
catch {
|
|
272
|
+
diagnostics.push(`○ No daemon running`);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
diagnostics.push(`○ No daemon running`);
|
|
277
|
+
}
|
|
278
|
+
// 4. Check recent chat errors
|
|
279
|
+
diagnostics.push(`\n## Recent Chat Activity`);
|
|
280
|
+
try {
|
|
281
|
+
const recentMessages = ctx.chatManager.readMessages({ limit: 10 });
|
|
282
|
+
const errorMessages = recentMessages.filter((m) => m.type === "ERROR");
|
|
283
|
+
const failovers = recentMessages.filter((m) => m.type === "FAILOVER_NEEDED");
|
|
284
|
+
diagnostics.push(`Messages in last 10: ${recentMessages.length}`);
|
|
285
|
+
if (errorMessages.length > 0) {
|
|
286
|
+
errors.push(`✗ ${errorMessages.length} ERROR messages in recent chat`);
|
|
287
|
+
errorMessages.forEach((m) => {
|
|
288
|
+
diagnostics.push(` - [${m.agent}] ${m.content.substring(0, 100)}...`);
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
if (failovers.length > 0) {
|
|
292
|
+
diagnostics.push(`⚠ ${failovers.length} FAILOVER_NEEDED messages`);
|
|
293
|
+
const unclaimed = ctx.chatManager.findUnclaimedFailovers();
|
|
294
|
+
if (unclaimed.length > 0) {
|
|
295
|
+
errors.push(`✗ ${unclaimed.length} unclaimed failovers need attention`);
|
|
296
|
+
fixes.push(`Claim failovers with claim_failover tool`);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
catch {
|
|
301
|
+
diagnostics.push(`○ No chat history yet`);
|
|
302
|
+
}
|
|
303
|
+
// 5. Agent availability
|
|
304
|
+
diagnostics.push(`\n## Agent Status`);
|
|
305
|
+
const status = await getAgentStatus();
|
|
306
|
+
for (const [agent, info] of Object.entries(status)) {
|
|
307
|
+
if (info.canRun) {
|
|
308
|
+
diagnostics.push(`✓ ${agent}: available`);
|
|
309
|
+
}
|
|
310
|
+
else if (info.available) {
|
|
311
|
+
errors.push(`✗ ${agent}: installed but cannot run`);
|
|
312
|
+
if (info.reason) {
|
|
313
|
+
fixes.push(`${agent}: ${info.reason}`);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
diagnostics.push(`○ ${agent}: not installed`);
|
|
318
|
+
fixes.push(`Install ${agent}: ${AGENT_INSTALL_HINTS[agent]}`);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
// 6. Git status
|
|
322
|
+
diagnostics.push(`\n## Git Status`);
|
|
323
|
+
try {
|
|
324
|
+
const { execSync } = await import("child_process");
|
|
325
|
+
execSync("git rev-parse --git-dir", { cwd: ctx.projectPath, stdio: "pipe" });
|
|
326
|
+
diagnostics.push(`✓ Git repository`);
|
|
327
|
+
// Check for uncommitted changes
|
|
328
|
+
const gitStatus = execSync("git status --porcelain", {
|
|
329
|
+
cwd: ctx.projectPath,
|
|
330
|
+
encoding: "utf-8",
|
|
331
|
+
}).trim();
|
|
332
|
+
if (gitStatus) {
|
|
333
|
+
const lines = gitStatus.split("\n").length;
|
|
334
|
+
diagnostics.push(`⚠ ${lines} uncommitted changes`);
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
diagnostics.push(`✓ Working directory clean`);
|
|
338
|
+
}
|
|
339
|
+
// List savepoints
|
|
340
|
+
const savepoints = ctx.ralphManager.listSavepoints();
|
|
341
|
+
diagnostics.push(`Savepoints: ${savepoints.length}`);
|
|
342
|
+
}
|
|
343
|
+
catch {
|
|
344
|
+
errors.push(`✗ Not a git repository`);
|
|
345
|
+
fixes.push(`Initialize git: git init`);
|
|
346
|
+
}
|
|
347
|
+
// Build response
|
|
348
|
+
let response = diagnostics.join("\n");
|
|
349
|
+
if (errors.length > 0) {
|
|
350
|
+
response += `\n\n## Errors Found (${errors.length})\n${errors.join("\n")}`;
|
|
351
|
+
}
|
|
352
|
+
if (fixes.length > 0) {
|
|
353
|
+
response += `\n\n## Suggested Fixes\n${fixes.map((f, i) => `${i + 1}. ${f}`).join("\n")}`;
|
|
354
|
+
}
|
|
355
|
+
if (errors.length === 0) {
|
|
356
|
+
response += `\n\n✅ No issues found. NightShift is ready to use.`;
|
|
357
|
+
}
|
|
358
|
+
return {
|
|
359
|
+
content: [{ type: "text", text: response }],
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
catch (error) {
|
|
363
|
+
return {
|
|
364
|
+
content: [{ type: "text", text: `Error running diagnostics: ${error instanceof Error ? error.message : String(error)}` }],
|
|
365
|
+
isError: true,
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
},
|
|
369
|
+
});
|
|
370
|
+
// Export all utility tools as an array
|
|
371
|
+
export const utilityTools = [
|
|
372
|
+
nightshiftSetup,
|
|
373
|
+
nightshiftDebug,
|
|
374
|
+
];
|
|
375
|
+
//# sourceMappingURL=utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/tools/utility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAqC,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAkB,MAAM,qBAAqB,CAAC;AAEzF,kCAAkC;AAClC,MAAM,mBAAmB,GAA8B;IACrD,MAAM,EAAE,0CAA0C;IAClD,KAAK,EAAE,8BAA8B;IACrC,MAAM,EAAE,mCAAmC;IAC3C,IAAI,EAAE,0BAA0B;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,gDAAgD;IAC7D,eAAe,EAAE,yJAAyJ;IAC1K,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;KAClG,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,GAAgB,EAAuB,EAAE;QACzE,IAAI,CAAC;YACH,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAa,EAAE,CAAC;YAEjC,qBAAqB;YACrB,MAAM,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YAEhD,qBAAqB;YACrB,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,oBAAoB,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACnC,WAAW,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YAClF,CAAC;YAED,sBAAsB;YACtB,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,cAAc,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC9E,CAAC;YAED,kCAAkC;YAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YACnD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC9D,CAAC;YAED,6BAA6B;YAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBAC1D,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACtC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;oBAC/C,WAAW,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACpC,WAAW,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAC/D,CAAC;YAED,iBAAiB;YACjB,IAAI,CAAC;gBACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;gBACnD,QAAQ,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC7E,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACtC,WAAW,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YAC5E,CAAC;YAED,yBAAyB;YACzB,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACrC,WAAW,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YACtF,CAAC;YAED,iBAAiB;YACjB,IAAI,QAAQ,GAAG,+BAA+B,CAAC;YAC/C,QAAQ,IAAI,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAElD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,QAAQ,IAAI,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACpD,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,QAAQ,IAAI,mBAAmB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACjF,CAAC;YAED,QAAQ,IAAI,4BAA4B,CAAC;YACzC,QAAQ,IAAI;;;;;kBAKA,GAAG,CAAC,WAAW;;;;WAItB,CAAC;YAEN,QAAQ,IAAI;;;WAGP,GAAG,CAAC,WAAW;WACf,CAAC;YAEN,IAAI,YAAY,EAAE,CAAC;gBACjB,QAAQ,IAAI,0BAA0B,CAAC;gBACvC,QAAQ,IAAI;;;;;;;;;;;;;;;;;;;WAmBT,CAAC;gBAEJ,QAAQ,IAAI;;;;;;;;;;;;;;;;;SAiBX,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aAC5C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACxH,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,2CAA2C;IACxD,eAAe,EAAE,mJAAmJ;IACpK,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAgB,EAAuB,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,WAAW,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAChD,WAAW,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC3D,WAAW,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;YAElD,uBAAuB;YACvB,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAE1C,iDAAiD;YACjD,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAClD,WAAW,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,8BAA8B;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC/C,WAAW,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBAC1D,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;oBACvD,KAAK,CAAC,IAAI,CAAC,kBAAkB,YAAY,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YAC9E,CAAC;YAED,yBAAyB;YACzB,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAEzC,oBAAoB;YACpB,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBACvC,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC7D,WAAW,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC;wBAE5E,0BAA0B;wBAC1B,MAAM,gBAAgB,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACnE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAChC,MAAM,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAC,MAAM,6BAA6B,CAAC,CAAC;4BACvE,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;wBAC/D,CAAC;wBAED,MAAM,sBAAsB,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;wBAC5F,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACtC,MAAM,CAAC,IAAI,CAAC,KAAK,sBAAsB,CAAC,MAAM,mCAAmC,CAAC,CAAC;4BACnF,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;wBAC9E,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;wBACtD,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACrF,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC1C,CAAC;YAED,qBAAqB;YACrB,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;oBACzC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClD,WAAW,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC;oBACtE,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;wBAChD,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACtF,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAED,uBAAuB;YACvB,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;oBACtD,IAAI,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC/B,WAAW,CAAC,IAAI,CAAC,6BAA6B,GAAG,GAAG,CAAC,CAAC;oBACxD,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,CAAC,IAAI,CAAC,iCAAiC,GAAG,eAAe,CAAC,CAAC;wBACjE,KAAK,CAAC,IAAI,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC1C,CAAC;YAED,8BAA8B;YAC9B,WAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnE,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;gBAElF,WAAW,CAAC,IAAI,CAAC,wBAAwB,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,MAAM,gCAAgC,CAAC,CAAC;oBACvE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;wBAC/B,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBACzE,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM,2BAA2B,CAAC,CAAC;oBACnE,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;oBAC3D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzB,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM,qCAAqC,CAAC,CAAC;wBACxE,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC5C,CAAC;YAED,wBAAwB;YACxB,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,WAAW,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;gBAC5C,CAAC;qBAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,4BAA4B,CAAC,CAAC;oBACpD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAChB,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAC;oBAC9C,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,mBAAmB,CAAC,KAAkB,CAAC,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;YAED,gBAAgB;YAChB,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;gBACnD,QAAQ,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC7E,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAErC,gCAAgC;gBAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,wBAAwB,EAAE;oBACnD,GAAG,EAAE,GAAG,CAAC,WAAW;oBACpB,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;oBAC3C,WAAW,CAAC,IAAI,CAAC,KAAK,KAAK,sBAAsB,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAChD,CAAC;gBAED,kBAAkB;gBAClB,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;gBACrD,WAAW,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACzC,CAAC;YAED,iBAAiB;YACjB,IAAI,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,QAAQ,IAAI,wBAAwB,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7E,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,QAAQ,IAAI,2BAA2B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5F,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,QAAQ,IAAI,oDAAoD,CAAC;YACnE,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aAC5C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACzH,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,uCAAuC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,eAAe;IACf,eAAe;CAChB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const initWorkflow: import("../tool-registry.js").ToolDefinition;
|
|
2
|
+
export declare const getWorkflowState: import("../tool-registry.js").ToolDefinition;
|
|
3
|
+
export declare const advancePhase: import("../tool-registry.js").ToolDefinition;
|
|
4
|
+
export declare const setPhase: import("../tool-registry.js").ToolDefinition;
|
|
5
|
+
export declare const recordDecision: import("../tool-registry.js").ToolDefinition;
|
|
6
|
+
export declare const getDecisions: import("../tool-registry.js").ToolDefinition;
|
|
7
|
+
export declare const getActiveAssignments: import("../tool-registry.js").ToolDefinition;
|
|
8
|
+
export declare const clearAssignment: import("../tool-registry.js").ToolDefinition;
|
|
9
|
+
export declare const workflowTools: import("../tool-registry.js").ToolDefinition[];
|
|
10
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY,8CA0BvB,CAAC;AAEH,eAAO,MAAM,gBAAgB,8CAiE3B,CAAC;AAEH,eAAO,MAAM,YAAY,8CAwCvB,CAAC;AAEH,eAAO,MAAM,QAAQ,8CAoCnB,CAAC;AAEH,eAAO,MAAM,cAAc,8CAwCzB,CAAC;AAEH,eAAO,MAAM,YAAY,8CA4CvB,CAAC;AAEH,eAAO,MAAM,oBAAoB,8CAgC/B,CAAC;AAEH,eAAO,MAAM,eAAe,8CA4B1B,CAAC;AAGH,eAAO,MAAM,aAAa,gDASzB,CAAC"}
|