@teleforge-ai/anya 0.5.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 (200) hide show
  1. package/README.md +69 -0
  2. package/assets/anya.jpg +0 -0
  3. package/assets/anya.png +0 -0
  4. package/dist/chat/session.d.ts +15 -0
  5. package/dist/chat/session.d.ts.map +1 -0
  6. package/dist/chat/session.js +59 -0
  7. package/dist/chat/session.js.map +1 -0
  8. package/dist/chat/stream.d.ts +13 -0
  9. package/dist/chat/stream.d.ts.map +1 -0
  10. package/dist/chat/stream.js +86 -0
  11. package/dist/chat/stream.js.map +1 -0
  12. package/dist/commands/providerFactory.d.ts +12 -0
  13. package/dist/commands/providerFactory.d.ts.map +1 -0
  14. package/dist/commands/providerFactory.js +73 -0
  15. package/dist/commands/providerFactory.js.map +1 -0
  16. package/dist/config/encryption.d.ts +3 -0
  17. package/dist/config/encryption.d.ts.map +1 -0
  18. package/dist/config/encryption.js +47 -0
  19. package/dist/config/encryption.js.map +1 -0
  20. package/dist/config/schema.d.ts +94 -0
  21. package/dist/config/schema.d.ts.map +1 -0
  22. package/dist/config/schema.js +28 -0
  23. package/dist/config/schema.js.map +1 -0
  24. package/dist/config/store.d.ts +40 -0
  25. package/dist/config/store.d.ts.map +1 -0
  26. package/dist/config/store.js +195 -0
  27. package/dist/config/store.js.map +1 -0
  28. package/dist/index.d.ts +3 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +97 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/providers/anthropic.d.ts +10 -0
  33. package/dist/providers/anthropic.d.ts.map +1 -0
  34. package/dist/providers/anthropic.js +128 -0
  35. package/dist/providers/anthropic.js.map +1 -0
  36. package/dist/providers/base.d.ts +39 -0
  37. package/dist/providers/base.d.ts.map +1 -0
  38. package/dist/providers/base.js +28 -0
  39. package/dist/providers/base.js.map +1 -0
  40. package/dist/providers/custom.d.ts +11 -0
  41. package/dist/providers/custom.d.ts.map +1 -0
  42. package/dist/providers/custom.js +90 -0
  43. package/dist/providers/custom.js.map +1 -0
  44. package/dist/providers/deepseek.d.ts +10 -0
  45. package/dist/providers/deepseek.d.ts.map +1 -0
  46. package/dist/providers/deepseek.js +88 -0
  47. package/dist/providers/deepseek.js.map +1 -0
  48. package/dist/providers/google.d.ts +10 -0
  49. package/dist/providers/google.d.ts.map +1 -0
  50. package/dist/providers/google.js +131 -0
  51. package/dist/providers/google.js.map +1 -0
  52. package/dist/providers/groq.d.ts +10 -0
  53. package/dist/providers/groq.d.ts.map +1 -0
  54. package/dist/providers/groq.js +88 -0
  55. package/dist/providers/groq.js.map +1 -0
  56. package/dist/providers/index.d.ts +10 -0
  57. package/dist/providers/index.d.ts.map +1 -0
  58. package/dist/providers/index.js +39 -0
  59. package/dist/providers/index.js.map +1 -0
  60. package/dist/providers/mistral.d.ts +10 -0
  61. package/dist/providers/mistral.d.ts.map +1 -0
  62. package/dist/providers/mistral.js +88 -0
  63. package/dist/providers/mistral.js.map +1 -0
  64. package/dist/providers/ollama.d.ts +11 -0
  65. package/dist/providers/ollama.d.ts.map +1 -0
  66. package/dist/providers/ollama.js +82 -0
  67. package/dist/providers/ollama.js.map +1 -0
  68. package/dist/providers/openai.d.ts +10 -0
  69. package/dist/providers/openai.d.ts.map +1 -0
  70. package/dist/providers/openai.js +127 -0
  71. package/dist/providers/openai.js.map +1 -0
  72. package/dist/providers/opencode.d.ts +11 -0
  73. package/dist/providers/opencode.d.ts.map +1 -0
  74. package/dist/providers/opencode.js +99 -0
  75. package/dist/providers/opencode.js.map +1 -0
  76. package/dist/providers/openrouter.d.ts +10 -0
  77. package/dist/providers/openrouter.d.ts.map +1 -0
  78. package/dist/providers/openrouter.js +119 -0
  79. package/dist/providers/openrouter.js.map +1 -0
  80. package/dist/providers/together.d.ts +10 -0
  81. package/dist/providers/together.d.ts.map +1 -0
  82. package/dist/providers/together.js +88 -0
  83. package/dist/providers/together.js.map +1 -0
  84. package/dist/providers/xai.d.ts +10 -0
  85. package/dist/providers/xai.d.ts.map +1 -0
  86. package/dist/providers/xai.js +88 -0
  87. package/dist/providers/xai.js.map +1 -0
  88. package/dist/tui/ansi.d.ts +49 -0
  89. package/dist/tui/ansi.d.ts.map +1 -0
  90. package/dist/tui/ansi.js +208 -0
  91. package/dist/tui/ansi.js.map +1 -0
  92. package/dist/tui/components/anyaArt.d.ts +2 -0
  93. package/dist/tui/components/anyaArt.d.ts.map +1 -0
  94. package/dist/tui/components/anyaArt.js +20 -0
  95. package/dist/tui/components/anyaArt.js.map +1 -0
  96. package/dist/tui/components/dialog.d.ts +15 -0
  97. package/dist/tui/components/dialog.d.ts.map +1 -0
  98. package/dist/tui/components/dialog.js +115 -0
  99. package/dist/tui/components/dialog.js.map +1 -0
  100. package/dist/tui/components/messages.d.ts +10 -0
  101. package/dist/tui/components/messages.d.ts.map +1 -0
  102. package/dist/tui/components/messages.js +100 -0
  103. package/dist/tui/components/messages.js.map +1 -0
  104. package/dist/tui/render.d.ts +3 -0
  105. package/dist/tui/render.d.ts.map +1 -0
  106. package/dist/tui/render.js +137 -0
  107. package/dist/tui/render.js.map +1 -0
  108. package/dist/tui/screen.d.ts +19 -0
  109. package/dist/tui/screen.d.ts.map +1 -0
  110. package/dist/tui/screen.js +98 -0
  111. package/dist/tui/screen.js.map +1 -0
  112. package/dist/tui/state.d.ts +41 -0
  113. package/dist/tui/state.d.ts.map +1 -0
  114. package/dist/tui/state.js +306 -0
  115. package/dist/tui/state.js.map +1 -0
  116. package/dist/ui/App.d.ts +3 -0
  117. package/dist/ui/App.d.ts.map +1 -0
  118. package/dist/ui/App.js +207 -0
  119. package/dist/ui/App.js.map +1 -0
  120. package/dist/ui/components/CommandPalette.d.ts +8 -0
  121. package/dist/ui/components/CommandPalette.d.ts.map +1 -0
  122. package/dist/ui/components/CommandPalette.js +63 -0
  123. package/dist/ui/components/CommandPalette.js.map +1 -0
  124. package/dist/ui/components/HomeScreen.d.ts +8 -0
  125. package/dist/ui/components/HomeScreen.d.ts.map +1 -0
  126. package/dist/ui/components/HomeScreen.js +29 -0
  127. package/dist/ui/components/HomeScreen.js.map +1 -0
  128. package/dist/ui/components/ImageRenderer.d.ts +8 -0
  129. package/dist/ui/components/ImageRenderer.d.ts.map +1 -0
  130. package/dist/ui/components/ImageRenderer.js +42 -0
  131. package/dist/ui/components/ImageRenderer.js.map +1 -0
  132. package/dist/ui/components/InputBox.d.ts +12 -0
  133. package/dist/ui/components/InputBox.d.ts.map +1 -0
  134. package/dist/ui/components/InputBox.js +96 -0
  135. package/dist/ui/components/InputBox.js.map +1 -0
  136. package/dist/ui/components/MessageList.d.ts +13 -0
  137. package/dist/ui/components/MessageList.d.ts.map +1 -0
  138. package/dist/ui/components/MessageList.js +10 -0
  139. package/dist/ui/components/MessageList.js.map +1 -0
  140. package/dist/ui/components/ModelSelector.d.ts +9 -0
  141. package/dist/ui/components/ModelSelector.d.ts.map +1 -0
  142. package/dist/ui/components/ModelSelector.js +77 -0
  143. package/dist/ui/components/ModelSelector.js.map +1 -0
  144. package/dist/ui/components/ProviderForm.d.ts +8 -0
  145. package/dist/ui/components/ProviderForm.d.ts.map +1 -0
  146. package/dist/ui/components/ProviderForm.js +88 -0
  147. package/dist/ui/components/ProviderForm.js.map +1 -0
  148. package/dist/ui/components/SettingsPanel.d.ts +7 -0
  149. package/dist/ui/components/SettingsPanel.d.ts.map +1 -0
  150. package/dist/ui/components/SettingsPanel.js +87 -0
  151. package/dist/ui/components/SettingsPanel.js.map +1 -0
  152. package/dist/ui/components/StatusBar.d.ts +8 -0
  153. package/dist/ui/components/StatusBar.d.ts.map +1 -0
  154. package/dist/ui/components/StatusBar.js +15 -0
  155. package/dist/ui/components/StatusBar.js.map +1 -0
  156. package/dist/ui/components/StatusDashboard.d.ts +7 -0
  157. package/dist/ui/components/StatusDashboard.d.ts.map +1 -0
  158. package/dist/ui/components/StatusDashboard.js +29 -0
  159. package/dist/ui/components/StatusDashboard.js.map +1 -0
  160. package/dist/ui/components/TitleBar.d.ts +8 -0
  161. package/dist/ui/components/TitleBar.d.ts.map +1 -0
  162. package/dist/ui/components/TitleBar.js +7 -0
  163. package/dist/ui/components/TitleBar.js.map +1 -0
  164. package/dist/ui/hooks/useConfig.d.ts +28 -0
  165. package/dist/ui/hooks/useConfig.d.ts.map +1 -0
  166. package/dist/ui/hooks/useConfig.js +20 -0
  167. package/dist/ui/hooks/useConfig.js.map +1 -0
  168. package/dist/ui/hooks/useModels.d.ts +10 -0
  169. package/dist/ui/hooks/useModels.d.ts.map +1 -0
  170. package/dist/ui/hooks/useModels.js +30 -0
  171. package/dist/ui/hooks/useModels.js.map +1 -0
  172. package/dist/ui/hooks/useProviders.d.ts +18 -0
  173. package/dist/ui/hooks/useProviders.d.ts.map +1 -0
  174. package/dist/ui/hooks/useProviders.js +56 -0
  175. package/dist/ui/hooks/useProviders.js.map +1 -0
  176. package/dist/ui/theme.d.ts +22 -0
  177. package/dist/ui/theme.d.ts.map +1 -0
  178. package/dist/ui/theme.js +99 -0
  179. package/dist/ui/theme.js.map +1 -0
  180. package/dist/utils/fuzzysearch.d.ts +8 -0
  181. package/dist/utils/fuzzysearch.d.ts.map +1 -0
  182. package/dist/utils/fuzzysearch.js +19 -0
  183. package/dist/utils/fuzzysearch.js.map +1 -0
  184. package/dist/utils/image.d.ts +8 -0
  185. package/dist/utils/image.d.ts.map +1 -0
  186. package/dist/utils/image.js +63 -0
  187. package/dist/utils/image.js.map +1 -0
  188. package/dist/utils/json.d.ts +2 -0
  189. package/dist/utils/json.d.ts.map +1 -0
  190. package/dist/utils/json.js +9 -0
  191. package/dist/utils/json.js.map +1 -0
  192. package/dist/utils/logger.d.ts +19 -0
  193. package/dist/utils/logger.d.ts.map +1 -0
  194. package/dist/utils/logger.js +23 -0
  195. package/dist/utils/logger.js.map +1 -0
  196. package/dist/utils/terminal.d.ts +11 -0
  197. package/dist/utils/terminal.d.ts.map +1 -0
  198. package/dist/utils/terminal.js +38 -0
  199. package/dist/utils/terminal.js.map +1 -0
  200. package/package.json +58 -0
@@ -0,0 +1,23 @@
1
+ const LOG_LEVELS = { debug: 0, info: 1, warn: 2, error: 3 };
2
+ class Logger {
3
+ constructor() {
4
+ this.level = 'info';
5
+ }
6
+ setLevel(level) {
7
+ this.level = level;
8
+ }
9
+ log(level, message, ...args) {
10
+ if (LOG_LEVELS[level] < LOG_LEVELS[this.level])
11
+ return;
12
+ const timestamp = new Date().toISOString();
13
+ const prefix = `[${timestamp}] [${level.toUpperCase()}]`;
14
+ const fn = level === 'error' ? console.error : level === 'warn' ? console.warn : console.log;
15
+ fn(`${prefix} ${message}`, ...args);
16
+ }
17
+ debug(message, ...args) { this.log('debug', message, ...args); }
18
+ info(message, ...args) { this.log('info', message, ...args); }
19
+ warn(message, ...args) { this.log('warn', message, ...args); }
20
+ error(message, ...args) { this.log('error', message, ...args); }
21
+ }
22
+ export const logger = new Logger();
23
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAW,CAAA;AAGpE,MAAM,MAAM;IAAZ;QACU,UAAK,GAAa,MAAM,CAAA;IAkBlC,CAAC;IAhBC,QAAQ,CAAC,KAAe;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAEO,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,GAAG,IAAW;QAC1D,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAM;QACtD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC1C,MAAM,MAAM,GAAG,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,GAAG,CAAA;QACxD,MAAM,EAAE,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA;QAC5F,EAAE,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW,IAAU,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC;IACpF,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW,IAAU,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC;IAClF,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW,IAAU,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC;IAClF,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW,IAAU,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC;CACrF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA"}
@@ -0,0 +1,11 @@
1
+ export interface TerminalCapabilities {
2
+ supportsImages: boolean;
3
+ imageProtocol: 'kitty' | 'iterm2' | 'sixel' | 'none';
4
+ supportsTrueColor: boolean;
5
+ termProgram: string;
6
+ term: string;
7
+ columns: number;
8
+ rows: number;
9
+ }
10
+ export declare function detectTerminal(): TerminalCapabilities;
11
+ //# sourceMappingURL=terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/utils/terminal.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;IACpD,iBAAiB,EAAE,OAAO,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,cAAc,IAAI,oBAAoB,CAmCrD"}
@@ -0,0 +1,38 @@
1
+ export function detectTerminal() {
2
+ const term = process.env.TERM || '';
3
+ const termProgram = process.env.TERM_PROGRAM || '';
4
+ const columns = process.stdout.columns || 80;
5
+ const rows = process.stdout.rows || 24;
6
+ let imageProtocol = 'none';
7
+ let supportsImages = false;
8
+ let supportsTrueColor = true;
9
+ if (termProgram === 'kitty' || process.env.KITTY_WINDOW_ID) {
10
+ imageProtocol = 'kitty';
11
+ supportsImages = true;
12
+ }
13
+ else if (termProgram === 'iTerm.app' || process.env.TERM_PROGRAM === 'iTerm.app') {
14
+ imageProtocol = 'iterm2';
15
+ supportsImages = true;
16
+ }
17
+ else if (termProgram === 'WezTerm' || process.env.WEZTERM) {
18
+ imageProtocol = 'kitty';
19
+ supportsImages = true;
20
+ }
21
+ else if (term.startsWith('screen') && process.env.TERM_PROGRAM === 'iTerm.app') {
22
+ imageProtocol = 'iterm2';
23
+ supportsImages = true;
24
+ }
25
+ else {
26
+ supportsTrueColor = term.includes('truecolor') || term.includes('24bit') || !!termProgram;
27
+ }
28
+ return {
29
+ supportsImages,
30
+ imageProtocol,
31
+ supportsTrueColor,
32
+ termProgram,
33
+ term,
34
+ columns,
35
+ rows,
36
+ };
37
+ }
38
+ //# sourceMappingURL=terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/utils/terminal.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;IACnC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAA;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAA;IAEtC,IAAI,aAAa,GAA0C,MAAM,CAAA;IACjE,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,IAAI,iBAAiB,GAAG,IAAI,CAAA;IAE5B,IAAI,WAAW,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAC3D,aAAa,GAAG,OAAO,CAAA;QACvB,cAAc,GAAG,IAAI,CAAA;IACvB,CAAC;SAAM,IAAI,WAAW,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;QACnF,aAAa,GAAG,QAAQ,CAAA;QACxB,cAAc,GAAG,IAAI,CAAA;IACvB,CAAC;SAAM,IAAI,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5D,aAAa,GAAG,OAAO,CAAA;QACvB,cAAc,GAAG,IAAI,CAAA;IACvB,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;QACjF,aAAa,GAAG,QAAQ,CAAA;QACxB,cAAc,GAAG,IAAI,CAAA;IACvB,CAAC;SAAM,CAAC;QACN,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAA;IAC3F,CAAC;IAED,OAAO;QACL,cAAc;QACd,aAAa;QACb,iBAAiB;QACjB,WAAW;QACX,IAAI;QACJ,OAAO;QACP,IAAI;KACL,CAAA;AACH,CAAC"}
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "type": "module",
3
+ "name": "@teleforge-ai/anya",
4
+ "version": "0.5.0",
5
+ "description": "Anya — Production AI CLI Assistant (OpenAI, Anthropic, Google, OpenRouter, DeepSeek, Mistral, Groq, xAI, Together AI, Ollama, OpenCode)",
6
+ "bin": {
7
+ "anya": "dist/index.js"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "assets",
12
+ "README.md"
13
+ ],
14
+ "scripts": {
15
+ "build": "tsc",
16
+ "start": "node dist/index.js",
17
+ "dev": "tsx src/index.ts",
18
+ "prepublishOnly": "npm run build"
19
+ },
20
+ "keywords": [
21
+ "cli",
22
+ "ai",
23
+ "anya",
24
+ "chat",
25
+ "assistant",
26
+ "ink",
27
+ "react",
28
+ "openrouter",
29
+ "opencode",
30
+ "openai",
31
+ "anthropic",
32
+ "gemini",
33
+ "deepseek",
34
+ "mistral",
35
+ "groq",
36
+ "xai",
37
+ "together",
38
+ "ollama"
39
+ ],
40
+ "license": "MIT",
41
+ "dependencies": {
42
+ "ink": "^4.4.0",
43
+ "react": "^18.2.0",
44
+ "commander": "^11.1.0",
45
+ "zod": "^3.22.0",
46
+ "fuse.js": "^7.0.0",
47
+ "conf": "^12.0.0"
48
+ },
49
+ "devDependencies": {
50
+ "@types/node": "^20.0.0",
51
+ "@types/react": "^18.2.0",
52
+ "tsx": "^4.0.0",
53
+ "typescript": "^5.3.0"
54
+ },
55
+ "engines": {
56
+ "node": ">=18"
57
+ }
58
+ }