@involvex/super-agent-cli 0.0.45 → 0.0.46

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 (140) hide show
  1. package/bunfig.toml +43 -0
  2. package/dist/index.js +9 -15
  3. package/dist/super-agent-cli.exe +0 -0
  4. package/package.json +4 -1
  5. package/.grok/settings.json +0 -3
  6. package/.super-agent/settings.json +0 -23
  7. package/dist/agent/grok-agent.d.ts +0 -54
  8. package/dist/agent/grok-agent.js +0 -638
  9. package/dist/agent/grok-agent.js.map +0 -1
  10. package/dist/agent/index.d.ts +0 -14
  11. package/dist/agent/index.js +0 -139
  12. package/dist/agent/index.js.map +0 -1
  13. package/dist/agent/super-agent.d.ts +0 -54
  14. package/dist/agent/super-agent.js +0 -638
  15. package/dist/agent/super-agent.js.map +0 -1
  16. package/dist/commands/mcp.d.ts +0 -2
  17. package/dist/commands/mcp.js +0 -247
  18. package/dist/commands/mcp.js.map +0 -1
  19. package/dist/core/client.d.ts +0 -49
  20. package/dist/core/client.js +0 -81
  21. package/dist/core/client.js.map +0 -1
  22. package/dist/core/tools.d.ts +0 -8
  23. package/dist/core/tools.js +0 -351
  24. package/dist/core/tools.js.map +0 -1
  25. package/dist/grok/client.d.ts +0 -49
  26. package/dist/grok/client.js +0 -81
  27. package/dist/grok/client.js.map +0 -1
  28. package/dist/grok/tools.d.ts +0 -8
  29. package/dist/grok/tools.js +0 -351
  30. package/dist/grok/tools.js.map +0 -1
  31. package/dist/hooks/use-enhanced-input.d.ts +0 -37
  32. package/dist/hooks/use-enhanced-input.js +0 -228
  33. package/dist/hooks/use-enhanced-input.js.map +0 -1
  34. package/dist/hooks/use-input-handler.d.ts +0 -34
  35. package/dist/hooks/use-input-handler.js +0 -607
  36. package/dist/hooks/use-input-handler.js.map +0 -1
  37. package/dist/hooks/use-input-history.d.ts +0 -9
  38. package/dist/hooks/use-input-history.js +0 -62
  39. package/dist/hooks/use-input-history.js.map +0 -1
  40. package/dist/index.d.ts +0 -2
  41. package/dist/index.js.map +0 -1
  42. package/dist/mcp/client.d.ts +0 -29
  43. package/dist/mcp/client.js +0 -127
  44. package/dist/mcp/client.js.map +0 -1
  45. package/dist/mcp/config.d.ts +0 -13
  46. package/dist/mcp/config.js +0 -45
  47. package/dist/mcp/config.js.map +0 -1
  48. package/dist/mcp/transports.d.ts +0 -51
  49. package/dist/mcp/transports.js +0 -229
  50. package/dist/mcp/transports.js.map +0 -1
  51. package/dist/tools/bash.d.ts +0 -10
  52. package/dist/tools/bash.js +0 -76
  53. package/dist/tools/bash.js.map +0 -1
  54. package/dist/tools/confirmation-tool.d.ts +0 -16
  55. package/dist/tools/confirmation-tool.js +0 -77
  56. package/dist/tools/confirmation-tool.js.map +0 -1
  57. package/dist/tools/index.d.ts +0 -6
  58. package/dist/tools/index.js +0 -7
  59. package/dist/tools/index.js.map +0 -1
  60. package/dist/tools/morph-editor.d.ts +0 -36
  61. package/dist/tools/morph-editor.js +0 -324
  62. package/dist/tools/morph-editor.js.map +0 -1
  63. package/dist/tools/search.d.ts +0 -69
  64. package/dist/tools/search.js +0 -307
  65. package/dist/tools/search.js.map +0 -1
  66. package/dist/tools/text-editor.d.ts +0 -26
  67. package/dist/tools/text-editor.js +0 -583
  68. package/dist/tools/text-editor.js.map +0 -1
  69. package/dist/tools/todo-tool.d.ts +0 -20
  70. package/dist/tools/todo-tool.js +0 -134
  71. package/dist/tools/todo-tool.js.map +0 -1
  72. package/dist/types/index.d.ts +0 -30
  73. package/dist/types/index.js +0 -2
  74. package/dist/types/index.js.map +0 -1
  75. package/dist/ui/app.d.ts +0 -6
  76. package/dist/ui/app.js +0 -76
  77. package/dist/ui/app.js.map +0 -1
  78. package/dist/ui/components/api-key-input.d.ts +0 -6
  79. package/dist/ui/components/api-key-input.js +0 -70
  80. package/dist/ui/components/api-key-input.js.map +0 -1
  81. package/dist/ui/components/chat-history.d.ts +0 -7
  82. package/dist/ui/components/chat-history.js +0 -136
  83. package/dist/ui/components/chat-history.js.map +0 -1
  84. package/dist/ui/components/chat-input.d.ts +0 -8
  85. package/dist/ui/components/chat-input.js +0 -47
  86. package/dist/ui/components/chat-input.js.map +0 -1
  87. package/dist/ui/components/chat-interface.d.ts +0 -7
  88. package/dist/ui/components/chat-interface.js +0 -213
  89. package/dist/ui/components/chat-interface.js.map +0 -1
  90. package/dist/ui/components/command-suggestions.d.ts +0 -16
  91. package/dist/ui/components/command-suggestions.js +0 -18
  92. package/dist/ui/components/command-suggestions.js.map +0 -1
  93. package/dist/ui/components/confirmation-dialog.d.ts +0 -10
  94. package/dist/ui/components/confirmation-dialog.js +0 -70
  95. package/dist/ui/components/confirmation-dialog.js.map +0 -1
  96. package/dist/ui/components/diff-renderer.d.ts +0 -13
  97. package/dist/ui/components/diff-renderer.js +0 -200
  98. package/dist/ui/components/diff-renderer.js.map +0 -1
  99. package/dist/ui/components/loading-spinner.d.ts +0 -7
  100. package/dist/ui/components/loading-spinner.js +0 -52
  101. package/dist/ui/components/loading-spinner.js.map +0 -1
  102. package/dist/ui/components/mcp-status.d.ts +0 -4
  103. package/dist/ui/components/mcp-status.js +0 -37
  104. package/dist/ui/components/mcp-status.js.map +0 -1
  105. package/dist/ui/components/model-selection.d.ts +0 -11
  106. package/dist/ui/components/model-selection.js +0 -9
  107. package/dist/ui/components/model-selection.js.map +0 -1
  108. package/dist/ui/shared/max-sized-box.d.ts +0 -8
  109. package/dist/ui/shared/max-sized-box.js +0 -6
  110. package/dist/ui/shared/max-sized-box.js.map +0 -1
  111. package/dist/ui/utils/code-colorizer.d.ts +0 -2
  112. package/dist/ui/utils/code-colorizer.js +0 -7
  113. package/dist/ui/utils/code-colorizer.js.map +0 -1
  114. package/dist/ui/utils/colors.d.ts +0 -14
  115. package/dist/ui/utils/colors.js +0 -15
  116. package/dist/ui/utils/colors.js.map +0 -1
  117. package/dist/ui/utils/markdown-renderer.d.ts +0 -3
  118. package/dist/ui/utils/markdown-renderer.js +0 -23
  119. package/dist/ui/utils/markdown-renderer.js.map +0 -1
  120. package/dist/utils/confirmation-service.d.ts +0 -33
  121. package/dist/utils/confirmation-service.js +0 -110
  122. package/dist/utils/confirmation-service.js.map +0 -1
  123. package/dist/utils/custom-instructions.d.ts +0 -1
  124. package/dist/utils/custom-instructions.js +0 -23
  125. package/dist/utils/custom-instructions.js.map +0 -1
  126. package/dist/utils/model-config.d.ts +0 -28
  127. package/dist/utils/model-config.js +0 -42
  128. package/dist/utils/model-config.js.map +0 -1
  129. package/dist/utils/settings-manager.d.ts +0 -99
  130. package/dist/utils/settings-manager.js +0 -286
  131. package/dist/utils/settings-manager.js.map +0 -1
  132. package/dist/utils/settings.d.ts +0 -1
  133. package/dist/utils/settings.js +0 -4
  134. package/dist/utils/settings.js.map +0 -1
  135. package/dist/utils/text-utils.d.ts +0 -80
  136. package/dist/utils/text-utils.js +0 -191
  137. package/dist/utils/text-utils.js.map +0 -1
  138. package/dist/utils/token-counter.d.ts +0 -33
  139. package/dist/utils/token-counter.js +0 -79
  140. package/dist/utils/token-counter.js.map +0 -1
@@ -1,52 +0,0 @@
1
- import { jsxs as _jsxs } from "react/jsx-runtime";
2
- import { formatTokenCount } from "../../utils/token-counter";
3
- import { useState, useEffect } from "react";
4
- import { Box, Text } from "ink";
5
- const loadingTexts = [
6
- "Thinking...",
7
- "Computing...",
8
- "Analyzing...",
9
- "Processing...",
10
- "Calculating...",
11
- "Interfacing...",
12
- "Optimizing...",
13
- "Synthesizing...",
14
- "Decrypting...",
15
- "Calibrating...",
16
- "Bootstrapping...",
17
- "Synchronizing...",
18
- "Compiling...",
19
- "Downloading...",
20
- ];
21
- export function LoadingSpinner({ isActive, processingTime, tokenCount, }) {
22
- const [spinnerFrame, setSpinnerFrame] = useState(0);
23
- const [loadingTextIndex, setLoadingTextIndex] = useState(0);
24
- useEffect(() => {
25
- if (!isActive) {
26
- return;
27
- }
28
- const spinnerFrames = ["/", "-", "\\", "|"];
29
- // Reduced frequency: 500ms instead of 250ms to reduce flickering on Windows
30
- const interval = setInterval(() => {
31
- setSpinnerFrame(prev => (prev + 1) % spinnerFrames.length);
32
- }, 500);
33
- return () => clearInterval(interval);
34
- }, [isActive]);
35
- useEffect(() => {
36
- if (!isActive) {
37
- return;
38
- }
39
- setLoadingTextIndex(Math.floor(Math.random() * loadingTexts.length));
40
- // Increased interval: 4s instead of 2s to reduce state changes
41
- const interval = setInterval(() => {
42
- setLoadingTextIndex(Math.floor(Math.random() * loadingTexts.length));
43
- }, 4000);
44
- return () => clearInterval(interval);
45
- }, [isActive]);
46
- if (!isActive) {
47
- return null;
48
- }
49
- const spinnerFrames = ["/", "-", "\\", "|"];
50
- return (_jsxs(Box, { marginTop: 1, children: [_jsxs(Text, { color: "cyan", children: [spinnerFrames[spinnerFrame], " ", loadingTexts[loadingTextIndex], " "] }), _jsxs(Text, { color: "gray", children: ["(", processingTime, "s \u00B7 \u2191 ", formatTokenCount(tokenCount), " tokens \u00B7 esc to interrupt)"] })] }));
51
- }
52
- //# sourceMappingURL=loading-spinner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading-spinner.js","sourceRoot":"","sources":["../../../src/ui/components/loading-spinner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAQhC,MAAM,YAAY,GAAG;IACnB,aAAa;IACb,cAAc;IACd,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,gBAAgB;CACjB,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,EAC7B,QAAQ,EACR,cAAc,EACd,UAAU,GACU;IACpB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAErE,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAE5C,OAAO,CACL,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aACf,aAAa,CAAC,YAAY,CAAC,OAAG,YAAY,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAC7D,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,kBACd,cAAc,sBAAQ,gBAAgB,CAAC,UAAU,CAAC,wCAE/C,IACH,CACP,CAAC;AACJ,CAAC"}
@@ -1,4 +0,0 @@
1
- interface MCPStatusProps {
2
- }
3
- export declare function MCPStatus({}: MCPStatusProps): import("react/jsx-runtime").JSX.Element | null;
4
- export {};
@@ -1,37 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { getMCPManager } from "../../core/tools";
3
- import { useEffect, useState } from "react";
4
- import { Box, Text } from "ink";
5
- export function MCPStatus({}) {
6
- const [connectedServers, setConnectedServers] = useState([]);
7
- const [availableTools, setAvailableTools] = useState([]);
8
- useEffect(() => {
9
- const updateStatus = () => {
10
- try {
11
- const manager = getMCPManager();
12
- const servers = manager.getServers();
13
- const tools = manager.getTools();
14
- setConnectedServers(servers);
15
- setAvailableTools(tools);
16
- }
17
- catch (error) {
18
- // MCP manager not initialized yet
19
- setConnectedServers([]);
20
- setAvailableTools([]);
21
- }
22
- };
23
- // Initial update with a small delay to allow MCP initialization
24
- const initialTimer = setTimeout(updateStatus, 2000);
25
- // Set up polling to check for status changes
26
- const interval = setInterval(updateStatus, 2000);
27
- return () => {
28
- clearTimeout(initialTimer);
29
- clearInterval(interval);
30
- };
31
- }, []);
32
- if (connectedServers.length === 0) {
33
- return null;
34
- }
35
- return (_jsx(Box, { marginLeft: 1, children: _jsxs(Text, { color: "green", children: ["\u2692 mcps: ", connectedServers.length, " "] }) }));
36
- }
37
- //# sourceMappingURL=mcp-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-status.js","sourceRoot":"","sources":["../../../src/ui/components/mcp-status.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAIhC,MAAM,UAAU,SAAS,CAAC,EAAkB;IAC1C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IACvE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAY,EAAE,CAAC,CAAC;IAEpE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAEjC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC7B,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,kCAAkC;gBAClC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;QAEF,gEAAgE;QAChE,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEpD,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEjD,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,YAAY,CAAC,CAAC;YAC3B,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,8BAAU,gBAAgB,CAAC,MAAM,SAAS,GACzD,CACP,CAAC;AACJ,CAAC"}
@@ -1,11 +0,0 @@
1
- interface ModelOption {
2
- model: string;
3
- }
4
- interface ModelSelectionProps {
5
- models: ModelOption[];
6
- selectedIndex: number;
7
- isVisible: boolean;
8
- currentModel: string;
9
- }
10
- export declare function ModelSelection({ models, selectedIndex, isVisible, currentModel, }: ModelSelectionProps): import("react/jsx-runtime").JSX.Element | null;
11
- export {};
@@ -1,9 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { Box, Text } from "ink";
3
- export function ModelSelection({ models, selectedIndex, isVisible, currentModel, }) {
4
- if (!isVisible) {
5
- return null;
6
- }
7
- return (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: "cyan", children: ["Select Super Agent Model (current: ", currentModel, "):"] }) }), models.map((modelOption, index) => (_jsx(Box, { paddingLeft: 1, children: _jsx(Text, { color: index === selectedIndex ? "black" : "white", backgroundColor: index === selectedIndex ? "cyan" : undefined, children: modelOption.model }) }, index))), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", dimColor: true, children: "\u2191\u2193 navigate \u2022 Enter/Tab select \u2022 Esc cancel" }) })] }));
8
- }
9
- //# sourceMappingURL=model-selection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-selection.js","sourceRoot":"","sources":["../../../src/ui/components/model-selection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAahC,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,aAAa,EACb,SAAS,EACT,YAAY,GACQ;IACpB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACvC,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,oDACoB,YAAY,UAC3C,GACH,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAClC,KAAC,GAAG,IAAa,WAAW,EAAE,CAAC,YAC7B,KAAC,IAAI,IACH,KAAK,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAClD,eAAe,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAE5D,WAAW,CAAC,KAAK,GACb,IANC,KAAK,CAOT,CACP,CAAC,EACF,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,QAAQ,sFAEpB,GACH,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- interface MaxSizedBoxProps {
3
- maxHeight?: number;
4
- maxWidth?: number;
5
- children: React.ReactNode;
6
- }
7
- export declare const MaxSizedBox: React.FC<MaxSizedBoxProps>;
8
- export {};
@@ -1,6 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Box } from "ink";
3
- export const MaxSizedBox = ({ maxHeight, maxWidth, children, ...props }) => {
4
- return (_jsx(Box, { flexDirection: "column", ...props, children: children }));
5
- };
6
- //# sourceMappingURL=max-sized-box.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"max-sized-box.js","sourceRoot":"","sources":["../../../src/ui/shared/max-sized-box.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAQ1B,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EACtD,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,KAAK,KAAK,YAClC,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import React from "react";
2
- export declare const colorizeCode: (content: string, language: string | null, availableTerminalHeight?: number, terminalWidth?: number) => React.ReactNode;
@@ -1,7 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Text, Box } from "ink";
3
- export const colorizeCode = (content, language, availableTerminalHeight, terminalWidth) => {
4
- // Simple plain text rendering - could be enhanced with syntax highlighting later
5
- return (_jsx(Box, { flexDirection: "column", children: content.split("\n").map((line, index) => (_jsx(Text, { wrap: "wrap", children: line }, index))) }));
6
- };
7
- //# sourceMappingURL=code-colorizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-colorizer.js","sourceRoot":"","sources":["../../../src/ui/utils/code-colorizer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAGhC,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,OAAe,EACf,QAAuB,EACvB,uBAAgC,EAChC,aAAsB,EACL,EAAE;IACnB,iFAAiF;IACjF,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,KAAC,IAAI,IAAa,IAAI,EAAC,MAAM,YAC1B,IAAI,IADI,KAAK,CAET,CACR,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Color constants for the CLI interface
3
- */
4
- export declare const Colors: {
5
- readonly AccentYellow: "yellow";
6
- readonly Gray: "gray";
7
- readonly Red: "red";
8
- readonly Green: "green";
9
- readonly Blue: "blue";
10
- readonly Cyan: "cyan";
11
- readonly Magenta: "magenta";
12
- readonly White: "white";
13
- readonly Black: "black";
14
- };
@@ -1,15 +0,0 @@
1
- /**
2
- * Color constants for the CLI interface
3
- */
4
- export const Colors = {
5
- AccentYellow: "yellow",
6
- Gray: "gray",
7
- Red: "red",
8
- Green: "green",
9
- Blue: "blue",
10
- Cyan: "cyan",
11
- Magenta: "magenta",
12
- White: "white",
13
- Black: "black",
14
- };
15
- //# sourceMappingURL=colors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../src/ui/utils/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,YAAY,EAAE,QAAQ;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function MarkdownRenderer({ content }: {
2
- content: string;
3
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,23 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import TerminalRenderer from "marked-terminal";
3
- import { marked } from "marked";
4
- import { Text } from "ink";
5
- // Configure marked to use the terminal renderer with default settings
6
- marked.setOptions({
7
- renderer: new TerminalRenderer(),
8
- });
9
- export function MarkdownRenderer({ content }) {
10
- try {
11
- // Use marked.parse for synchronous parsing
12
- const result = marked.parse(content);
13
- // Handle both sync and async results
14
- const rendered = typeof result === "string" ? result : content;
15
- return _jsx(Text, { children: rendered });
16
- }
17
- catch (error) {
18
- // Fallback to plain text if markdown parsing fails
19
- console.error("Markdown rendering error:", error);
20
- return _jsx(Text, { children: content });
21
- }
22
- }
23
- //# sourceMappingURL=markdown-renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown-renderer.js","sourceRoot":"","sources":["../../../src/ui/utils/markdown-renderer.tsx"],"names":[],"mappings":";AAAA,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,sEAAsE;AACtE,MAAM,CAAC,UAAU,CAAC;IAChB,QAAQ,EAAE,IAAK,gBAAwB,EAAE;CAC1C,CAAC,CAAC;AAEH,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAuB;IAC/D,IAAI,CAAC;QACH,2CAA2C;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,qCAAqC;QACrC,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,OAAO,KAAC,IAAI,cAAE,QAAQ,GAAQ,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mDAAmD;QACnD,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,KAAC,IAAI,cAAE,OAAO,GAAQ,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -1,33 +0,0 @@
1
- import { EventEmitter } from "events";
2
- export interface ConfirmationOptions {
3
- operation: string;
4
- filename: string;
5
- showVSCodeOpen?: boolean;
6
- content?: string;
7
- }
8
- export interface ConfirmationResult {
9
- confirmed: boolean;
10
- dontAskAgain?: boolean;
11
- feedback?: string;
12
- }
13
- export declare class ConfirmationService extends EventEmitter {
14
- private static instance;
15
- private skipConfirmationThisSession;
16
- private pendingConfirmation;
17
- private resolveConfirmation;
18
- private sessionFlags;
19
- static getInstance(): ConfirmationService;
20
- constructor();
21
- requestConfirmation(options: ConfirmationOptions, operationType?: "file" | "bash"): Promise<ConfirmationResult>;
22
- confirmOperation(confirmed: boolean, dontAskAgain?: boolean): void;
23
- rejectOperation(feedback?: string): void;
24
- private openInVSCode;
25
- isPending(): boolean;
26
- resetSession(): void;
27
- getSessionFlags(): {
28
- fileOperations: boolean;
29
- bashCommands: boolean;
30
- allOperations: boolean;
31
- };
32
- setSessionFlag(flagType: "fileOperations" | "bashCommands" | "allOperations", value: boolean): void;
33
- }
@@ -1,110 +0,0 @@
1
- import { EventEmitter } from "events";
2
- import { exec } from "child_process";
3
- import { promisify } from "util";
4
- const execAsync = promisify(exec);
5
- export class ConfirmationService extends EventEmitter {
6
- static instance;
7
- skipConfirmationThisSession = false;
8
- pendingConfirmation = null;
9
- resolveConfirmation = null;
10
- // Session flags for different operation types
11
- sessionFlags = {
12
- fileOperations: false,
13
- bashCommands: false,
14
- allOperations: false,
15
- };
16
- static getInstance() {
17
- if (!ConfirmationService.instance) {
18
- ConfirmationService.instance = new ConfirmationService();
19
- }
20
- return ConfirmationService.instance;
21
- }
22
- constructor() {
23
- super();
24
- }
25
- async requestConfirmation(options, operationType = "file") {
26
- // Check session flags
27
- if (this.sessionFlags.allOperations ||
28
- (operationType === "file" && this.sessionFlags.fileOperations) ||
29
- (operationType === "bash" && this.sessionFlags.bashCommands)) {
30
- return { confirmed: true };
31
- }
32
- // If VS Code should be opened, try to open it
33
- if (options.showVSCodeOpen) {
34
- try {
35
- await this.openInVSCode(options.filename);
36
- }
37
- catch (error) {
38
- // If VS Code opening fails, continue without it
39
- options.showVSCodeOpen = false;
40
- }
41
- }
42
- // Create a promise that will be resolved by the UI component
43
- this.pendingConfirmation = new Promise(resolve => {
44
- this.resolveConfirmation = resolve;
45
- });
46
- // Emit custom event that the UI can listen to (using setImmediate to ensure the UI updates)
47
- setImmediate(() => {
48
- this.emit("confirmation-requested", options);
49
- });
50
- const result = await this.pendingConfirmation;
51
- if (result.dontAskAgain) {
52
- // Set the appropriate session flag based on operation type
53
- if (operationType === "file") {
54
- this.sessionFlags.fileOperations = true;
55
- }
56
- else if (operationType === "bash") {
57
- this.sessionFlags.bashCommands = true;
58
- }
59
- // Could also set allOperations for global skip
60
- }
61
- return result;
62
- }
63
- confirmOperation(confirmed, dontAskAgain) {
64
- if (this.resolveConfirmation) {
65
- this.resolveConfirmation({ confirmed, dontAskAgain });
66
- this.resolveConfirmation = null;
67
- this.pendingConfirmation = null;
68
- }
69
- }
70
- rejectOperation(feedback) {
71
- if (this.resolveConfirmation) {
72
- this.resolveConfirmation({ confirmed: false, feedback });
73
- this.resolveConfirmation = null;
74
- this.pendingConfirmation = null;
75
- }
76
- }
77
- async openInVSCode(filename) {
78
- // Try different VS Code commands
79
- const commands = ["code", "code-insiders", "codium"];
80
- for (const cmd of commands) {
81
- try {
82
- await execAsync(`which ${cmd}`);
83
- await execAsync(`${cmd} "${filename}"`);
84
- return;
85
- }
86
- catch (error) {
87
- // Continue to next command
88
- continue;
89
- }
90
- }
91
- throw new Error("VS Code not found");
92
- }
93
- isPending() {
94
- return this.pendingConfirmation !== null;
95
- }
96
- resetSession() {
97
- this.sessionFlags = {
98
- fileOperations: false,
99
- bashCommands: false,
100
- allOperations: false,
101
- };
102
- }
103
- getSessionFlags() {
104
- return { ...this.sessionFlags };
105
- }
106
- setSessionFlag(flagType, value) {
107
- this.sessionFlags[flagType] = value;
108
- }
109
- }
110
- //# sourceMappingURL=confirmation-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"confirmation-service.js","sourceRoot":"","sources":["../../src/utils/confirmation-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAelC,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IAC3C,MAAM,CAAC,QAAQ,CAAsB;IACrC,2BAA2B,GAAG,KAAK,CAAC;IACpC,mBAAmB,GAAuC,IAAI,CAAC;IAC/D,mBAAmB,GACzB,IAAI,CAAC;IAEP,8CAA8C;IACtC,YAAY,GAAG;QACrB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,KAAK;KACrB,CAAC;IAEF,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YAClC,mBAAmB,CAAC,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAC3D,CAAC;QACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,OAA4B,EAC5B,gBAAiC,MAAM;QAEvC,sBAAsB;QACtB,IACE,IAAI,CAAC,YAAY,CAAC,aAAa;YAC/B,CAAC,aAAa,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;YAC9D,CAAC,aAAa,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAC5D,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7B,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gDAAgD;gBAChD,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAI,CAAC,mBAAmB,GAAG,IAAI,OAAO,CAAqB,OAAO,CAAC,EAAE;YACnE,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,4FAA4F;QAC5F,YAAY,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;QAE9C,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,2DAA2D;YAC3D,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC;YAC1C,CAAC;iBAAM,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC;YACxC,CAAC;YACD,+CAA+C;QACjD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gBAAgB,CAAC,SAAkB,EAAE,YAAsB;QACzD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAED,eAAe,CAAC,QAAiB;QAC/B,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,QAAgB;QACzC,iCAAiC;QACjC,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QAErD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;gBAChC,MAAM,SAAS,CAAC,GAAG,GAAG,KAAK,QAAQ,GAAG,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,2BAA2B;gBAC3B,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC;IAC3C,CAAC;IAED,YAAY;QACV,IAAI,CAAC,YAAY,GAAG;YAClB,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,KAAK;SACrB,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAClC,CAAC;IAED,cAAc,CACZ,QAA6D,EAC7D,KAAc;QAEd,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;IACtC,CAAC;CACF"}
@@ -1 +0,0 @@
1
- export declare function loadCustomInstructions(workingDirectory?: string): string | null;
@@ -1,23 +0,0 @@
1
- import * as path from "path";
2
- import * as os from "os";
3
- import * as fs from "fs";
4
- export function loadCustomInstructions(workingDirectory = process.cwd()) {
5
- try {
6
- let instructionsPath = path.join(workingDirectory, ".super-agent", "SUPER_AGENT.md");
7
- if (fs.existsSync(instructionsPath)) {
8
- const customInstructions = fs.readFileSync(instructionsPath, "utf-8");
9
- return customInstructions.trim();
10
- }
11
- instructionsPath = path.join(os.homedir(), ".super-agent", "SUPER_AGENT.md");
12
- if (fs.existsSync(instructionsPath)) {
13
- const customInstructions = fs.readFileSync(instructionsPath, "utf-8");
14
- return customInstructions.trim();
15
- }
16
- return null;
17
- }
18
- catch (error) {
19
- console.warn("Failed to load custom instructions:", error);
20
- return null;
21
- }
22
- }
23
- //# sourceMappingURL=custom-instructions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-instructions.js","sourceRoot":"","sources":["../../src/utils/custom-instructions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,UAAU,sBAAsB,CACpC,mBAA2B,OAAO,CAAC,GAAG,EAAE;IAExC,IAAI,CAAC;QACH,IAAI,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAC9B,gBAAgB,EAChB,cAAc,EACd,gBAAgB,CACjB,CAAC;QAEF,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;QAED,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAC1B,EAAE,CAAC,OAAO,EAAE,EACZ,cAAc,EACd,gBAAgB,CACjB,CAAC;QAEF,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,28 +0,0 @@
1
- import { UserSettings, ProjectSettings } from "./settings-manager";
2
- export interface ModelOption {
3
- model: string;
4
- }
5
- export type ModelConfig = string;
6
- export { UserSettings, ProjectSettings };
7
- /**
8
- * Get the effective current model
9
- * Priority: project current model > user default model > system default
10
- */
11
- export declare function getCurrentModel(): string;
12
- /**
13
- * Load model configuration
14
- * Priority: user-settings.json models > default hardcoded
15
- */
16
- export declare function loadModelConfig(): ModelOption[];
17
- /**
18
- * Get default models list
19
- */
20
- export declare function getDefaultModels(): string[];
21
- /**
22
- * Update the current model in project settings
23
- */
24
- export declare function updateCurrentModel(modelName: string): void;
25
- /**
26
- * Update the user's default model preference
27
- */
28
- export declare function updateDefaultModel(modelName: string): void;
@@ -1,42 +0,0 @@
1
- import { getSettingsManager, } from "./settings-manager";
2
- /**
3
- * Get the effective current model
4
- * Priority: project current model > user default model > system default
5
- */
6
- export function getCurrentModel() {
7
- const manager = getSettingsManager();
8
- return manager.getCurrentModel();
9
- }
10
- /**
11
- * Load model configuration
12
- * Priority: user-settings.json models > default hardcoded
13
- */
14
- export function loadModelConfig() {
15
- const manager = getSettingsManager();
16
- const models = manager.getAvailableModels();
17
- return models.map(model => ({
18
- model: model.trim(),
19
- }));
20
- }
21
- /**
22
- * Get default models list
23
- */
24
- export function getDefaultModels() {
25
- const manager = getSettingsManager();
26
- return manager.getAvailableModels();
27
- }
28
- /**
29
- * Update the current model in project settings
30
- */
31
- export function updateCurrentModel(modelName) {
32
- const manager = getSettingsManager();
33
- manager.setCurrentModel(modelName);
34
- }
35
- /**
36
- * Update the user's default model preference
37
- */
38
- export function updateDefaultModel(modelName) {
39
- const manager = getSettingsManager();
40
- manager.updateUserSetting("defaultModel", modelName);
41
- }
42
- //# sourceMappingURL=model-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-config.js","sourceRoot":"","sources":["../../src/utils/model-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC;AAW5B;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,OAAO,OAAO,CAAC,eAAe,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAE5C,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1B,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;KACpB,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC"}
@@ -1,99 +0,0 @@
1
- /**
2
- * User-level settings stored in ~/.super-agent/user-settings.json
3
- * These are global settings that apply across all projects
4
- */
5
- export interface UserSettings {
6
- apiKey?: string;
7
- baseURL?: string;
8
- defaultModel?: string;
9
- models?: string[];
10
- settingsVersion?: number;
11
- }
12
- /**
13
- * Project-level settings stored in .super-agent/settings.json
14
- * These are project-specific settings
15
- */
16
- export interface ProjectSettings {
17
- model?: string;
18
- mcpServers?: Record<string, any>;
19
- }
20
- /**
21
- * Unified settings manager that handles both user-level and project-level settings
22
- */
23
- export declare class SettingsManager {
24
- private static instance;
25
- private userSettingsPath;
26
- private projectSettingsPath;
27
- private constructor();
28
- /**
29
- * Get singleton instance
30
- */
31
- static getInstance(): SettingsManager;
32
- /**
33
- * Ensure directory exists for a given file path
34
- */
35
- private ensureDirectoryExists;
36
- /**
37
- * Load user settings from ~/.super-agent/user-settings.json
38
- */
39
- loadUserSettings(): UserSettings;
40
- /**
41
- * Migrate settings from an older version to the current version
42
- */
43
- private migrateSettings;
44
- /**
45
- * Save user settings to ~/.super-agent/user-settings.json
46
- */
47
- saveUserSettings(settings: Partial<UserSettings>): void;
48
- /**
49
- * Update a specific user setting
50
- */
51
- updateUserSetting<K extends keyof UserSettings>(key: K, value: UserSettings[K]): void;
52
- /**
53
- * Get a specific user setting
54
- */
55
- getUserSetting<K extends keyof UserSettings>(key: K): UserSettings[K];
56
- /**
57
- * Load project settings from .super-agent/settings.json
58
- */
59
- loadProjectSettings(): ProjectSettings;
60
- /**
61
- * Save project settings to .super-agent/settings.json
62
- */
63
- saveProjectSettings(settings: Partial<ProjectSettings>): void;
64
- /**
65
- * Update a specific project setting
66
- */
67
- updateProjectSetting<K extends keyof ProjectSettings>(key: K, value: ProjectSettings[K]): void;
68
- /**
69
- * Get a specific project setting
70
- */
71
- getProjectSetting<K extends keyof ProjectSettings>(key: K): ProjectSettings[K];
72
- /**
73
- * Get the current model with proper fallback logic:
74
- * 1. Project-specific model setting
75
- * 2. User's default model
76
- * 3. System default
77
- */
78
- getCurrentModel(): string;
79
- /**
80
- * Set the current model for the project
81
- */
82
- setCurrentModel(model: string): void;
83
- /**
84
- * Get available models list from user settings
85
- */
86
- getAvailableModels(): string[];
87
- /**
88
- * Get API key from user settings or environment
89
- */
90
- getApiKey(): string | undefined;
91
- /**
92
- * Get base URL from user settings or environment
93
- */
94
- getBaseURL(): string;
95
- }
96
- /**
97
- * Convenience function to get the singleton instance
98
- */
99
- export declare function getSettingsManager(): SettingsManager;