agent-sory 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.
Files changed (195) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +265 -0
  3. package/dist/commands/base.d.ts +26 -0
  4. package/dist/commands/base.d.ts.map +1 -0
  5. package/dist/commands/base.js +3 -0
  6. package/dist/commands/base.js.map +1 -0
  7. package/dist/commands/definitions/clear.d.ts +3 -0
  8. package/dist/commands/definitions/clear.d.ts.map +1 -0
  9. package/dist/commands/definitions/clear.js +12 -0
  10. package/dist/commands/definitions/clear.js.map +1 -0
  11. package/dist/commands/definitions/help.d.ts +3 -0
  12. package/dist/commands/definitions/help.d.ts.map +1 -0
  13. package/dist/commands/definitions/help.js +28 -0
  14. package/dist/commands/definitions/help.js.map +1 -0
  15. package/dist/commands/definitions/init.d.ts +3 -0
  16. package/dist/commands/definitions/init.d.ts.map +1 -0
  17. package/dist/commands/definitions/init.js +23 -0
  18. package/dist/commands/definitions/init.js.map +1 -0
  19. package/dist/commands/definitions/login.d.ts +3 -0
  20. package/dist/commands/definitions/login.d.ts.map +1 -0
  21. package/dist/commands/definitions/login.js +8 -0
  22. package/dist/commands/definitions/login.js.map +1 -0
  23. package/dist/commands/definitions/model.d.ts +3 -0
  24. package/dist/commands/definitions/model.d.ts.map +1 -0
  25. package/dist/commands/definitions/model.js +10 -0
  26. package/dist/commands/definitions/model.js.map +1 -0
  27. package/dist/commands/definitions/reasoning.d.ts +3 -0
  28. package/dist/commands/definitions/reasoning.d.ts.map +1 -0
  29. package/dist/commands/definitions/reasoning.js +21 -0
  30. package/dist/commands/definitions/reasoning.js.map +1 -0
  31. package/dist/commands/definitions/stats.d.ts +3 -0
  32. package/dist/commands/definitions/stats.d.ts.map +1 -0
  33. package/dist/commands/definitions/stats.js +22 -0
  34. package/dist/commands/definitions/stats.js.map +1 -0
  35. package/dist/commands/index.d.ts +6 -0
  36. package/dist/commands/index.d.ts.map +1 -0
  37. package/dist/commands/index.js +38 -0
  38. package/dist/commands/index.js.map +1 -0
  39. package/dist/core/agent.d.ts +41 -0
  40. package/dist/core/agent.d.ts.map +1 -0
  41. package/dist/core/agent.js +266 -0
  42. package/dist/core/agent.js.map +1 -0
  43. package/dist/core/cli.d.ts +3 -0
  44. package/dist/core/cli.d.ts.map +1 -0
  45. package/dist/core/cli.js +48 -0
  46. package/dist/core/cli.js.map +1 -0
  47. package/dist/core/llm/factory.d.ts +12 -0
  48. package/dist/core/llm/factory.d.ts.map +1 -0
  49. package/dist/core/llm/factory.js +44 -0
  50. package/dist/core/llm/factory.js.map +1 -0
  51. package/dist/core/llm/providers/gemini.d.ts +22 -0
  52. package/dist/core/llm/providers/gemini.d.ts.map +1 -0
  53. package/dist/core/llm/providers/gemini.js +167 -0
  54. package/dist/core/llm/providers/gemini.js.map +1 -0
  55. package/dist/core/llm/providers/groq.d.ts +23 -0
  56. package/dist/core/llm/providers/groq.d.ts.map +1 -0
  57. package/dist/core/llm/providers/groq.js +96 -0
  58. package/dist/core/llm/providers/groq.js.map +1 -0
  59. package/dist/core/llm/providers/openai-compatible.d.ts +24 -0
  60. package/dist/core/llm/providers/openai-compatible.d.ts.map +1 -0
  61. package/dist/core/llm/providers/openai-compatible.js +86 -0
  62. package/dist/core/llm/providers/openai-compatible.js.map +1 -0
  63. package/dist/core/llm/types.d.ts +37 -0
  64. package/dist/core/llm/types.d.ts.map +1 -0
  65. package/dist/core/llm/types.js +2 -0
  66. package/dist/core/llm/types.js.map +1 -0
  67. package/dist/core/prompts/system.d.ts +6 -0
  68. package/dist/core/prompts/system.d.ts.map +1 -0
  69. package/dist/core/prompts/system.js +36 -0
  70. package/dist/core/prompts/system.js.map +1 -0
  71. package/dist/tests/proxy-config.test.d.ts +2 -0
  72. package/dist/tests/proxy-config.test.d.ts.map +1 -0
  73. package/dist/tests/proxy-config.test.js +169 -0
  74. package/dist/tests/proxy-config.test.js.map +1 -0
  75. package/dist/tools/tool-schemas.d.ts +36 -0
  76. package/dist/tools/tool-schemas.d.ts.map +1 -0
  77. package/dist/tools/tool-schemas.js +482 -0
  78. package/dist/tools/tool-schemas.js.map +1 -0
  79. package/dist/tools/tools.d.ts +114 -0
  80. package/dist/tools/tools.d.ts.map +1 -0
  81. package/dist/tools/tools.js +1015 -0
  82. package/dist/tools/tools.js.map +1 -0
  83. package/dist/tools/utils/edit-logic.d.ts +9 -0
  84. package/dist/tools/utils/edit-logic.d.ts.map +1 -0
  85. package/dist/tools/utils/edit-logic.js +149 -0
  86. package/dist/tools/utils/edit-logic.js.map +1 -0
  87. package/dist/tools/utils/ripgrep-runner.d.ts +15 -0
  88. package/dist/tools/utils/ripgrep-runner.d.ts.map +1 -0
  89. package/dist/tools/utils/ripgrep-runner.js +90 -0
  90. package/dist/tools/utils/ripgrep-runner.js.map +1 -0
  91. package/dist/tools/validators.d.ts +4 -0
  92. package/dist/tools/validators.d.ts.map +1 -0
  93. package/dist/tools/validators.js +18 -0
  94. package/dist/tools/validators.js.map +1 -0
  95. package/dist/ui/App.d.ts +7 -0
  96. package/dist/ui/App.d.ts.map +1 -0
  97. package/dist/ui/App.js +12 -0
  98. package/dist/ui/App.js.map +1 -0
  99. package/dist/ui/components/core/Chat.d.ts +7 -0
  100. package/dist/ui/components/core/Chat.d.ts.map +1 -0
  101. package/dist/ui/components/core/Chat.js +60 -0
  102. package/dist/ui/components/core/Chat.js.map +1 -0
  103. package/dist/ui/components/core/MessageHistory.d.ts +7 -0
  104. package/dist/ui/components/core/MessageHistory.d.ts.map +1 -0
  105. package/dist/ui/components/core/MessageHistory.js +39 -0
  106. package/dist/ui/components/core/MessageHistory.js.map +1 -0
  107. package/dist/ui/components/core/MessageInput.d.ts +10 -0
  108. package/dist/ui/components/core/MessageInput.d.ts.map +1 -0
  109. package/dist/ui/components/core/MessageInput.js +130 -0
  110. package/dist/ui/components/core/MessageInput.js.map +1 -0
  111. package/dist/ui/components/display/DiffPreview.d.ts +15 -0
  112. package/dist/ui/components/display/DiffPreview.d.ts.map +1 -0
  113. package/dist/ui/components/display/DiffPreview.js +298 -0
  114. package/dist/ui/components/display/DiffPreview.js.map +1 -0
  115. package/dist/ui/components/display/Stats.d.ts +19 -0
  116. package/dist/ui/components/display/Stats.d.ts.map +1 -0
  117. package/dist/ui/components/display/Stats.js +31 -0
  118. package/dist/ui/components/display/Stats.js.map +1 -0
  119. package/dist/ui/components/display/TokenMetrics.d.ts +11 -0
  120. package/dist/ui/components/display/TokenMetrics.d.ts.map +1 -0
  121. package/dist/ui/components/display/TokenMetrics.js +16 -0
  122. package/dist/ui/components/display/TokenMetrics.js.map +1 -0
  123. package/dist/ui/components/display/ToolHistoryItem.d.ts +7 -0
  124. package/dist/ui/components/display/ToolHistoryItem.d.ts.map +1 -0
  125. package/dist/ui/components/display/ToolHistoryItem.js +102 -0
  126. package/dist/ui/components/display/ToolHistoryItem.js.map +1 -0
  127. package/dist/ui/components/input-overlays/ErrorRetry.d.ts +8 -0
  128. package/dist/ui/components/input-overlays/ErrorRetry.d.ts.map +1 -0
  129. package/dist/ui/components/input-overlays/ErrorRetry.js +6 -0
  130. package/dist/ui/components/input-overlays/ErrorRetry.js.map +1 -0
  131. package/dist/ui/components/input-overlays/Login.d.ts +7 -0
  132. package/dist/ui/components/input-overlays/Login.d.ts.map +1 -0
  133. package/dist/ui/components/input-overlays/Login.js +32 -0
  134. package/dist/ui/components/input-overlays/Login.js.map +1 -0
  135. package/dist/ui/components/input-overlays/MaxIterationsContinue.d.ts +8 -0
  136. package/dist/ui/components/input-overlays/MaxIterationsContinue.d.ts.map +1 -0
  137. package/dist/ui/components/input-overlays/MaxIterationsContinue.js +32 -0
  138. package/dist/ui/components/input-overlays/MaxIterationsContinue.js.map +1 -0
  139. package/dist/ui/components/input-overlays/ModelSelector.d.ts +12 -0
  140. package/dist/ui/components/input-overlays/ModelSelector.d.ts.map +1 -0
  141. package/dist/ui/components/input-overlays/ModelSelector.js +114 -0
  142. package/dist/ui/components/input-overlays/ModelSelector.js.map +1 -0
  143. package/dist/ui/components/input-overlays/PendingToolApproval.d.ts +10 -0
  144. package/dist/ui/components/input-overlays/PendingToolApproval.d.ts.map +1 -0
  145. package/dist/ui/components/input-overlays/PendingToolApproval.js +51 -0
  146. package/dist/ui/components/input-overlays/PendingToolApproval.js.map +1 -0
  147. package/dist/ui/components/input-overlays/SlashCommandSuggestions.d.ts +8 -0
  148. package/dist/ui/components/input-overlays/SlashCommandSuggestions.d.ts.map +1 -0
  149. package/dist/ui/components/input-overlays/SlashCommandSuggestions.js +13 -0
  150. package/dist/ui/components/input-overlays/SlashCommandSuggestions.js.map +1 -0
  151. package/dist/ui/hooks/useAgent.d.ts +41 -0
  152. package/dist/ui/hooks/useAgent.d.ts.map +1 -0
  153. package/dist/ui/hooks/useAgent.js +205 -0
  154. package/dist/ui/hooks/useAgent.js.map +1 -0
  155. package/dist/ui/hooks/useMouseScroll.d.ts +3 -0
  156. package/dist/ui/hooks/useMouseScroll.d.ts.map +1 -0
  157. package/dist/ui/hooks/useMouseScroll.js +32 -0
  158. package/dist/ui/hooks/useMouseScroll.js.map +1 -0
  159. package/dist/ui/hooks/useSessionStats.d.ts +20 -0
  160. package/dist/ui/hooks/useSessionStats.d.ts.map +1 -0
  161. package/dist/ui/hooks/useSessionStats.js +36 -0
  162. package/dist/ui/hooks/useSessionStats.js.map +1 -0
  163. package/dist/ui/hooks/useTokenMetrics.d.ts +21 -0
  164. package/dist/ui/hooks/useTokenMetrics.d.ts.map +1 -0
  165. package/dist/ui/hooks/useTokenMetrics.js +102 -0
  166. package/dist/ui/hooks/useTokenMetrics.js.map +1 -0
  167. package/dist/ui/utils/CodeColorizer.d.ts +5 -0
  168. package/dist/ui/utils/CodeColorizer.d.ts.map +1 -0
  169. package/dist/ui/utils/CodeColorizer.js +47 -0
  170. package/dist/ui/utils/CodeColorizer.js.map +1 -0
  171. package/dist/utils/constants.d.ts +8 -0
  172. package/dist/utils/constants.d.ts.map +1 -0
  173. package/dist/utils/constants.js +104 -0
  174. package/dist/utils/constants.js.map +1 -0
  175. package/dist/utils/context.d.ts +36 -0
  176. package/dist/utils/context.d.ts.map +1 -0
  177. package/dist/utils/context.js +239 -0
  178. package/dist/utils/context.js.map +1 -0
  179. package/dist/utils/file-ops.d.ts +21 -0
  180. package/dist/utils/file-ops.d.ts.map +1 -0
  181. package/dist/utils/file-ops.js +125 -0
  182. package/dist/utils/file-ops.js.map +1 -0
  183. package/dist/utils/local-settings.d.ts +18 -0
  184. package/dist/utils/local-settings.d.ts.map +1 -0
  185. package/dist/utils/local-settings.js +176 -0
  186. package/dist/utils/local-settings.js.map +1 -0
  187. package/dist/utils/markdown.d.ts +13 -0
  188. package/dist/utils/markdown.d.ts.map +1 -0
  189. package/dist/utils/markdown.js +122 -0
  190. package/dist/utils/markdown.js.map +1 -0
  191. package/dist/utils/proxy-config.d.ts +25 -0
  192. package/dist/utils/proxy-config.d.ts.map +1 -0
  193. package/dist/utils/proxy-config.js +145 -0
  194. package/dist/utils/proxy-config.js.map +1 -0
  195. package/package.json +76 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-settings.js","sourceRoot":"","sources":["../../src/utils/local-settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface MarkdownElement {
2
+ type: 'text' | 'code-block' | 'heading' | 'mixed-line';
3
+ content: string;
4
+ level?: number;
5
+ language?: string;
6
+ }
7
+ export interface InlineElement {
8
+ type: 'text' | 'code' | 'bold' | 'italic';
9
+ content: string;
10
+ }
11
+ export declare function parseMarkdown(content: string): MarkdownElement[];
12
+ export declare function parseInlineElements(content: string): InlineElement[];
13
+ //# sourceMappingURL=markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/utils/markdown.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CA0EhE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,CAuEpE"}
@@ -0,0 +1,122 @@
1
+ export function parseMarkdown(content) {
2
+ const lines = content.split('\n');
3
+ const elements = [];
4
+ for (let i = 0; i < lines.length; i++) {
5
+ const line = lines[i];
6
+ // Handle code blocks - improved parsing
7
+ if (line.startsWith('```')) {
8
+ const language = line.slice(3).trim();
9
+ const codeBlocks = [];
10
+ i++; // Skip opening ```
11
+ // Parse until closing ``` or end of content
12
+ while (i < lines.length && !lines[i].startsWith('```')) {
13
+ codeBlocks.push(lines[i]);
14
+ i++;
15
+ }
16
+ // Handle case where code block is not closed
17
+ if (i >= lines.length) {
18
+ // Treat unclosed code block as text
19
+ elements.push({
20
+ type: 'text',
21
+ content: '```' + language + '\n' + codeBlocks.join('\n'),
22
+ });
23
+ break;
24
+ }
25
+ // Skip the closing ```
26
+ i++;
27
+ elements.push({
28
+ type: 'code-block',
29
+ content: codeBlocks.join('\n'),
30
+ level: language ? 1 : 0,
31
+ language: language,
32
+ });
33
+ continue;
34
+ }
35
+ // Handle headings
36
+ if (line.startsWith('#')) {
37
+ const level = line.match(/^#{1,6}/)?.[0].length || 1;
38
+ const text = line.replace(/^#{1,6}\s*/, '');
39
+ elements.push({
40
+ type: 'heading',
41
+ content: text,
42
+ level,
43
+ });
44
+ continue;
45
+ }
46
+ // Handle mixed content lines (with inline code, bold, italic)
47
+ if (line.includes('`') ||
48
+ line.includes('**') ||
49
+ (line.includes('*') && !line.includes('**'))) {
50
+ elements.push({
51
+ type: 'mixed-line',
52
+ content: line,
53
+ });
54
+ continue;
55
+ }
56
+ // Regular text
57
+ elements.push({
58
+ type: 'text',
59
+ content: line || ' ',
60
+ });
61
+ }
62
+ return elements;
63
+ }
64
+ export function parseInlineElements(content) {
65
+ const elements = [];
66
+ let remaining = content;
67
+ while (remaining.length > 0) {
68
+ // Check for inline code first (highest priority)
69
+ const codeMatch = remaining.match(/^`[^`]+`/);
70
+ if (codeMatch) {
71
+ const codeText = codeMatch[0];
72
+ const beforeText = remaining.substring(0, remaining.indexOf(codeText));
73
+ if (beforeText) {
74
+ elements.push({ type: 'text', content: beforeText });
75
+ }
76
+ elements.push({
77
+ type: 'code',
78
+ content: codeText.slice(1, -1), // Remove backticks
79
+ });
80
+ remaining = remaining.substring(beforeText.length + codeText.length);
81
+ continue;
82
+ }
83
+ // Check for bold (but avoid conflicting with italic)
84
+ const boldMatch = remaining.match(/^\*\*[^*]+\*\*/);
85
+ if (boldMatch) {
86
+ const boldText = boldMatch[0];
87
+ const beforeText = remaining.substring(0, remaining.indexOf(boldText));
88
+ if (beforeText) {
89
+ elements.push({ type: 'text', content: beforeText });
90
+ }
91
+ elements.push({
92
+ type: 'bold',
93
+ content: boldText.slice(2, -2), // Remove **
94
+ });
95
+ remaining = remaining.substring(beforeText.length + boldText.length);
96
+ continue;
97
+ }
98
+ // Check for italic (but avoid matching within bold)
99
+ const italicMatch = remaining.match(/^\*[^*]+\*/);
100
+ if (italicMatch && !remaining.startsWith('**')) {
101
+ const italicText = italicMatch[0];
102
+ const beforeText = remaining.substring(0, remaining.indexOf(italicText));
103
+ if (beforeText) {
104
+ elements.push({ type: 'text', content: beforeText });
105
+ }
106
+ elements.push({
107
+ type: 'italic',
108
+ content: italicText.slice(1, -1), // Remove *
109
+ });
110
+ remaining = remaining.substring(beforeText.length + italicText.length);
111
+ continue;
112
+ }
113
+ // No more markdown found, add remaining as text
114
+ elements.push({
115
+ type: 'text',
116
+ content: remaining,
117
+ });
118
+ break;
119
+ }
120
+ return elements;
121
+ }
122
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/utils/markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { Agent } from 'http';
2
+ /**
3
+ * Creates an HTTP/SOCKS proxy agent based on an explicit override or environment variables.
4
+ *
5
+ * Resolves a proxy URL (override -> HTTPS_PROXY/https_proxy -> HTTP_PROXY/http_proxy). If no proxy is configured, returns `undefined`. If the resolved URL is not a valid URL, the function logs an error and returns `undefined`. Otherwise it returns a `SocksProxyAgent` for SOCKS schemes (`socks://`, `socks5://`, `socks4://`) or an `HttpsProxyAgent` for other schemes. If agent construction fails the error is logged and `undefined` is returned.
6
+ *
7
+ * @param proxyOverride - Optional explicit proxy URL to use instead of environment variables.
8
+ * @returns A Node `Agent` configured for the proxy, or `undefined` when no valid proxy is available or agent creation fails.
9
+ */
10
+ export declare function getProxyAgent(proxyOverride?: string): Agent | undefined;
11
+ /**
12
+ * Returns information about the configured proxy (from an explicit override or environment).
13
+ *
14
+ * If a proxy URL is found returns an object with `enabled: true`, a sanitized `url` (credentials removed or obfuscated) and the proxy `type` (`'socks'` or `'http'`). If no proxy is configured returns `{ enabled: false }`.
15
+ *
16
+ * The `enabled` field indicates whether the proxy URL is valid and usable.
17
+ *
18
+ * @param proxyOverride - Optional explicit proxy URL to use instead of environment variables.
19
+ */
20
+ export declare function getProxyInfo(proxyOverride?: string): {
21
+ enabled: boolean;
22
+ url?: string;
23
+ type?: string;
24
+ };
25
+ //# sourceMappingURL=proxy-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-config.d.ts","sourceRoot":"","sources":["../../src/utils/proxy-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAiGlC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAuBvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CActG"}
@@ -0,0 +1,145 @@
1
+ import { HttpsProxyAgent } from 'https-proxy-agent';
2
+ import { SocksProxyAgent } from 'socks-proxy-agent';
3
+ import { ConfigManager } from './local-settings.js';
4
+ // Module-level instance to avoid repeated instantiation
5
+ const configManager = new ConfigManager();
6
+ /**
7
+ * Resolves the proxy URL to use from an explicit override, environment variables, or config file.
8
+ *
9
+ * If `proxyOverride` is provided it is returned directly. Otherwise the function
10
+ * returns the first non-empty value found in priority order:
11
+ * SORY_PROXY > HTTPS_PROXY/https_proxy > HTTP_PROXY/http_proxy > config file.
12
+ * If none are set, returns undefined.
13
+ *
14
+ * @param proxyOverride - Optional explicit proxy URL that takes precedence over env vars and config.
15
+ * @returns The resolved proxy URL string, or `undefined` if no proxy is configured.
16
+ */
17
+ function getProxyUrl(proxyOverride) {
18
+ if (proxyOverride) {
19
+ return proxyOverride;
20
+ }
21
+ // Check for proxy environment variables first (in order of priority)
22
+ // Check SORY_PROXY first, then standard environment variables
23
+ const soryProxy = process.env.SORY_PROXY;
24
+ const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;
25
+ const httpProxy = process.env.HTTP_PROXY || process.env.http_proxy;
26
+ // Priority: SORY_PROXY > HTTPS_PROXY > HTTP_PROXY > config file
27
+ if (soryProxy || httpsProxy || httpProxy) {
28
+ return soryProxy || httpsProxy || httpProxy;
29
+ }
30
+ // If no environment variable, check config file
31
+ return configManager.getProxy() || undefined;
32
+ }
33
+ /**
34
+ * Determine whether a proxy URL refers to a SOCKS proxy or an HTTP(S) proxy.
35
+ *
36
+ * Recognizes `socks://`, `socks5://`, and `socks4://` schemes as SOCKS; any other scheme is treated as HTTP.
37
+ *
38
+ * @param url - The proxy URL or scheme string to inspect.
39
+ * @returns `'socks'` if the URL uses a SOCKS scheme, otherwise `'http'`.
40
+ */
41
+ function getProxyType(url) {
42
+ if (url.startsWith('socks://') || url.startsWith('socks5://') || url.startsWith('socks4://') || url.startsWith('socks4a://')) {
43
+ return 'socks';
44
+ }
45
+ return 'http';
46
+ }
47
+ /**
48
+ * Returns a proxy URL safe for logging by removing any embedded credentials.
49
+ *
50
+ * Attempts to parse the input as a URL and, if username or password are present,
51
+ * returns a sanitized string with credentials removed. If parsing fails and the
52
+ * input appears to contain credentials (contains '@'), returns the literal
53
+ * "[proxy with credentials]" to avoid exposing secrets; otherwise returns the
54
+ * original input unchanged.
55
+ *
56
+ * @param url - The proxy URL to sanitize; may include credentials (e.g., `user:pass@host`).
57
+ * @returns A sanitized URL string suitable for logging or the original input when no sanitization is needed.
58
+ */
59
+ function sanitizeProxyUrl(url) {
60
+ try {
61
+ const parsed = new URL(url);
62
+ if (parsed.username || parsed.password) {
63
+ parsed.username = '';
64
+ parsed.password = '';
65
+ return parsed.toString();
66
+ }
67
+ return url;
68
+ }
69
+ catch {
70
+ // If URL parsing fails, return a safe message
71
+ return url.includes('@') ? '[proxy with credentials]' : url;
72
+ }
73
+ }
74
+ /**
75
+ * Checks whether a string is a valid URL suitable for a proxy.
76
+ *
77
+ * Attempts to parse the provided `url` using the WHATWG URL parser and
78
+ * returns true if parsing succeeds, false otherwise.
79
+ *
80
+ * @param url - The candidate proxy URL string to validate.
81
+ * @returns True when `url` can be parsed as a valid URL; otherwise false.
82
+ */
83
+ function isValidProxyUrl(url) {
84
+ try {
85
+ new URL(url);
86
+ return true;
87
+ }
88
+ catch {
89
+ return false;
90
+ }
91
+ }
92
+ /**
93
+ * Creates an HTTP/SOCKS proxy agent based on an explicit override or environment variables.
94
+ *
95
+ * Resolves a proxy URL (override -> HTTPS_PROXY/https_proxy -> HTTP_PROXY/http_proxy). If no proxy is configured, returns `undefined`. If the resolved URL is not a valid URL, the function logs an error and returns `undefined`. Otherwise it returns a `SocksProxyAgent` for SOCKS schemes (`socks://`, `socks5://`, `socks4://`) or an `HttpsProxyAgent` for other schemes. If agent construction fails the error is logged and `undefined` is returned.
96
+ *
97
+ * @param proxyOverride - Optional explicit proxy URL to use instead of environment variables.
98
+ * @returns A Node `Agent` configured for the proxy, or `undefined` when no valid proxy is available or agent creation fails.
99
+ */
100
+ export function getProxyAgent(proxyOverride) {
101
+ const proxyUrl = getProxyUrl(proxyOverride);
102
+ if (!proxyUrl) {
103
+ return undefined;
104
+ }
105
+ if (!isValidProxyUrl(proxyUrl)) {
106
+ console.error(`Invalid proxy URL: ${sanitizeProxyUrl(proxyUrl)}`);
107
+ return undefined;
108
+ }
109
+ try {
110
+ // Create appropriate agent based on proxy type
111
+ if (getProxyType(proxyUrl) === 'socks') {
112
+ return new SocksProxyAgent(proxyUrl);
113
+ }
114
+ else {
115
+ return new HttpsProxyAgent(proxyUrl);
116
+ }
117
+ }
118
+ catch (error) {
119
+ console.error(`Failed to create proxy agent: ${sanitizeProxyUrl(proxyUrl)}`);
120
+ return undefined;
121
+ }
122
+ }
123
+ /**
124
+ * Returns information about the configured proxy (from an explicit override or environment).
125
+ *
126
+ * If a proxy URL is found returns an object with `enabled: true`, a sanitized `url` (credentials removed or obfuscated) and the proxy `type` (`'socks'` or `'http'`). If no proxy is configured returns `{ enabled: false }`.
127
+ *
128
+ * The `enabled` field indicates whether the proxy URL is valid and usable.
129
+ *
130
+ * @param proxyOverride - Optional explicit proxy URL to use instead of environment variables.
131
+ */
132
+ export function getProxyInfo(proxyOverride) {
133
+ const proxyUrl = getProxyUrl(proxyOverride);
134
+ if (!proxyUrl) {
135
+ return { enabled: false };
136
+ }
137
+ const isValid = isValidProxyUrl(proxyUrl);
138
+ // Return info for debugging even if URL is invalid, but enabled reflects validity
139
+ return {
140
+ enabled: isValid,
141
+ url: sanitizeProxyUrl(proxyUrl),
142
+ type: getProxyType(proxyUrl)
143
+ };
144
+ }
145
+ //# sourceMappingURL=proxy-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-config.js","sourceRoot":"","sources":["../../src/utils/proxy-config.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "agent-sory",
3
+ "version": "1.0.0",
4
+ "license": "MIT",
5
+ "bin": {
6
+ "sory": "dist/core/cli.js"
7
+ },
8
+ "type": "module",
9
+ "engines": {
10
+ "node": ">=16"
11
+ },
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "dev": "tsc --watch",
15
+ "test": "ava"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "dependencies": {
21
+ "@google/generative-ai": "^0.24.1",
22
+ "@joshua.litt/get-ripgrep": "^0.0.3",
23
+ "@types/diff": "^7.0.2",
24
+ "@types/html-to-text": "^9.0.4",
25
+ "chalk": "^5.4.1",
26
+ "commander": "^14.0.0",
27
+ "diff": "^8.0.3",
28
+ "fast-glob": "^3.3.3",
29
+ "glob": "^13.0.0",
30
+ "groq-sdk": "^0.27.0",
31
+ "html-to-text": "^9.0.5",
32
+ "https-proxy-agent": "^7.0.6",
33
+ "ink": "^6.0.1",
34
+ "lowlight": "^3.3.0",
35
+ "meow": "^11.0.0",
36
+ "openai": "^6.16.0",
37
+ "react": "^19.1.0",
38
+ "socks-proxy-agent": "^8.0.5"
39
+ },
40
+ "devDependencies": {
41
+ "@sindresorhus/tsconfig": "^3.0.1",
42
+ "@types/react": "^19.1.8",
43
+ "@vdemedes/prettier-config": "^2.0.1",
44
+ "ava": "^5.2.0",
45
+ "chalk": "^5.2.0",
46
+ "eslint-config-xo-react": "^0.27.0",
47
+ "eslint-plugin-react": "^7.32.2",
48
+ "eslint-plugin-react-hooks": "^4.6.0",
49
+ "ink-testing-library": "^3.0.0",
50
+ "prettier": "^2.8.7",
51
+ "ts-node": "^10.9.1",
52
+ "typescript": "^5.0.3",
53
+ "xo": "^1.2.1"
54
+ },
55
+ "ava": {
56
+ "extensions": {
57
+ "ts": "module",
58
+ "tsx": "module"
59
+ },
60
+ "nodeArguments": [
61
+ "--loader=ts-node/esm"
62
+ ],
63
+ "files": [
64
+ "src/**/*.test.ts",
65
+ "!**/*.d.ts"
66
+ ]
67
+ },
68
+ "xo": {
69
+ "extends": "xo-react",
70
+ "prettier": true,
71
+ "rules": {
72
+ "react/prop-types": "off"
73
+ }
74
+ },
75
+ "prettier": "@vdemedes/prettier-config"
76
+ }