indusagi-coding-agent 0.1.23 → 0.1.25
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.
- package/CHANGELOG.md +101 -0
- package/README.md +2 -0
- package/dist/cli/args.d.ts +117 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +221 -52
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts +58 -2
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +130 -12
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/file-processor.d.ts +70 -2
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +240 -15
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/list-models.d.ts +63 -3
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +202 -27
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/login-handler.d.ts +82 -8
- package/dist/cli/login-handler.d.ts.map +1 -1
- package/dist/cli/login-handler.js +410 -77
- package/dist/cli/login-handler.js.map +1 -1
- package/dist/cli/session-picker.d.ts +74 -2
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js +236 -12
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/core/agent-session.d.ts +214 -9
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +214 -9
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/bash-executor.d.ts +302 -12
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +302 -12
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/diagnostics.d.ts +191 -0
- package/dist/core/diagnostics.d.ts.map +1 -1
- package/dist/core/diagnostics.js +142 -0
- package/dist/core/diagnostics.js.map +1 -1
- package/dist/core/discover-packages.d.ts +6 -0
- package/dist/core/discover-packages.d.ts.map +1 -0
- package/dist/core/discover-packages.js +62 -0
- package/dist/core/discover-packages.js.map +1 -0
- package/dist/core/event-bus.d.ts +146 -0
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js +93 -0
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/export-html/ansi-to-html.d.ts +4 -0
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
- package/dist/core/export-html/ansi-to-html.js +4 -0
- package/dist/core/export-html/ansi-to-html.js.map +1 -1
- package/dist/core/export-html/index.d.ts +128 -0
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +128 -0
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/tool-renderer.d.ts +4 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js +4 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/keybindings.d.ts +142 -0
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +142 -0
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-registry.d.ts +98 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +98 -1
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +99 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +99 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +2 -0
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +127 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +125 -0
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/skills.js.map +1 -1
- package/dist/core/subagents.js.map +1 -1
- package/dist/core/tools/bash.d.ts +391 -11
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +269 -2
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/bg-process.d.ts +49 -0
- package/dist/core/tools/bg-process.d.ts.map +1 -0
- package/dist/core/tools/bg-process.js +69 -0
- package/dist/core/tools/bg-process.js.map +1 -0
- package/dist/core/tools/edit.d.ts +284 -6
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +238 -0
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/find.d.ts +169 -5
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +136 -0
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts +285 -5
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +247 -0
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts +45 -0
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +15 -0
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/ls.d.ts +6 -0
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +6 -0
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/read.d.ts +308 -7
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +231 -0
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/registry.d.ts +17 -0
- package/dist/core/tools/registry.d.ts.map +1 -0
- package/dist/core/tools/registry.js +108 -0
- package/dist/core/tools/registry.js.map +1 -0
- package/dist/core/tools/webfetch.d.ts +118 -3
- package/dist/core/tools/webfetch.d.ts.map +1 -1
- package/dist/core/tools/webfetch.js +118 -3
- package/dist/core/tools/webfetch.js.map +1 -1
- package/dist/core/tools/websearch.d.ts +130 -3
- package/dist/core/tools/websearch.d.ts.map +1 -1
- package/dist/core/tools/websearch.js +130 -3
- package/dist/core/tools/websearch.js.map +1 -1
- package/dist/core/tools/write.d.ts +251 -5
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +210 -0
- package/dist/core/tools/write.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +12 -1
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +164 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +164 -1
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts +297 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +297 -1
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +251 -1
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts +186 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +186 -1
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1567 -13
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +1567 -13
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts +422 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +422 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/print-mode.d.ts +538 -5
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +538 -5
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +921 -8
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +921 -8
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts +802 -9
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +802 -9
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +356 -3
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js +356 -3
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/modes/shared.d.ts +386 -0
- package/dist/modes/shared.d.ts.map +1 -0
- package/dist/modes/shared.js +543 -0
- package/dist/modes/shared.js.map +1 -0
- package/dist/utils/array.d.ts +389 -0
- package/dist/utils/array.d.ts.map +1 -0
- package/dist/utils/array.js +585 -0
- package/dist/utils/array.js.map +1 -0
- package/dist/utils/color-formatter.d.ts +318 -0
- package/dist/utils/color-formatter.d.ts.map +1 -0
- package/dist/utils/color-formatter.js +442 -0
- package/dist/utils/color-formatter.js.map +1 -0
- package/dist/utils/data-transformer.d.ts +326 -0
- package/dist/utils/data-transformer.d.ts.map +1 -0
- package/dist/utils/data-transformer.js +512 -0
- package/dist/utils/data-transformer.js.map +1 -0
- package/dist/utils/date-formatter.d.ts +281 -0
- package/dist/utils/date-formatter.d.ts.map +1 -0
- package/dist/utils/date-formatter.js +503 -0
- package/dist/utils/date-formatter.js.map +1 -0
- package/dist/utils/error-handler.d.ts +541 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +726 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/file-operations.d.ts +297 -0
- package/dist/utils/file-operations.d.ts.map +1 -0
- package/dist/utils/file-operations.js +505 -0
- package/dist/utils/file-operations.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +268 -6
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +500 -21
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/json-formatter.d.ts +259 -0
- package/dist/utils/json-formatter.d.ts.map +1 -0
- package/dist/utils/json-formatter.js +517 -0
- package/dist/utils/json-formatter.js.map +1 -0
- package/dist/utils/logger.d.ts +176 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +346 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/markdown-formatter.d.ts +211 -0
- package/dist/utils/markdown-formatter.d.ts.map +1 -0
- package/dist/utils/markdown-formatter.js +482 -0
- package/dist/utils/markdown-formatter.js.map +1 -0
- package/dist/utils/path-validator.d.ts +603 -0
- package/dist/utils/path-validator.d.ts.map +1 -0
- package/dist/utils/path-validator.js +870 -0
- package/dist/utils/path-validator.js.map +1 -0
- package/dist/utils/string-formatter.d.ts +609 -0
- package/dist/utils/string-formatter.d.ts.map +1 -0
- package/dist/utils/string-formatter.js +806 -0
- package/dist/utils/string-formatter.js.map +1 -0
- package/dist/utils/type-guards.d.ts +629 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/type-guards.js +662 -0
- package/dist/utils/type-guards.js.map +1 -0
- package/docs/COMPLETE-GUIDE.md +300 -0
- package/docs/COMPREHENSIVE-CLI-SUMMARY.md +900 -0
- package/docs/MODES-ARCHITECTURE.md +565 -0
- package/docs/PRINT-MODE-GUIDE.md +456 -0
- package/docs/RPC-GUIDE.md +705 -0
- package/docs/UTILS-IMPLEMENTATION-SUMMARY.md +647 -0
- package/docs/UTILS-MODULE-OVERVIEW.md +1480 -0
- package/docs/UTILS-QA-CHECKLIST.md +1061 -0
- package/docs/UTILS-USAGE-GUIDE.md +1419 -0
- package/package.json +7 -3
package/dist/cli/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,70 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* TUI
|
|
2
|
+
* Configuration Selector TUI - Interactive configuration management interface
|
|
3
|
+
*
|
|
4
|
+
* Responsibilities:
|
|
5
|
+
* - Present interactive TUI for configuration selection
|
|
6
|
+
* - Allow enabling/disabling of package resources (skills, themes, etc.)
|
|
7
|
+
* - Manage theme initialization and cleanup
|
|
8
|
+
* - Handle user exit and resolution events
|
|
9
|
+
*
|
|
10
|
+
* Based on TUI configuration selection patterns from indusagi
|
|
11
|
+
* Original: https://github.com/varunisrani/indusagi-ts/vendor/indusagi-agent
|
|
12
|
+
*
|
|
13
|
+
* Adapted to:
|
|
14
|
+
* - Improve error handling
|
|
15
|
+
* - Add comprehensive documentation
|
|
16
|
+
* - Enhance UX with theme management
|
|
17
|
+
* - Clean up resources properly on exit
|
|
3
18
|
*/
|
|
4
19
|
import type { ResolvedPaths } from "../core/package-manager.js";
|
|
5
20
|
import type { SettingsManager } from "../core/settings-manager.js";
|
|
21
|
+
/**
|
|
22
|
+
* Options for configuration selector TUI
|
|
23
|
+
*
|
|
24
|
+
* @interface ConfigSelectorOptions
|
|
25
|
+
* @property {ResolvedPaths} resolvedPaths - Resolved paths for packages and resources
|
|
26
|
+
* @property {SettingsManager} settingsManager - Settings manager for reading/saving configuration
|
|
27
|
+
* @property {string} cwd - Current working directory
|
|
28
|
+
* @property {string} agentDir - Agent directory path for session storage
|
|
29
|
+
*/
|
|
6
30
|
export interface ConfigSelectorOptions {
|
|
7
31
|
resolvedPaths: ResolvedPaths;
|
|
8
32
|
settingsManager: SettingsManager;
|
|
9
33
|
cwd: string;
|
|
10
34
|
agentDir: string;
|
|
11
35
|
}
|
|
12
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* Show TUI configuration selector and wait for user to close it
|
|
38
|
+
*
|
|
39
|
+
* This function:
|
|
40
|
+
* 1. Initializes the theme from current settings
|
|
41
|
+
* 2. Creates a TUI instance with a ProcessTerminal
|
|
42
|
+
* 3. Adds the ConfigSelectorComponent as a child
|
|
43
|
+
* 4. Sets focus to the resource list
|
|
44
|
+
* 5. Starts the TUI and waits for resolution
|
|
45
|
+
* 6. Properly cleans up theme watcher on exit
|
|
46
|
+
*
|
|
47
|
+
* The selector presents users with options to:
|
|
48
|
+
* - Enable/disable skills
|
|
49
|
+
* - Enable/disable themes
|
|
50
|
+
* - Enable/disable prompt templates
|
|
51
|
+
* - Enable/disable extensions
|
|
52
|
+
* - Manage package resources
|
|
53
|
+
*
|
|
54
|
+
* @param options - Configuration selector options including paths and settings manager
|
|
55
|
+
* @returns Promise that resolves when the TUI is closed
|
|
56
|
+
*
|
|
57
|
+
* @throws {Error} If theme initialization fails or TUI cannot be created
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* await selectConfig({
|
|
62
|
+
* resolvedPaths: paths,
|
|
63
|
+
* settingsManager: settings,
|
|
64
|
+
* cwd: process.cwd(),
|
|
65
|
+
* agentDir: getAgentDir()
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
13
69
|
export declare function selectConfig(options: ConfigSelectorOptions): Promise<void>;
|
|
14
70
|
//# sourceMappingURL=config-selector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-selector.d.ts","sourceRoot":"","sources":["../../src/cli/config-selector.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config-selector.d.ts","sourceRoot":"","sources":["../../src/cli/config-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAUH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAUnE;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CACjB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuGhF"}
|
|
@@ -1,30 +1,148 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* TUI
|
|
2
|
+
* Configuration Selector TUI - Interactive configuration management interface
|
|
3
|
+
*
|
|
4
|
+
* Responsibilities:
|
|
5
|
+
* - Present interactive TUI for configuration selection
|
|
6
|
+
* - Allow enabling/disabling of package resources (skills, themes, etc.)
|
|
7
|
+
* - Manage theme initialization and cleanup
|
|
8
|
+
* - Handle user exit and resolution events
|
|
9
|
+
*
|
|
10
|
+
* Based on TUI configuration selection patterns from indusagi
|
|
11
|
+
* Original: https://github.com/varunisrani/indusagi-ts/vendor/indusagi-agent
|
|
12
|
+
*
|
|
13
|
+
* Adapted to:
|
|
14
|
+
* - Improve error handling
|
|
15
|
+
* - Add comprehensive documentation
|
|
16
|
+
* - Enhance UX with theme management
|
|
17
|
+
* - Clean up resources properly on exit
|
|
3
18
|
*/
|
|
19
|
+
// ============================================================================
|
|
20
|
+
// IMPORTS
|
|
21
|
+
// ============================================================================
|
|
22
|
+
// External dependencies
|
|
4
23
|
import { ProcessTerminal, TUI } from "indusagi/tui";
|
|
24
|
+
// Local module imports
|
|
5
25
|
import { ConfigSelectorComponent } from "../modes/interactive/components/config-selector.js";
|
|
6
26
|
import { initTheme, stopThemeWatcher } from "../modes/interactive/theme/theme.js";
|
|
7
|
-
|
|
27
|
+
// ============================================================================
|
|
28
|
+
// MAIN FUNCTIONS
|
|
29
|
+
// ============================================================================
|
|
30
|
+
/**
|
|
31
|
+
* Show TUI configuration selector and wait for user to close it
|
|
32
|
+
*
|
|
33
|
+
* This function:
|
|
34
|
+
* 1. Initializes the theme from current settings
|
|
35
|
+
* 2. Creates a TUI instance with a ProcessTerminal
|
|
36
|
+
* 3. Adds the ConfigSelectorComponent as a child
|
|
37
|
+
* 4. Sets focus to the resource list
|
|
38
|
+
* 5. Starts the TUI and waits for resolution
|
|
39
|
+
* 6. Properly cleans up theme watcher on exit
|
|
40
|
+
*
|
|
41
|
+
* The selector presents users with options to:
|
|
42
|
+
* - Enable/disable skills
|
|
43
|
+
* - Enable/disable themes
|
|
44
|
+
* - Enable/disable prompt templates
|
|
45
|
+
* - Enable/disable extensions
|
|
46
|
+
* - Manage package resources
|
|
47
|
+
*
|
|
48
|
+
* @param options - Configuration selector options including paths and settings manager
|
|
49
|
+
* @returns Promise that resolves when the TUI is closed
|
|
50
|
+
*
|
|
51
|
+
* @throws {Error} If theme initialization fails or TUI cannot be created
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* await selectConfig({
|
|
56
|
+
* resolvedPaths: paths,
|
|
57
|
+
* settingsManager: settings,
|
|
58
|
+
* cwd: process.cwd(),
|
|
59
|
+
* agentDir: getAgentDir()
|
|
60
|
+
* });
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
8
63
|
export async function selectConfig(options) {
|
|
9
|
-
//
|
|
64
|
+
// ============================================================================
|
|
65
|
+
// THEME INITIALIZATION
|
|
66
|
+
// ============================================================================
|
|
67
|
+
/**
|
|
68
|
+
* Initialize theme before showing TUI
|
|
69
|
+
* This ensures colors and styles are properly set before any UI rendering
|
|
70
|
+
*/
|
|
10
71
|
initTheme(options.settingsManager.getTheme(), true);
|
|
11
72
|
return new Promise((resolve) => {
|
|
73
|
+
// ============================================================================
|
|
74
|
+
// TUI SETUP
|
|
75
|
+
// ============================================================================
|
|
76
|
+
/**
|
|
77
|
+
* Create TUI instance with ProcessTerminal
|
|
78
|
+
* ProcessTerminal provides terminal I/O abstraction for the TUI framework
|
|
79
|
+
*/
|
|
12
80
|
const ui = new TUI(new ProcessTerminal());
|
|
81
|
+
/**
|
|
82
|
+
* Flag to prevent multiple resolution attempts
|
|
83
|
+
* Ensures cleanup happens exactly once
|
|
84
|
+
*/
|
|
13
85
|
let resolved = false;
|
|
14
|
-
|
|
86
|
+
// ============================================================================
|
|
87
|
+
// CONFIG SELECTOR COMPONENT
|
|
88
|
+
// ============================================================================
|
|
89
|
+
/**
|
|
90
|
+
* Create the configuration selector component
|
|
91
|
+
*
|
|
92
|
+
* The component handles:
|
|
93
|
+
* - Displaying available resources (skills, themes, etc.)
|
|
94
|
+
* - Toggling enabled/disabled state
|
|
95
|
+
* - Saving changes to settings
|
|
96
|
+
*
|
|
97
|
+
* Callbacks:
|
|
98
|
+
* - onResolve: Called when user confirms changes (TUI closes normally)
|
|
99
|
+
* - onExit: Called when user presses Esc (exit without saving)
|
|
100
|
+
* - onRequestRender: Called when component needs re-rendering
|
|
101
|
+
*/
|
|
102
|
+
const selector = new ConfigSelectorComponent(options.resolvedPaths, options.settingsManager, options.cwd, options.agentDir,
|
|
103
|
+
/**
|
|
104
|
+
* Handle successful resolution (save and close)
|
|
105
|
+
* This callback is invoked when user confirms their selections
|
|
106
|
+
*/
|
|
107
|
+
() => {
|
|
15
108
|
if (!resolved) {
|
|
16
109
|
resolved = true;
|
|
17
|
-
ui.stop();
|
|
18
|
-
stopThemeWatcher();
|
|
19
|
-
resolve();
|
|
110
|
+
ui.stop(); // Stop TUI and clean up terminal
|
|
111
|
+
stopThemeWatcher(); // Stop theme change monitoring
|
|
112
|
+
resolve(); // Resolve the promise
|
|
20
113
|
}
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
114
|
+
},
|
|
115
|
+
/**
|
|
116
|
+
* Handle exit (close without saving)
|
|
117
|
+
* This callback is invoked when user presses Esc or similar exit action
|
|
118
|
+
*/
|
|
119
|
+
() => {
|
|
120
|
+
ui.stop(); // Stop TUI and clean up terminal
|
|
121
|
+
stopThemeWatcher(); // Stop theme change monitoring
|
|
122
|
+
process.exit(0); // Exit process without saving changes
|
|
123
|
+
},
|
|
124
|
+
/**
|
|
125
|
+
* Handle render request
|
|
126
|
+
* This callback is invoked when component state changes and needs re-rendering
|
|
127
|
+
*/
|
|
128
|
+
() => ui.requestRender());
|
|
129
|
+
// ============================================================================
|
|
130
|
+
// TUI STARTUP
|
|
131
|
+
// ============================================================================
|
|
132
|
+
/**
|
|
133
|
+
* Add selector as child to TUI
|
|
134
|
+
* This makes it part of the component tree
|
|
135
|
+
*/
|
|
26
136
|
ui.addChild(selector);
|
|
137
|
+
/**
|
|
138
|
+
* Set initial focus to resource list
|
|
139
|
+
* This allows keyboard navigation immediately on startup
|
|
140
|
+
*/
|
|
27
141
|
ui.setFocus(selector.getResourceList());
|
|
142
|
+
/**
|
|
143
|
+
* Start the TUI main loop
|
|
144
|
+
* This begins processing input and rendering updates
|
|
145
|
+
*/
|
|
28
146
|
ui.start();
|
|
29
147
|
});
|
|
30
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-selector.js","sourceRoot":"","sources":["../../src/cli/config-selector.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config-selector.js","sourceRoot":"","sources":["../../src/cli/config-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,wBAAwB;AACxB,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAMpD,uBAAuB;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAsBlF,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA8B;IAChE,+EAA+E;IAC/E,uBAAuB;IACvB,+EAA+E;IAE/E;;;OAGG;IACH,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAEpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,+EAA+E;QAC/E,YAAY;QACZ,+EAA+E;QAE/E;;;WAGG;QACH,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QAE1C;;;WAGG;QACH,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,+EAA+E;QAC/E,4BAA4B;QAC5B,+EAA+E;QAE/E;;;;;;;;;;;;WAYG;QACH,MAAM,QAAQ,GAAG,IAAI,uBAAuB,CAC3C,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,QAAQ;QAEhB;;;WAGG;QACH,GAAG,EAAE;YACJ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,QAAQ,GAAG,IAAI,CAAC;gBAChB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,iCAAiC;gBAC5C,gBAAgB,EAAE,CAAC,CAAC,+BAA+B;gBACnD,OAAO,EAAE,CAAC,CAAC,sBAAsB;YAClC,CAAC;QACF,CAAC;QAED;;;WAGG;QACH,GAAG,EAAE;YACJ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,iCAAiC;YAC5C,gBAAgB,EAAE,CAAC,CAAC,+BAA+B;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,sCAAsC;QACxD,CAAC;QAED;;;WAGG;QACH,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CACxB,CAAC;QAEF,+EAA+E;QAC/E,cAAc;QACd,+EAA+E;QAE/E;;;WAGG;QACH,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEtB;;;WAGG;QACH,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;QAExC;;;WAGG;QACH,EAAE,CAAC,KAAK,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,15 +1,83 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* File Processor - Handle @file CLI arguments into text content and image attachments
|
|
3
|
+
*
|
|
4
|
+
* Responsibilities:
|
|
5
|
+
* - Parse @file arguments from CLI
|
|
6
|
+
* - Validate file existence and accessibility
|
|
7
|
+
* - Read text files and format for AI context
|
|
8
|
+
* - Process image files with optional resizing
|
|
9
|
+
* - Handle empty files gracefully
|
|
10
|
+
* - Provide clear error messages for file access issues
|
|
11
|
+
*
|
|
12
|
+
* Based on file handling patterns from indusagi-agent
|
|
13
|
+
* Original: https://github.com/varunisrani/indusagi-ts/vendor/indusagi-agent
|
|
14
|
+
*
|
|
15
|
+
* Adapted to:
|
|
16
|
+
* - Improve error messages
|
|
17
|
+
* - Add comprehensive documentation
|
|
18
|
+
* - Add file type validation
|
|
19
|
+
* - Add file size limit checks
|
|
20
|
+
* - Enhance security by validating file paths
|
|
3
21
|
*/
|
|
4
22
|
import type { ImageContent } from "indusagi/ai";
|
|
23
|
+
/**
|
|
24
|
+
* Result of processing file arguments
|
|
25
|
+
*
|
|
26
|
+
* @interface ProcessedFiles
|
|
27
|
+
* @property {string} text - Formatted text content with <file> tags
|
|
28
|
+
* @property {ImageContent[]} images - Array of image attachments
|
|
29
|
+
*/
|
|
5
30
|
export interface ProcessedFiles {
|
|
6
31
|
text: string;
|
|
7
32
|
images: ImageContent[];
|
|
8
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Options for file processing
|
|
36
|
+
*
|
|
37
|
+
* @interface ProcessFileOptions
|
|
38
|
+
* @property {boolean} [autoResizeImages=true] - Whether to auto-resize images to 2000x2000 max
|
|
39
|
+
*/
|
|
9
40
|
export interface ProcessFileOptions {
|
|
10
41
|
/** Whether to auto-resize images to 2000x2000 max. Default: true */
|
|
11
42
|
autoResizeImages?: boolean;
|
|
12
43
|
}
|
|
13
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* File processing error with helpful suggestions
|
|
46
|
+
*
|
|
47
|
+
* @class FileProcessError
|
|
48
|
+
* @extends {Error}
|
|
49
|
+
*/
|
|
50
|
+
export declare class FileProcessError extends Error {
|
|
51
|
+
readonly code: string;
|
|
52
|
+
readonly suggestion?: string | undefined;
|
|
53
|
+
constructor(message: string, code: string, suggestion?: string | undefined);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Process @file arguments into text content and image attachments
|
|
57
|
+
*
|
|
58
|
+
* This function:
|
|
59
|
+
* 1. Resolves and validates each file path
|
|
60
|
+
* 2. Checks file existence and accessibility
|
|
61
|
+
* 3. Skips empty files
|
|
62
|
+
* 4. Detects file type (text or image)
|
|
63
|
+
* 5. Reads and formats text files with <file> tags
|
|
64
|
+
* 6. Processes images with optional resizing
|
|
65
|
+
* 7. Validates file sizes
|
|
66
|
+
*
|
|
67
|
+
* @param fileArgs - Array of file argument strings (from @file syntax)
|
|
68
|
+
* @param options - Processing options including image resize behavior
|
|
69
|
+
* @returns ProcessedFiles object with formatted text and image attachments
|
|
70
|
+
*
|
|
71
|
+
* @throws {FileProcessError} If file not found, cannot be read, or exceeds size limit
|
|
72
|
+
* @throws {Error} If image processing fails
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* const result = await processFileArguments(["prompt.md", "image.png"], {
|
|
77
|
+
* autoResizeImages: true
|
|
78
|
+
* });
|
|
79
|
+
* // Returns: { text: "<file name=\"...\">...</file>\n...", images: [...] }
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
14
82
|
export declare function processFileArguments(fileArgs: string[], options?: ProcessFileOptions): Promise<ProcessedFiles>;
|
|
15
83
|
//# sourceMappingURL=file-processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-processor.d.ts","sourceRoot":"","sources":["../../src/cli/file-processor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"file-processor.d.ts","sourceRoot":"","sources":["../../src/cli/file-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAWH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA8DhD;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAClC,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;aAGzB,IAAI,EAAE,MAAM;aACZ,UAAU,CAAC,EAAE,MAAM;gBAFnC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,YAAA;CAKpC;AAsDD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,oBAAoB,CACzC,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAsKzB"}
|