@triedotdev/mcp 1.0.122 → 1.0.124

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 (51) hide show
  1. package/dist/{chat-store-R46BCMBW.js → chat-store-HFOOWZYN.js} +2 -2
  2. package/dist/{chunk-JG7XVS53.js → chunk-4YJ6KLGI.js} +9 -2
  3. package/dist/{chunk-JG7XVS53.js.map → chunk-4YJ6KLGI.js.map} +1 -1
  4. package/dist/{chunk-ANQPXOT2.js → chunk-7J4ZOOAD.js} +333 -304
  5. package/dist/chunk-7J4ZOOAD.js.map +1 -0
  6. package/dist/{chunk-F4ZIAHTZ.js → chunk-A4EDTN6R.js} +2 -2
  7. package/dist/{chunk-7A5RLKZY.js → chunk-D2CGMX7K.js} +7 -7
  8. package/dist/{chunk-HWXZ3E7B.js → chunk-DFPVUMVE.js} +1 -1
  9. package/dist/chunk-DFPVUMVE.js.map +1 -0
  10. package/dist/{chunk-EOLHWFDG.js → chunk-TRIJC5MW.js} +2 -2
  11. package/dist/{chunk-3BVNB3GY.js → chunk-W2DEBKZ2.js} +4 -5
  12. package/dist/chunk-W2DEBKZ2.js.map +1 -0
  13. package/dist/{chunk-WRGSH5RT.js → chunk-WMI44VIC.js} +2 -2
  14. package/dist/{chunk-WRGSH5RT.js.map → chunk-WMI44VIC.js.map} +1 -1
  15. package/dist/cli/main.js +2 -2
  16. package/dist/cli/main.js.map +1 -1
  17. package/dist/cli/yolo-daemon.js +8 -8
  18. package/dist/{client-PMKE26IV.js → client-EWP4SIG3.js} +2 -2
  19. package/dist/{goal-manager-O446DRJI.js → goal-manager-RREOIX6U.js} +3 -3
  20. package/dist/{goal-validator-XYA364W3.js → goal-validator-CKFKJ46J.js} +2 -2
  21. package/dist/{guardian-agent-KVLNECZ5.js → guardian-agent-5QVLDPKB.js} +7 -7
  22. package/dist/{hypothesis-QFGZ5ITT.js → hypothesis-HFYZNIMZ.js} +3 -3
  23. package/dist/index.js +150 -30
  24. package/dist/index.js.map +1 -1
  25. package/dist/{insight-store-DZ5C3RFM.js → insight-store-F5KDBY5Y.js} +2 -2
  26. package/dist/{terminal-spawn-2GU5KLPS.js → terminal-spawn-P5M5PHAV.js} +28 -6
  27. package/dist/terminal-spawn-P5M5PHAV.js.map +1 -0
  28. package/dist/ui/chat.html +821 -0
  29. package/dist/ui/goals.html +724 -0
  30. package/dist/ui/hypotheses.html +768 -0
  31. package/dist/ui/ledger.html +711 -0
  32. package/dist/ui/nudges.html +752 -0
  33. package/package.json +1 -1
  34. package/dist/chunk-3BVNB3GY.js.map +0 -1
  35. package/dist/chunk-ANQPXOT2.js.map +0 -1
  36. package/dist/chunk-HWXZ3E7B.js.map +0 -1
  37. package/dist/terminal-spawn-2GU5KLPS.js.map +0 -1
  38. package/dist/ui/memory-viewer.html +0 -773
  39. package/dist/ui/pr-review.html +0 -742
  40. package/dist/ui/scan-dashboard.html +0 -741
  41. package/dist/ui/visual-qa.html +0 -762
  42. /package/dist/{chat-store-R46BCMBW.js.map → chat-store-HFOOWZYN.js.map} +0 -0
  43. /package/dist/{chunk-F4ZIAHTZ.js.map → chunk-A4EDTN6R.js.map} +0 -0
  44. /package/dist/{chunk-7A5RLKZY.js.map → chunk-D2CGMX7K.js.map} +0 -0
  45. /package/dist/{chunk-EOLHWFDG.js.map → chunk-TRIJC5MW.js.map} +0 -0
  46. /package/dist/{client-PMKE26IV.js.map → client-EWP4SIG3.js.map} +0 -0
  47. /package/dist/{goal-manager-O446DRJI.js.map → goal-manager-RREOIX6U.js.map} +0 -0
  48. /package/dist/{goal-validator-XYA364W3.js.map → goal-validator-CKFKJ46J.js.map} +0 -0
  49. /package/dist/{guardian-agent-KVLNECZ5.js.map → guardian-agent-5QVLDPKB.js.map} +0 -0
  50. /package/dist/{hypothesis-QFGZ5ITT.js.map → hypothesis-HFYZNIMZ.js.map} +0 -0
  51. /package/dist/{insight-store-DZ5C3RFM.js.map → insight-store-F5KDBY5Y.js.map} +0 -0
@@ -5,7 +5,7 @@ import {
5
5
  InsightStoreDataSchema,
6
6
  clearInsightStores,
7
7
  getInsightStore
8
- } from "./chunk-JG7XVS53.js";
8
+ } from "./chunk-4YJ6KLGI.js";
9
9
  import "./chunk-WS6OA7H6.js";
10
10
  import "./chunk-43X6JBEM.js";
11
11
  import "./chunk-45Y5TLQZ.js";
@@ -19,4 +19,4 @@ export {
19
19
  clearInsightStores,
20
20
  getInsightStore
21
21
  };
22
- //# sourceMappingURL=insight-store-DZ5C3RFM.js.map
22
+ //# sourceMappingURL=insight-store-F5KDBY5Y.js.map
@@ -20,7 +20,7 @@ async function spawnMacOSTerminal(command, cwd, title, keepOpen) {
20
20
  const escapedCommand = command.replace(/'/g, `'"'"'`);
21
21
  const escapedCwd = cwd?.replace(/'/g, `'"'"'`) || process.cwd();
22
22
  const escapedTitle = title?.replace(/'/g, `'"'"'`) || "Trie Agent";
23
- const fullCommand = cwd ? `cd '${escapedCwd}' && ${command}` : command;
23
+ const fullCommand = cwd ? `cd '${escapedCwd}' && ${escapedCommand}` : escapedCommand;
24
24
  const escapedFullCommand = fullCommand.replace(/'/g, `'"'"'`);
25
25
  const script = `
26
26
  tell application "Terminal"
@@ -32,9 +32,31 @@ end tell
32
32
  try {
33
33
  await execAsync(`osascript -e '${script.replace(/'/g, `'"'"'`)}'`);
34
34
  } catch (error) {
35
- console.error("Terminal.app spawn failed, trying fallback...");
36
- const shellCmd = keepOpen ? `${fullCommand}; exec bash` : fullCommand;
37
- await execAsync(`open -a Terminal "${escapedCwd}" --args -e "${shellCmd}"`);
35
+ console.error("Terminal.app spawn failed, trying script fallback...");
36
+ const { writeFileSync, unlinkSync } = await import("fs");
37
+ const { join } = await import("path");
38
+ const { tmpdir } = await import("os");
39
+ const tempScript = join(tmpdir(), `trie-claude-${Date.now()}.sh`);
40
+ const scriptContent = `#!/bin/bash
41
+ cd '${escapedCwd}'
42
+ ${escapedCommand}
43
+ ${keepOpen ? "exec bash" : ""}`;
44
+ writeFileSync(tempScript, scriptContent, { mode: 493 });
45
+ try {
46
+ await execAsync(`open -a Terminal '${tempScript}'`);
47
+ setTimeout(() => {
48
+ try {
49
+ unlinkSync(tempScript);
50
+ } catch {
51
+ }
52
+ }, 5e3);
53
+ } catch (fallbackError) {
54
+ try {
55
+ unlinkSync(tempScript);
56
+ } catch {
57
+ }
58
+ throw fallbackError;
59
+ }
38
60
  }
39
61
  }
40
62
  async function spawnLinuxTerminal(command, cwd, title, keepOpen) {
@@ -91,7 +113,7 @@ async function spawnClaudeCodeFix(options) {
91
113
  );
92
114
  const prompt = promptLines.join("\n");
93
115
  await spawnTerminal({
94
- command: `claude "${prompt.replace(/"/g, '\\"')}"`,
116
+ command: `claude '${prompt.replace(/'/g, `'"'"'`)}'`,
95
117
  cwd,
96
118
  title: `Fixing: ${file}`,
97
119
  keepOpen: true
@@ -101,4 +123,4 @@ export {
101
123
  spawnClaudeCodeFix,
102
124
  spawnTerminal
103
125
  };
104
- //# sourceMappingURL=terminal-spawn-2GU5KLPS.js.map
126
+ //# sourceMappingURL=terminal-spawn-P5M5PHAV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/terminal-spawn.ts"],"sourcesContent":["/**\n * Terminal Spawning Utility\n * \n * Spawns a new terminal window with a command to execute.\n * Supports macOS (Terminal.app, iTerm2) and Linux (gnome-terminal, konsole, xterm).\n */\n\nimport { exec } from 'child_process';\nimport { promisify } from 'util';\nimport { platform } from 'os';\n\nconst execAsync = promisify(exec);\n\nexport interface SpawnTerminalOptions {\n /** Command to execute in the new terminal */\n command: string;\n /** Working directory for the command */\n cwd?: string;\n /** Terminal title */\n title?: string;\n /** Keep terminal open after command completes */\n keepOpen?: boolean;\n}\n\n/**\n * Spawn a new terminal window with a command\n */\nexport async function spawnTerminal(options: SpawnTerminalOptions): Promise<void> {\n const { command, cwd, title, keepOpen = true } = options;\n const os = platform();\n\n if (os === 'darwin') {\n await spawnMacOSTerminal(command, cwd, title, keepOpen);\n } else if (os === 'linux') {\n await spawnLinuxTerminal(command, cwd, title, keepOpen);\n } else {\n throw new Error(`Terminal spawning not supported on ${os}`);\n }\n}\n\n/**\n * Spawn terminal on macOS using AppleScript\n * Tries Terminal.app first, falls back to open if Terminal.app fails\n */\nasync function spawnMacOSTerminal(\n command: string,\n cwd?: string,\n title?: string,\n keepOpen?: boolean\n): Promise<void> {\n // Escape single quotes in command, cwd, and title\n const escapedCommand = command.replace(/'/g, \"'\\\"'\\\"'\");\n const escapedCwd = cwd?.replace(/'/g, \"'\\\"'\\\"'\") || process.cwd();\n const escapedTitle = title?.replace(/'/g, \"'\\\"'\\\"'\") || 'Trie Agent';\n\n // Build the full command with cd if cwd provided\n const fullCommand = cwd ? `cd '${escapedCwd}' && ${escapedCommand}` : escapedCommand;\n const escapedFullCommand = fullCommand.replace(/'/g, \"'\\\"'\\\"'\");\n\n // AppleScript to open Terminal.app with the command\n const script = `\ntell application \"Terminal\"\n activate\n set newTab to do script \"${escapedFullCommand}\"\n set custom title of newTab to \"${escapedTitle}\"\nend tell\n`.trim();\n\n try {\n await execAsync(`osascript -e '${script.replace(/'/g, \"'\\\"'\\\"'\")}'`);\n } catch (error) {\n // Fallback: create a temporary script file and execute it\n console.error('Terminal.app spawn failed, trying script fallback...');\n const { writeFileSync, unlinkSync } = await import('fs');\n const { join } = await import('path');\n const { tmpdir } = await import('os');\n\n const tempScript = join(tmpdir(), `trie-claude-${Date.now()}.sh`);\n const scriptContent = `#!/bin/bash\ncd '${escapedCwd}'\n${escapedCommand}\n${keepOpen ? 'exec bash' : ''}`;\n\n writeFileSync(tempScript, scriptContent, { mode: 0o755 });\n\n try {\n await execAsync(`open -a Terminal '${tempScript}'`);\n // Clean up script after a delay\n setTimeout(() => {\n try { unlinkSync(tempScript); } catch {}\n }, 5000);\n } catch (fallbackError) {\n try { unlinkSync(tempScript); } catch {}\n throw fallbackError;\n }\n }\n}\n\n/**\n * Spawn terminal on Linux\n * Tries common terminal emulators in order\n */\nasync function spawnLinuxTerminal(\n command: string,\n cwd?: string,\n title?: string,\n keepOpen?: boolean\n): Promise<void> {\n const workDir = cwd || process.cwd();\n const termTitle = title || 'Trie Agent';\n const shellCmd = keepOpen ? `${command}; exec bash` : command;\n\n // Try terminal emulators in order of preference\n const terminals = [\n // GNOME Terminal\n {\n command: 'gnome-terminal',\n args: `--working-directory=\"${workDir}\" --title=\"${termTitle}\" -- bash -c \"${shellCmd}\"`,\n },\n // Konsole (KDE)\n {\n command: 'konsole',\n args: `--workdir \"${workDir}\" --title \"${termTitle}\" -e bash -c \"${shellCmd}\"`,\n },\n // xterm (fallback)\n {\n command: 'xterm',\n args: `-T \"${termTitle}\" -e \"cd '${workDir}' && ${shellCmd}\"`,\n },\n ];\n\n for (const term of terminals) {\n try {\n await execAsync(`which ${term.command}`);\n await execAsync(`${term.command} ${term.args} &`);\n return;\n } catch {\n // Terminal not available, try next\n continue;\n }\n }\n\n throw new Error('No supported terminal emulator found (tried: gnome-terminal, konsole, xterm)');\n}\n\n/**\n * Spawn Claude Code in a new terminal to fix a file\n */\nexport async function spawnClaudeCodeFix(options: {\n file: string;\n goal: string;\n violation: string;\n suggestedFix?: string;\n cwd: string;\n}): Promise<void> {\n const { file, goal, violation, suggestedFix, cwd } = options;\n\n // Build a prompt for Claude CLI\n const promptLines = [\n 'Fix this file to satisfy the goal.',\n '',\n `File: ${file}`,\n `Goal: ${goal}`,\n `Violation: ${violation}`,\n ];\n \n if (suggestedFix) {\n promptLines.push(`Suggested fix: ${suggestedFix}`);\n }\n \n promptLines.push(\n '',\n 'Please fix the violation while:',\n '1. Preserving all functionality',\n '2. Maintaining code style',\n '3. Not breaking anything',\n '4. Following the goal exactly',\n );\n\n const prompt = promptLines.join('\\n');\n\n // Spawn terminal that runs: claude <prompt>\n // This will start claude in interactive mode with the prompt pre-filled\n await spawnTerminal({\n command: `claude '${prompt.replace(/'/g, \"'\\\"'\\\"'\")}'`,\n cwd,\n title: `Fixing: ${file}`,\n keepOpen: true,\n });\n}\n"],"mappings":"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","names":[]}