nova-terminal-assistant 0.1.0 → 0.1.2

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 (190) hide show
  1. package/bin/nova.js +4 -1
  2. package/package.json +15 -7
  3. package/src/{cli/commands → commands}/SmartCompletion.ts +1 -1
  4. package/src/{core/model → model}/ModelValidator.ts +1 -1
  5. package/src/{cli/startup → startup}/IFlowRepl.ts +1 -1
  6. package/src/{cli/startup → startup}/InkBasedRepl.ts +12 -12
  7. package/src/{cli/startup → startup}/InteractiveRepl.ts +15 -15
  8. package/src/{cli/startup → startup}/NovaApp.ts +23 -23
  9. package/src/{cli/test-modules.ts → test-modules.ts} +3 -3
  10. package/src/{cli/ui → ui}/IFlowDropdown.ts +1 -1
  11. package/src/{cli/ui → ui}/ModernReplUI.ts +1 -1
  12. package/src/{cli/ui → ui}/components/ErrorPanel.ts +1 -1
  13. package/src/{cli/ui → ui}/components/QuickActions.ts +1 -1
  14. package/src/{cli/ui → ui}/components/StatusBar.ts +1 -1
  15. package/src/{cli/utils → utils}/EnhancedCompleter.test.ts +1 -1
  16. package/src/{cli/utils → utils}/EnhancedCompleter.ts +1 -1
  17. package/src/core/index.ts +0 -42
  18. package/src/core/utils/index.ts +0 -19
  19. /package/src/{core/agents → agents}/AgentOrchestrator.ts +0 -0
  20. /package/src/{core/agents → agents}/index.ts +0 -0
  21. /package/src/{core/audit → audit}/AuditLogger.ts +0 -0
  22. /package/src/{core/audit → audit}/index.ts +0 -0
  23. /package/src/{core/auth → auth}/AuthManager.d.ts.map +0 -0
  24. /package/src/{core/auth → auth}/AuthManager.ts +0 -0
  25. /package/src/{core/auth → auth}/index.d.ts.map +0 -0
  26. /package/src/{core/auth → auth}/index.ts +0 -0
  27. /package/src/{core/config → config}/ConfigManager.d.ts.map +0 -0
  28. /package/src/{core/config → config}/ConfigManager.test.ts +0 -0
  29. /package/src/{core/config → config}/ConfigManager.ts +0 -0
  30. /package/src/{core/config → config}/index.d.ts.map +0 -0
  31. /package/src/{core/config → config}/index.ts +0 -0
  32. /package/src/{core/context → context}/ContextBuilder.d.ts.map +0 -0
  33. /package/src/{core/context → context}/ContextBuilder.ts +0 -0
  34. /package/src/{core/context → context}/ContextCompressor.d.ts.map +0 -0
  35. /package/src/{core/context → context}/ContextCompressor.ts +0 -0
  36. /package/src/{core/context → context}/LayeredMemoryManager.ts +0 -0
  37. /package/src/{core/context → context}/MemoryDiscovery.d.ts.map +0 -0
  38. /package/src/{core/context → context}/MemoryDiscovery.ts +0 -0
  39. /package/src/{core/context → context}/defaultSystemPrompt.d.ts.map +0 -0
  40. /package/src/{core/context → context}/defaultSystemPrompt.ts +0 -0
  41. /package/src/{core/context → context}/index.d.ts.map +0 -0
  42. /package/src/{core/context → context}/index.ts +0 -0
  43. /package/src/{core/extensions → extensions}/SkillGenerator.ts +0 -0
  44. /package/src/{core/extensions → extensions}/SkillInstaller.d.ts.map +0 -0
  45. /package/src/{core/extensions → extensions}/SkillInstaller.ts +0 -0
  46. /package/src/{core/extensions → extensions}/SkillRegistry.d.ts.map +0 -0
  47. /package/src/{core/extensions → extensions}/SkillRegistry.ts +0 -0
  48. /package/src/{core/extensions → extensions}/SkillValidator.ts +0 -0
  49. /package/src/{core/extensions → extensions}/index.ts +0 -0
  50. /package/src/{core/index.d.ts.map → index.d.ts.map} +0 -0
  51. /package/src/{cli/index.ts → index.ts} +0 -0
  52. /package/src/{core/mcp → mcp}/McpManager.d.ts.map +0 -0
  53. /package/src/{core/mcp → mcp}/McpManager.ts +0 -0
  54. /package/src/{core/mcp → mcp}/index.d.ts.map +0 -0
  55. /package/src/{core/mcp → mcp}/index.ts +0 -0
  56. /package/src/{core/model → model}/ModelClient.d.ts.map +0 -0
  57. /package/src/{core/model → model}/ModelClient.ts +0 -0
  58. /package/src/{core/model → model}/ModelConnectionTester.ts +0 -0
  59. /package/src/{core/model → model}/index.d.ts.map +0 -0
  60. /package/src/{core/model → model}/index.ts +0 -0
  61. /package/src/{core/model → model}/providers/AnthropicProvider.d.ts.map +0 -0
  62. /package/src/{core/model → model}/providers/AnthropicProvider.ts +0 -0
  63. /package/src/{core/model → model}/providers/CodingPlanProvider.d.ts.map +0 -0
  64. /package/src/{core/model → model}/providers/CodingPlanProvider.ts +0 -0
  65. /package/src/{core/model → model}/providers/OllamaCloudProvider.d.ts.map +0 -0
  66. /package/src/{core/model → model}/providers/OllamaCloudProvider.ts +0 -0
  67. /package/src/{core/model → model}/providers/OllamaManager.d.ts.map +0 -0
  68. /package/src/{core/model → model}/providers/OllamaManager.ts +0 -0
  69. /package/src/{core/model → model}/providers/OllamaProvider.d.ts.map +0 -0
  70. /package/src/{core/model → model}/providers/OllamaProvider.ts +0 -0
  71. /package/src/{core/model → model}/providers/OpenAICompatibleProvider.d.ts.map +0 -0
  72. /package/src/{core/model → model}/providers/OpenAICompatibleProvider.ts +0 -0
  73. /package/src/{core/model → model}/providers/OpenAIProvider.d.ts.map +0 -0
  74. /package/src/{core/model → model}/providers/OpenAIProvider.ts +0 -0
  75. /package/src/{core/model → model}/providers/index.d.ts.map +0 -0
  76. /package/src/{core/model → model}/providers/index.ts +0 -0
  77. /package/src/{core/model → model}/types.d.ts.map +0 -0
  78. /package/src/{core/model → model}/types.ts +0 -0
  79. /package/src/{core/security → security}/ApprovalManager.d.ts.map +0 -0
  80. /package/src/{core/security → security}/ApprovalManager.ts +0 -0
  81. /package/src/{core/security → security}/FileFilter.d.ts.map +0 -0
  82. /package/src/{core/security → security}/FileFilter.ts +0 -0
  83. /package/src/{core/security → security}/HookExecutor.d.ts.map +0 -0
  84. /package/src/{core/security → security}/HookExecutor.ts +0 -0
  85. /package/src/{core/security → security}/SandboxExecutor.ts +0 -0
  86. /package/src/{core/security → security}/index.d.ts.map +0 -0
  87. /package/src/{core/security → security}/index.ts +0 -0
  88. /package/src/{core/session → session}/AgentLoop.d.ts.map +0 -0
  89. /package/src/{core/session → session}/AgentLoop.ts +0 -0
  90. /package/src/{core/session → session}/SessionManager.d.ts.map +0 -0
  91. /package/src/{core/session → session}/SessionManager.test.ts +0 -0
  92. /package/src/{core/session → session}/SessionManager.ts +0 -0
  93. /package/src/{core/session → session}/index.d.ts.map +0 -0
  94. /package/src/{core/session → session}/index.ts +0 -0
  95. /package/src/{cli/startup → startup}/index.ts +0 -0
  96. /package/src/{cli/startup → startup}/parseArgs.ts +0 -0
  97. /package/src/{core/telemetry → telemetry}/Telemetry.d.ts.map +0 -0
  98. /package/src/{core/telemetry → telemetry}/Telemetry.ts +0 -0
  99. /package/src/{core/telemetry → telemetry}/TelemetryService.ts +0 -0
  100. /package/src/{core/telemetry → telemetry}/index.d.ts.map +0 -0
  101. /package/src/{core/telemetry → telemetry}/index.ts +0 -0
  102. /package/src/{core/testing → testing}/AutoFixer.ts +0 -0
  103. /package/src/{core/testing → testing}/ErrorAnalyzer.ts +0 -0
  104. /package/src/{core/testing → testing}/TestRunner.ts +0 -0
  105. /package/src/{core/testing → testing}/agent-cli-tests.ts +0 -0
  106. /package/src/{core/testing → testing}/index.ts +0 -0
  107. /package/src/{core/tools → tools}/ToolRegistry.d.ts.map +0 -0
  108. /package/src/{core/tools → tools}/ToolRegistry.test.ts +0 -0
  109. /package/src/{core/tools → tools}/ToolRegistry.ts +0 -0
  110. /package/src/{core/tools → tools}/impl/EditFileTool.d.ts.map +0 -0
  111. /package/src/{core/tools → tools}/impl/EditFileTool.ts +0 -0
  112. /package/src/{core/tools → tools}/impl/ListDirectoryTool.d.ts.map +0 -0
  113. /package/src/{core/tools → tools}/impl/ListDirectoryTool.ts +0 -0
  114. /package/src/{core/tools → tools}/impl/MemoryTool.d.ts.map +0 -0
  115. /package/src/{core/tools → tools}/impl/MemoryTool.ts +0 -0
  116. /package/src/{core/tools → tools}/impl/ReadFileTool.d.ts.map +0 -0
  117. /package/src/{core/tools → tools}/impl/ReadFileTool.ts +0 -0
  118. /package/src/{core/tools → tools}/impl/SearchContentTool.d.ts.map +0 -0
  119. /package/src/{core/tools → tools}/impl/SearchContentTool.ts +0 -0
  120. /package/src/{core/tools → tools}/impl/SearchFileTool.d.ts.map +0 -0
  121. /package/src/{core/tools → tools}/impl/SearchFileTool.ts +0 -0
  122. /package/src/{core/tools → tools}/impl/ShellTool.d.ts.map +0 -0
  123. /package/src/{core/tools → tools}/impl/ShellTool.ts +0 -0
  124. /package/src/{core/tools → tools}/impl/TaskTool.d.ts.map +0 -0
  125. /package/src/{core/tools → tools}/impl/TaskTool.ts +0 -0
  126. /package/src/{core/tools → tools}/impl/TodoTool.d.ts.map +0 -0
  127. /package/src/{core/tools → tools}/impl/TodoTool.ts +0 -0
  128. /package/src/{core/tools → tools}/impl/WebFetchTool.d.ts.map +0 -0
  129. /package/src/{core/tools → tools}/impl/WebFetchTool.ts +0 -0
  130. /package/src/{core/tools → tools}/impl/WebSearchTool.d.ts.map +0 -0
  131. /package/src/{core/tools → tools}/impl/WebSearchTool.ts +0 -0
  132. /package/src/{core/tools → tools}/impl/WriteFileTool.d.ts.map +0 -0
  133. /package/src/{core/tools → tools}/impl/WriteFileTool.ts +0 -0
  134. /package/src/{core/tools → tools}/impl/index.d.ts.map +0 -0
  135. /package/src/{core/tools → tools}/impl/index.ts +0 -0
  136. /package/src/{core/tools → tools}/index.d.ts.map +0 -0
  137. /package/src/{core/tools → tools}/index.ts +0 -0
  138. /package/src/{core/tools → tools}/schemas/execution.d.ts.map +0 -0
  139. /package/src/{core/tools → tools}/schemas/execution.ts +0 -0
  140. /package/src/{core/tools → tools}/schemas/file.d.ts.map +0 -0
  141. /package/src/{core/tools → tools}/schemas/file.ts +0 -0
  142. /package/src/{core/tools → tools}/schemas/index.d.ts.map +0 -0
  143. /package/src/{core/tools → tools}/schemas/index.ts +0 -0
  144. /package/src/{core/tools → tools}/schemas/memory.d.ts.map +0 -0
  145. /package/src/{core/tools → tools}/schemas/memory.ts +0 -0
  146. /package/src/{core/tools → tools}/schemas/orchestration.d.ts.map +0 -0
  147. /package/src/{core/tools → tools}/schemas/orchestration.ts +0 -0
  148. /package/src/{core/tools → tools}/schemas/search.d.ts.map +0 -0
  149. /package/src/{core/tools → tools}/schemas/search.ts +0 -0
  150. /package/src/{core/tools → tools}/schemas/todo.d.ts.map +0 -0
  151. /package/src/{core/tools → tools}/schemas/todo.ts +0 -0
  152. /package/src/{core/tools → tools}/schemas/web.d.ts.map +0 -0
  153. /package/src/{core/tools → tools}/schemas/web.ts +0 -0
  154. /package/src/{core/types → types}/config.d.ts.map +0 -0
  155. /package/src/{core/types → types}/config.ts +0 -0
  156. /package/src/{core/types → types}/errors.d.ts.map +0 -0
  157. /package/src/{core/types → types}/errors.ts +0 -0
  158. /package/src/{core/types → types}/index.d.ts.map +0 -0
  159. /package/src/{core/types → types}/index.ts +0 -0
  160. /package/src/{core/types → types}/session.d.ts.map +0 -0
  161. /package/src/{core/types → types}/session.ts +0 -0
  162. /package/src/{core/types → types}/tools.d.ts.map +0 -0
  163. /package/src/{core/types → types}/tools.ts +0 -0
  164. /package/src/{cli/ui → ui}/SimpleSelector2.ts +0 -0
  165. /package/src/{cli/ui → ui}/components/ConfirmDialog.ts +0 -0
  166. /package/src/{cli/ui → ui}/components/InkAppRunner.tsx +0 -0
  167. /package/src/{cli/ui → ui}/components/InkComponents.tsx +0 -0
  168. /package/src/{cli/ui → ui}/components/NovaInkApp.tsx +0 -0
  169. /package/src/{cli/ui → ui}/components/ProgressBar.ts +0 -0
  170. /package/src/{cli/ui → ui}/components/ProgressIndicator.ts +0 -0
  171. /package/src/{cli/ui → ui}/components/SimpleErrorPanel.ts +0 -0
  172. /package/src/{cli/ui → ui}/components/ThinkingBlockRenderer.ts +0 -0
  173. /package/src/{cli/ui → ui}/components/index.ts +0 -0
  174. /package/src/{cli/ui → ui}/ink-prototype.tsx +0 -0
  175. /package/src/{core/utils → utils}/CheckpointManager.d.ts.map +0 -0
  176. /package/src/{core/utils → utils}/CheckpointManager.ts +0 -0
  177. /package/src/{cli/utils → utils}/CliUI.ts +0 -0
  178. /package/src/{cli/utils → utils}/CompletionHelper.ts +0 -0
  179. /package/src/{cli/utils → utils}/ErrorEnhancer.ts +0 -0
  180. /package/src/{core/utils → utils}/Logger.d.ts.map +0 -0
  181. /package/src/{core/utils → utils}/Logger.ts +0 -0
  182. /package/src/{cli/utils → utils}/OutputFormatter.ts +0 -0
  183. /package/src/{core/utils → utils}/RetryManager.ts +0 -0
  184. /package/src/{core/utils → utils}/TokenCounter.d.ts.map +0 -0
  185. /package/src/{core/utils → utils}/TokenCounter.ts +0 -0
  186. /package/src/{core/utils → utils}/VectorMemoryStore.ts +0 -0
  187. /package/src/{core/utils → utils}/helpers.d.ts.map +0 -0
  188. /package/src/{core/utils → utils}/helpers.ts +0 -0
  189. /package/src/{core/utils → utils}/index.d.ts.map +0 -0
  190. /package/src/{cli/utils → utils}/index.ts +0 -0
package/bin/nova.js CHANGED
@@ -1,7 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // Nova CLI Entry Point
4
- // Uses tsx to run TypeScript directly (handles ESM + cross-package imports)
4
+ // Uses tsx to run TypeScript directly
5
+
6
+ import { register } from 'tsx/esm';
7
+ register();
5
8
 
6
9
  import { NovaApp } from '../src/startup/NovaApp.ts';
7
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nova-terminal-assistant",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Nova CLI - Next-generation AI-powered terminal assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -11,6 +11,9 @@
11
11
  "src/",
12
12
  "README.md"
13
13
  ],
14
+ "scripts": {
15
+ "start": "node --import tsx bin/nova.js"
16
+ },
14
17
  "keywords": [
15
18
  "ai",
16
19
  "cli",
@@ -22,7 +25,6 @@
22
25
  "openai",
23
26
  "ollama"
24
27
  ],
25
- "author": "Nova CLI Team",
26
28
  "license": "MIT",
27
29
  "repository": {
28
30
  "type": "git",
@@ -31,6 +33,9 @@
31
33
  "engines": {
32
34
  "node": ">=18.0.0"
33
35
  },
36
+ "peerDependencies": {
37
+ "tsx": ">=4.0.0"
38
+ },
34
39
  "dependencies": {
35
40
  "@anthropic-ai/sdk": "^0.25.0",
36
41
  "@inquirer/prompts": "^5.3.0",
@@ -56,12 +61,15 @@
56
61
  "zod": "^3.22.0"
57
62
  },
58
63
  "devDependencies": {
64
+ "@types/diff": "^5.0.9",
65
+ "@types/json-schema": "^7.0.15",
66
+ "@types/mime-types": "^2.1.4",
59
67
  "@types/node": "^20.11.0",
60
68
  "@types/react": "^18.2.0",
61
- "tsx": "^4.21.0",
62
- "typescript": "^5.9.3"
63
- },
64
- "peerDependencies": {
65
- "tsx": ">=4.0.0"
69
+ "@types/semver": "^7.5.0",
70
+ "@types/uuid": "^9.0.0",
71
+ "@types/yargs": "^17.0.32",
72
+ "tsx": "^4.7.0",
73
+ "typescript": "^5.3.0"
66
74
  }
67
75
  }
@@ -3,7 +3,7 @@
3
3
  // ============================================================================
4
4
 
5
5
  import chalk from 'chalk';
6
- import type { SessionInfo } from '../core/types/config.js';
6
+ import type { SessionInfo } from './types/config.js';
7
7
 
8
8
  export interface CommandSuggestion {
9
9
  text: string;
@@ -113,7 +113,7 @@ export class ModelValidator {
113
113
 
114
114
  try {
115
115
  // Get all providers from config
116
- const { ConfigManager } = await import('../../../core/src/config/ConfigManager.js');
116
+ const { ConfigManager } = await import('./config/ConfigManager.js');
117
117
  const config = ConfigManager.getInstance ? ConfigManager.getInstance() : new ConfigManager();
118
118
  const providers = Object.keys(config.getConfig().models.providers);
119
119
  } catch (error) {
@@ -3,7 +3,7 @@
3
3
  // ============================================================================
4
4
 
5
5
  import chalk from 'chalk';
6
- import type { SessionInfo, NovaConfig } from '../core/types/config.js';
6
+ import type { SessionInfo, NovaConfig } from './types/config.js';
7
7
  import { IFlowDropdown } from '../ui/IFlowDropdown.js';
8
8
 
9
9
  export interface IFlowReplOptions {
@@ -10,18 +10,18 @@ import { spawn, execSync } from 'node:child_process';
10
10
  import chalk from 'chalk';
11
11
  import React from 'react';
12
12
  import { render } from 'ink';
13
- import type { NovaConfig } from '../core/types/config.js';
14
- import type { SessionId, ApprovalRequest, ApprovalResponse } from '../core/types/session.js';
15
- import type { McpManager, McpServerStatus } from '../core/mcp/McpManager.js';
16
- import type { SkillRegistry, SkillDefinition } from '../core/extensions/SkillRegistry.js';
17
- import type { ConfigManager } from '../core/config/ConfigManager.js';
18
- import type { AuthManager } from '../core/auth/AuthManager.js';
19
- import { AgentLoop } from '../core/session/AgentLoop.js';
20
- import { ModelClient } from '../core/model/ModelClient.js';
21
- import { SessionManager } from '../core/session/SessionManager.js';
22
- import { ToolRegistry } from '../core/tools/ToolRegistry.js';
23
- import { ApprovalManager } from '../core/security/ApprovalManager.js';
24
- import { buildSystemPrompt } from '../core/context/defaultSystemPrompt.js';
13
+ import type { NovaConfig } from './types/config.js';
14
+ import type { SessionId, ApprovalRequest, ApprovalResponse } from './types/session.js';
15
+ import type { McpManager, McpServerStatus } from './mcp/McpManager.js';
16
+ import type { SkillRegistry, SkillDefinition } from './extensions/SkillRegistry.js';
17
+ import type { ConfigManager } from './config/ConfigManager.js';
18
+ import type { AuthManager } from './auth/AuthManager.js';
19
+ import { AgentLoop } from './session/AgentLoop.js';
20
+ import { ModelClient } from './model/ModelClient.js';
21
+ import { SessionManager } from './session/SessionManager.js';
22
+ import { ToolRegistry } from './tools/ToolRegistry.js';
23
+ import { ApprovalManager } from './security/ApprovalManager.js';
24
+ import { buildSystemPrompt } from './context/defaultSystemPrompt.js';
25
25
  import { ThinkingBlockRenderer } from '../ui/components/ThinkingBlockRenderer.js';
26
26
  import { selectModelInteractive, selectSkillInteractive } from '../ui/SimpleSelector2.js';
27
27
 
@@ -10,20 +10,20 @@ import * as path from 'node:path';
10
10
  import * as os from 'node:os';
11
11
  import { execSync, spawn } from 'node:child_process';
12
12
  import chalk from 'chalk';
13
- import type { NovaConfig } from '../core/types/config.js';
14
- import type { SessionId, ApprovalRequest, ApprovalResponse } from '../core/types/session.js';
15
- import { AgentLoop } from '../core/session/AgentLoop.js';
16
- import { ModelClient } from '../core/model/ModelClient.js';
17
- import { SessionManager } from '../core/session/SessionManager.js';
18
- import { ToolRegistry } from '../core/tools/ToolRegistry.js';
19
- import { ApprovalManager } from '../core/security/ApprovalManager.js';
20
- import { buildSystemPrompt } from '../core/context/defaultSystemPrompt.js';
13
+ import type { NovaConfig } from './types/config.js';
14
+ import type { SessionId, ApprovalRequest, ApprovalResponse } from './types/session.js';
15
+ import { AgentLoop } from './session/AgentLoop.js';
16
+ import { ModelClient } from './model/ModelClient.js';
17
+ import { SessionManager } from './session/SessionManager.js';
18
+ import { ToolRegistry } from './tools/ToolRegistry.js';
19
+ import { ApprovalManager } from './security/ApprovalManager.js';
20
+ import { buildSystemPrompt } from './context/defaultSystemPrompt.js';
21
21
  import { ThinkingBlockRenderer } from '../ui/components/ThinkingBlockRenderer.js';
22
- import type { McpManager, McpServerStatus } from '../core/mcp/McpManager.js';
23
- import type { SkillRegistry, SkillDefinition } from '../core/extensions/SkillRegistry.js';
24
- import type { ConfigManager } from '../core/config/ConfigManager.js';
25
- import type { AuthManager } from '../core/auth/AuthManager.js';
26
- import { OllamaManager } from '../core/model/providers/OllamaManager.js';
22
+ import type { McpManager, McpServerStatus } from './mcp/McpManager.js';
23
+ import type { SkillRegistry, SkillDefinition } from './extensions/SkillRegistry.js';
24
+ import type { ConfigManager } from './config/ConfigManager.js';
25
+ import type { AuthManager } from './auth/AuthManager.js';
26
+ import { OllamaManager } from './model/providers/OllamaManager.js';
27
27
  import { CompletionHelper } from '../utils/CompletionHelper.js';
28
28
  import { EnhancedCompleter, type CompletionCandidate } from '../utils/EnhancedCompleter.js';
29
29
 
@@ -2212,7 +2212,7 @@ ${((scan.topLevel as string[]) || []).slice(0, 20).join('\n')}
2212
2212
  }
2213
2213
 
2214
2214
  // Import installer
2215
- const { SkillInstaller, POPULAR_SKILL_REPOS } = await import('../core/extensions/SkillInstaller.js');
2215
+ const { SkillInstaller, POPULAR_SKILL_REPOS } = await import('./extensions/SkillInstaller.js');
2216
2216
  const installer = new SkillInstaller();
2217
2217
 
2218
2218
  // Resolve shorthand
@@ -2421,7 +2421,7 @@ ${((scan.topLevel as string[]) || []).slice(0, 20).join('\n')}
2421
2421
  // ========================================================================
2422
2422
 
2423
2423
  private async handleCheckpointCommand(arg: string): Promise<void> {
2424
- const { CheckpointManager } = await import('../core/utils/CheckpointManager.js');
2424
+ const { CheckpointManager } = await import('./utils/CheckpointManager.js');
2425
2425
  const manager = new CheckpointManager(this.cwd, this.config);
2426
2426
 
2427
2427
  const parts = arg.split(/\s+/).filter(Boolean);
@@ -4,22 +4,22 @@
4
4
 
5
5
  import path from 'node:path';
6
6
  import os from 'node:os';
7
- import { ConfigManager } from '../core/config/ConfigManager.js';
8
- import { AuthManager } from '../core/auth/AuthManager.js';
9
- import { ToolRegistry } from '../core/tools/ToolRegistry.js';
10
- import { SessionManager } from '../core/session/SessionManager.js';
11
- import type { SessionId } from '../core/types/session.js';
12
- import type { ModelConfig } from '../core/types/config.js';
13
- import { AgentLoop } from '../core/session/AgentLoop.js';
14
- import { ModelClient } from '../core/model/ModelClient.js';
15
- import { ModelConnectionTester } from '../core/model/ModelConnectionTester.js';
16
- import { McpManager } from '../core/mcp/McpManager.js';
17
- import { SkillRegistry } from '../core/extensions/SkillRegistry.js';
18
- import { SkillInstaller } from '../core/extensions/SkillInstaller.js';
19
- import { ContextCompressor } from '../core/context/ContextCompressor.js';
20
- import { ApprovalManager } from '../core/security/ApprovalManager.js';
21
- import { HookExecutor } from '../core/security/HookExecutor.js';
22
- import { NovaError, getErrorMessage } from '../core/types/errors.js';
7
+ import { ConfigManager } from './config/ConfigManager.js';
8
+ import { AuthManager } from './auth/AuthManager.js';
9
+ import { ToolRegistry } from './tools/ToolRegistry.js';
10
+ import { SessionManager } from './session/SessionManager.js';
11
+ import type { SessionId } from './types/session.js';
12
+ import type { ModelConfig } from './types/config.js';
13
+ import { AgentLoop } from './session/AgentLoop.js';
14
+ import { ModelClient } from './model/ModelClient.js';
15
+ import { ModelConnectionTester } from './model/ModelConnectionTester.js';
16
+ import { McpManager } from './mcp/McpManager.js';
17
+ import { SkillRegistry } from './extensions/SkillRegistry.js';
18
+ import { SkillInstaller } from './extensions/SkillInstaller.js';
19
+ import { ContextCompressor } from './context/ContextCompressor.js';
20
+ import { ApprovalManager } from './security/ApprovalManager.js';
21
+ import { HookExecutor } from './security/HookExecutor.js';
22
+ import { NovaError, getErrorMessage } from './types/errors.js';
23
23
  import {
24
24
  readFileHandler,
25
25
  writeFileHandler,
@@ -34,7 +34,7 @@ import {
34
34
  memoryWriteHandler,
35
35
  todoHandler,
36
36
  taskHandler,
37
- } from '../core/tools/impl/index.js';
37
+ } from './tools/impl/index.js';
38
38
  import {
39
39
  readFileSchema,
40
40
  writeFileSchema,
@@ -49,10 +49,10 @@ import {
49
49
  memoryWriteSchema,
50
50
  todoSchema,
51
51
  taskSchema,
52
- } from '../core/tools/schemas/index.js';
53
- import type { NovaConfig } from '../core/types/config.js';
54
- import { OllamaManager } from '../core/model/providers/OllamaManager.js';
55
- import { ModelValidator } from '../core/model/ModelValidator.js';
52
+ } from './tools/schemas/index.js';
53
+ import type { NovaConfig } from './types/config.js';
54
+ import { OllamaManager } from './model/providers/OllamaManager.js';
55
+ import { ModelValidator } from './model/ModelValidator.js';
56
56
  import { parseCliArgs } from './parseArgs.js';
57
57
  import { InteractiveRepl } from './InteractiveRepl.js';
58
58
  import { InkBasedRepl } from './InkBasedRepl.js';
@@ -564,7 +564,7 @@ export class NovaApp {
564
564
  streaming: true,
565
565
  });
566
566
 
567
- const { buildSystemPrompt } = await import('../core/context/defaultSystemPrompt.js');
567
+ const { buildSystemPrompt } = await import('./context/defaultSystemPrompt.js');
568
568
  const chalk = await import('chalk');
569
569
  const systemPrompt = buildSystemPrompt({
570
570
  workingDirectory: cwd,
@@ -1017,7 +1017,7 @@ export class NovaApp {
1017
1017
  let defaultModel = args.defaultModel || '';
1018
1018
 
1019
1019
  try {
1020
- const { OpenAICompatibleProvider } = await import('../core/model/providers/OpenAICompatibleProvider.js');
1020
+ const { OpenAICompatibleProvider } = await import('./model/providers/OpenAICompatibleProvider.js');
1021
1021
  const probe = new (class extends OpenAICompatibleProvider {
1022
1022
  constructor() {
1023
1023
  super({ apiKey: key, baseUrl, model: 'probe' });
@@ -1,6 +1,6 @@
1
- import { ContextCompressor } from '../core/context/ContextCompressor.js';
2
- import { LayeredMemoryManager } from '../core/context/LayeredMemoryManager.js';
3
- import { AgentLoop } from '../core/session/AgentLoop.js';
1
+ import { ContextCompressor } from './context/ContextCompressor.js';
2
+ import { LayeredMemoryManager } from './context/LayeredMemoryManager.js';
3
+ import { AgentLoop } from './session/AgentLoop.js';
4
4
 
5
5
  console.log('ContextCompressor:', typeof ContextCompressor);
6
6
  console.log('LayeredMemoryManager:', typeof LayeredMemoryManager);
@@ -3,7 +3,7 @@
3
3
  // ============================================================================
4
4
 
5
5
  import chalk from 'chalk';
6
- import type { SessionInfo } from '../core/types/config.js';
6
+ import type { SessionInfo } from './types/config.js';
7
7
 
8
8
  export interface DropdownItem {
9
9
  id: string;
@@ -3,7 +3,7 @@
3
3
  // ============================================================================
4
4
 
5
5
  import chalk from 'chalk';
6
- import type { SessionInfo, NovaConfig } from '../core/types/config.js';
6
+ import type { SessionInfo, NovaConfig } from './types/config.js';
7
7
 
8
8
  import { StatusBar } from './components/StatusBar.js';
9
9
  import { ProgressIndicator } from './components/ProgressIndicator.js';
@@ -3,7 +3,7 @@
3
3
  // ============================================================================
4
4
 
5
5
  import chalk from 'chalk';
6
- // import type { NovaError } from '../../../core/types/errors.js';
6
+ // import type { NovaError } from '../.././types/errors.js';
7
7
 
8
8
  export interface ErrorPanelOptions {
9
9
  showStack?: boolean;
@@ -3,7 +3,7 @@
3
3
  // ============================================================================
4
4
 
5
5
  import chalk from 'chalk';
6
- import type { SessionInfo } from '../../../../core/types/config.js';
6
+ import type { SessionInfo } from '../.././types/config.js';
7
7
 
8
8
  export interface QuickAction {
9
9
  key: string;
@@ -3,7 +3,7 @@
3
3
  // ============================================================================
4
4
 
5
5
  import chalk from 'chalk';
6
- import type { SessionInfo, NovaConfig } from '../../../../core/types/config.js';
6
+ import type { SessionInfo, NovaConfig } from '../.././types/config.js';
7
7
 
8
8
  export interface StatusBarOptions {
9
9
  showTokens?: boolean;
@@ -4,7 +4,7 @@
4
4
 
5
5
  import { describe, it, expect, beforeEach, vi } from 'vitest';
6
6
  import { EnhancedCompleter } from './EnhancedCompleter.js';
7
- import type { ConfigManager } from '../core/config/ConfigManager.js';
7
+ import type { ConfigManager } from './config/ConfigManager.js';
8
8
 
9
9
  // Mock ConfigManager
10
10
  function createMockConfigManager(): ConfigManager {
@@ -5,7 +5,7 @@
5
5
 
6
6
  import * as fs from 'node:fs';
7
7
  import * as path from 'node:path';
8
- import type { ConfigManager } from '../core/config/ConfigManager.js';
8
+ import type { ConfigManager } from './config/ConfigManager.js';
9
9
 
10
10
  export interface CompletionCandidate {
11
11
  text: string;
package/src/core/index.ts DELETED
@@ -1,42 +0,0 @@
1
- // ============================================================================
2
- // @nova-cli/core - Main barrel export
3
- // ============================================================================
4
-
5
- // Types
6
- export * from './types/index.js';
7
-
8
- // Tools
9
- export * from './tools/index.js';
10
-
11
- // Model
12
- export * from './model/index.js';
13
-
14
- // Session
15
- export * from './session/index.js';
16
-
17
- // Context
18
- export * from './context/index.js';
19
-
20
- // Security
21
- export * from './security/index.js';
22
-
23
- // MCP
24
- export * from './mcp/index.js';
25
-
26
- // Config
27
- export * from './config/index.js';
28
-
29
- // Auth
30
- export * from './auth/index.js';
31
-
32
- // Telemetry
33
- export * from './telemetry/index.js';
34
-
35
- // Utils
36
- export * from './utils/index.js';
37
-
38
- // Agents (Multi-agent orchestration)
39
- export * from './agents/index.js';
40
-
41
- // Audit (Audit logging)
42
- export * from './audit/index.js';
@@ -1,19 +0,0 @@
1
- export { Logger, createLogger } from './Logger.js';
2
- export type { LogEntry } from './Logger.js';
3
- export { CheckpointManager } from './CheckpointManager.js';
4
- export type { Checkpoint, CheckpointFile, CheckpointStats } from './CheckpointManager.js';
5
- export { generateId, sleep, retry, truncate, formatBytes, formatDuration, deepClone, debounce, clamp } from './helpers.js';
6
- export { TokenCounter, tokenCounter, countTokens, countMessagesTokens } from './TokenCounter.js';
7
- export {
8
- withRetry,
9
- createRetryWrapper,
10
- RateLimiter,
11
- withRateLimit,
12
- ConcurrencyLimiter,
13
- createResilientFunction,
14
- createDefaultApiRateLimiter,
15
- createDefaultConcurrencyLimiter,
16
- } from './RetryManager.js';
17
- export type { RetryConfig, RateLimiterConfig } from './RetryManager.js';
18
- export { VectorMemoryStore, createVectorMemoryStore } from './VectorMemoryStore.js';
19
- export type { VectorMemoryEntry, MemoryMatch, VectorMemoryConfig } from './VectorMemoryStore.js';
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes