indusagi-coding-agent 0.1.38 → 0.1.40
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 +22 -7
- package/{LICENSE.md → LICENSE} +0 -1
- package/README.md +2 -4
- package/dist/cli/args.d.ts +6 -128
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +277 -472
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts +9 -62
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +31 -146
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/file-processor.d.ts +1 -69
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +36 -267
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/list-models.d.ts +0 -60
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +53 -246
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/session-picker.d.ts +1 -72
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js +57 -231
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli.js +25 -31
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +0 -42
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +62 -97
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts +26 -2
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +78 -66
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts +4 -95
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +233 -288
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts +0 -323
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +126 -359
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts +3 -3
- package/dist/core/compaction/branch-summarization.js +16 -16
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +3 -3
- package/dist/core/compaction/compaction.js +40 -40
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/index.d.ts +32 -4
- package/dist/core/compaction/index.d.ts.map +1 -1
- package/dist/core/compaction/index.js +30 -4
- package/dist/core/compaction/index.js.map +1 -1
- package/dist/core/compaction/utils.d.ts +1 -19
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js +92 -113
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/discover-packages.d.ts +0 -4
- package/dist/core/discover-packages.d.ts.map +1 -1
- package/dist/core/discover-packages.js +41 -44
- package/dist/core/discover-packages.js.map +1 -1
- package/dist/core/event-bus.d.ts +1 -147
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js +17 -106
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/exec.d.ts +0 -16
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js +18 -27
- package/dist/core/exec.js.map +1 -1
- package/dist/core/export-html/ansi-to-html.ts +262 -0
- package/dist/core/export-html/index.ts +433 -0
- package/dist/core/export-html/template.html +48 -26
- package/dist/core/export-html/tool-renderer.d.ts +0 -21
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js +35 -51
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/export-html/tool-renderer.ts +80 -0
- package/dist/core/export-html/vendor/highlight.min.js +401 -370
- package/dist/core/export-html/vendor/marked.min.js +71 -3
- package/dist/core/extensions/index.d.ts +7 -4
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js +17 -3
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +0 -6
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +60 -56
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +3 -0
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +48 -80
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +50 -23
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/footer-data-provider.d.ts +2 -15
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +21 -33
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/hooks/loader.js +2 -2
- package/dist/core/hooks/loader.js.map +1 -1
- package/dist/core/index.d.ts +29 -10
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +29 -10
- package/dist/core/index.js.map +1 -1
- package/dist/core/keybindings.d.ts +2 -179
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +64 -238
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-registry.d.ts +26 -181
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +228 -407
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +0 -139
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +34 -215
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/package-manager.d.ts +25 -57
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +326 -964
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/prompt-templates.d.ts +2 -34
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +122 -170
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/resource-loader.d.ts +19 -12
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +353 -467
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +2 -61
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +184 -252
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +447 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +1176 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +9 -12
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +170 -398
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts +2 -27
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +149 -212
- package/dist/core/skills.js.map +1 -1
- package/dist/core/subagents.d.ts +2 -2
- package/dist/core/subagents.d.ts.map +1 -1
- package/dist/core/subagents.js +21 -14
- package/dist/core/subagents.js.map +1 -1
- package/dist/core/system-prompt.d.ts +0 -11
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +168 -139
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/timings.d.ts +1 -4
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js +34 -18
- package/dist/core/timings.js.map +1 -1
- package/dist/core/todo-store.d.ts +20 -0
- package/dist/core/todo-store.d.ts.map +1 -0
- package/dist/core/todo-store.js +60 -0
- package/dist/core/todo-store.js.map +1 -0
- package/dist/core/tools/bash.d.ts +2 -0
- package/dist/core/tools/bash.d.ts.map +1 -0
- package/dist/core/tools/bash.js +2 -0
- package/dist/core/tools/bash.js.map +1 -0
- package/dist/core/tools/bg-process.d.ts +1 -6
- package/dist/core/tools/bg-process.d.ts.map +1 -1
- package/dist/core/tools/bg-process.js +4 -18
- package/dist/core/tools/bg-process.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts +9 -0
- package/dist/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/core/tools/edit-diff.js +2 -0
- package/dist/core/tools/edit-diff.js.map +1 -0
- package/dist/core/tools/edit.d.ts +2 -0
- package/dist/core/tools/edit.d.ts.map +1 -0
- package/dist/core/tools/edit.js +2 -0
- package/dist/core/tools/edit.js.map +1 -0
- package/dist/core/tools/find.d.ts +2 -0
- package/dist/core/tools/find.d.ts.map +1 -0
- package/dist/core/tools/find.js +2 -0
- package/dist/core/tools/find.js.map +1 -0
- package/dist/core/tools/grep.d.ts +2 -0
- package/dist/core/tools/grep.d.ts.map +1 -0
- package/dist/core/tools/grep.js +2 -0
- package/dist/core/tools/grep.js.map +1 -0
- package/dist/core/tools/index.d.ts +8 -2
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/ls.d.ts +2 -0
- package/dist/core/tools/ls.d.ts.map +1 -0
- package/dist/core/tools/ls.js +2 -0
- package/dist/core/tools/ls.js.map +1 -0
- package/dist/core/tools/memory.d.ts +50 -1
- package/dist/core/tools/memory.d.ts.map +1 -1
- package/dist/core/tools/memory.js +11 -7
- package/dist/core/tools/memory.js.map +1 -1
- package/dist/core/tools/path-utils.d.ts +2 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -0
- package/dist/core/tools/path-utils.js +2 -0
- package/dist/core/tools/path-utils.js.map +1 -0
- package/dist/core/tools/read.d.ts +2 -0
- package/dist/core/tools/read.d.ts.map +1 -0
- package/dist/core/tools/read.js +2 -0
- package/dist/core/tools/read.js.map +1 -0
- package/dist/core/tools/registry.d.ts +0 -15
- package/dist/core/tools/registry.d.ts.map +1 -1
- package/dist/core/tools/registry.js +13 -37
- package/dist/core/tools/registry.js.map +1 -1
- package/dist/core/tools/task.d.ts +17 -23
- package/dist/core/tools/task.d.ts.map +1 -1
- package/dist/core/tools/task.js +43 -82
- package/dist/core/tools/task.js.map +1 -1
- package/dist/core/tools/todo.d.ts +17 -20
- package/dist/core/tools/todo.d.ts.map +1 -1
- package/dist/core/tools/todo.js +79 -58
- package/dist/core/tools/todo.js.map +1 -1
- package/dist/core/tools/truncate.d.ts +2 -0
- package/dist/core/tools/truncate.d.ts.map +1 -0
- package/dist/core/tools/truncate.js +2 -0
- package/dist/core/tools/truncate.js.map +1 -0
- package/dist/core/tools/webfetch.d.ts +2 -0
- package/dist/core/tools/webfetch.d.ts.map +1 -0
- package/dist/core/tools/webfetch.js +2 -0
- package/dist/core/tools/webfetch.js.map +1 -0
- package/dist/core/tools/websearch.d.ts +2 -0
- package/dist/core/tools/websearch.d.ts.map +1 -0
- package/dist/core/tools/websearch.js +2 -0
- package/dist/core/tools/websearch.js.map +1 -0
- package/dist/core/tools/write.d.ts +2 -0
- package/dist/core/tools/write.d.ts.map +1 -0
- package/dist/core/tools/write.js +2 -0
- package/dist/core/tools/write.js.map +1 -0
- package/dist/index.d.ts +35 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -41
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +237 -225
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts +0 -25
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +129 -180
- package/dist/migrations.js.map +1 -1
- package/dist/modes/index.d.ts +13 -6
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js +11 -5
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/interactive/components/armin.d.ts +8 -23
- package/dist/modes/interactive/components/armin.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.js +217 -266
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +2 -168
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +61 -216
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts +6 -313
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +86 -403
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts +1 -3
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js +59 -29
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts +3 -3
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +30 -17
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +3 -3
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +35 -18
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +60 -68
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.d.ts +2 -6
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.js +32 -18
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts +1 -5
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +45 -37
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts +5 -6
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +43 -53
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/diff.d.ts +0 -3
- package/dist/modes/interactive/components/diff.d.ts.map +1 -1
- package/dist/modes/interactive/components/diff.js +101 -108
- package/dist/modes/interactive/components/diff.js.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.d.ts +7 -2
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.js +24 -4
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts +5 -9
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +43 -46
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts +4 -9
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js +45 -28
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts +7 -12
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js +54 -32
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +2 -11
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +135 -183
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +79 -30
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js +73 -31
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts +0 -18
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js +24 -31
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +11 -24
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +89 -86
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +15 -19
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +104 -157
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +5 -5
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +12 -22
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +111 -132
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.d.ts +3 -3
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.js +92 -103
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +28 -39
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +111 -203
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js +17 -19
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +3 -3
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +29 -19
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/theme-selector.d.ts +2 -2
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js +20 -25
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +19 -20
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +12 -10
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +14 -8
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +53 -60
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts +3 -9
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +57 -68
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.d.ts +0 -12
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.js +14 -22
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +6 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +118 -113
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +189 -39
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +8 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +88 -59
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +24 -46
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +75 -409
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js +21 -360
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/observability/core/config.d.ts +28 -0
- package/dist/observability/core/config.d.ts.map +1 -0
- package/dist/observability/core/config.js +150 -0
- package/dist/observability/core/config.js.map +1 -0
- package/dist/observability/core/event-bus.d.ts +15 -0
- package/dist/observability/core/event-bus.d.ts.map +1 -0
- package/dist/observability/core/event-bus.js +37 -0
- package/dist/observability/core/event-bus.js.map +1 -0
- package/dist/observability/core/index.d.ts +12 -0
- package/dist/observability/core/index.d.ts.map +1 -0
- package/dist/observability/core/index.js +14 -0
- package/dist/observability/core/index.js.map +1 -0
- package/dist/observability/core/observability.d.ts +63 -0
- package/dist/observability/core/observability.d.ts.map +1 -0
- package/dist/observability/core/observability.js +127 -0
- package/dist/observability/core/observability.js.map +1 -0
- package/dist/observability/core/span.d.ts +37 -0
- package/dist/observability/core/span.d.ts.map +1 -0
- package/dist/observability/core/span.js +90 -0
- package/dist/observability/core/span.js.map +1 -0
- package/dist/observability/core/tracer.d.ts +22 -0
- package/dist/observability/core/tracer.d.ts.map +1 -0
- package/dist/observability/core/tracer.js +79 -0
- package/dist/observability/core/tracer.js.map +1 -0
- package/dist/observability/core/types.d.ts +155 -0
- package/dist/observability/core/types.d.ts.map +1 -0
- package/dist/observability/core/types.js +38 -0
- package/dist/observability/core/types.js.map +1 -0
- package/dist/observability/exporters/base-exporter.d.ts +16 -0
- package/dist/observability/exporters/base-exporter.d.ts.map +1 -0
- package/dist/observability/exporters/base-exporter.js +26 -0
- package/dist/observability/exporters/base-exporter.js.map +1 -0
- package/dist/observability/exporters/console-exporter.d.ts +22 -0
- package/dist/observability/exporters/console-exporter.d.ts.map +1 -0
- package/dist/observability/exporters/console-exporter.js +80 -0
- package/dist/observability/exporters/console-exporter.js.map +1 -0
- package/dist/observability/exporters/file-exporter.d.ts +31 -0
- package/dist/observability/exporters/file-exporter.d.ts.map +1 -0
- package/dist/observability/exporters/file-exporter.js +120 -0
- package/dist/observability/exporters/file-exporter.js.map +1 -0
- package/dist/observability/exporters/index.d.ts +12 -0
- package/dist/observability/exporters/index.d.ts.map +1 -0
- package/dist/observability/exporters/index.js +11 -0
- package/dist/observability/exporters/index.js.map +1 -0
- package/dist/observability/exporters/langfuse-exporter.d.ts +27 -0
- package/dist/observability/exporters/langfuse-exporter.d.ts.map +1 -0
- package/dist/observability/exporters/langfuse-exporter.js +146 -0
- package/dist/observability/exporters/langfuse-exporter.js.map +1 -0
- package/dist/observability/exporters/sentry-exporter.d.ts +22 -0
- package/dist/observability/exporters/sentry-exporter.d.ts.map +1 -0
- package/dist/observability/exporters/sentry-exporter.js +121 -0
- package/dist/observability/exporters/sentry-exporter.js.map +1 -0
- package/dist/observability/index.d.ts +3 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +3 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/utils/changelog.d.ts +1 -2
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js +53 -61
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js +77 -83
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +62 -49
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/image-convert.d.ts +6 -6
- package/dist/utils/image-convert.d.ts.map +1 -1
- package/dist/utils/image-convert.js +29 -23
- package/dist/utils/image-convert.js.map +1 -1
- package/dist/utils/image-resize.d.ts +0 -17
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js +100 -138
- package/dist/utils/image-resize.js.map +1 -1
- package/dist/utils/mime.d.ts +1 -0
- package/dist/utils/mime.d.ts.map +1 -1
- package/dist/utils/mime.js +35 -15
- package/dist/utils/mime.js.map +1 -1
- package/dist/utils/photon.d.ts +4 -15
- package/dist/utils/photon.d.ts.map +1 -1
- package/dist/utils/photon.js +71 -60
- package/dist/utils/photon.js.map +1 -1
- package/dist/utils/shell.d.ts +4 -21
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +101 -124
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/sleep.d.ts +1 -1
- package/dist/utils/sleep.d.ts.map +1 -1
- package/dist/utils/sleep.js +32 -8
- package/dist/utils/sleep.js.map +1 -1
- package/dist/utils/tools-manager.d.ts +4 -2
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +96 -122
- package/dist/utils/tools-manager.js.map +1 -1
- package/docs/PI_MONO_MIT_REMOVAL_GUIDE.md +2132 -0
- package/docs/SAME_TO_SAME_PARITY_REPORT.md +312 -0
- package/examples/README.md +12 -0
- package/package.json +62 -88
- package/dist/modes/interactive/theme/dark.json +0 -85
- package/dist/modes/interactive/theme/light.json +0 -84
- package/dist/modes/interactive/theme/theme-schema.json +0 -335
- package/docs/FEATURES.md +0 -306
- package/docs/MCP.md +0 -341
- package/docs/MEMORY.md +0 -443
- package/examples/mcp-servers.example.json +0 -50
|
@@ -1,89 +1,20 @@
|
|
|
1
|
-
/**
|
|
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
|
|
21
|
-
*/
|
|
22
|
-
// ============================================================================
|
|
23
|
-
// IMPORTS
|
|
24
|
-
// ============================================================================
|
|
25
|
-
// Built-in modules
|
|
26
1
|
import { access, readFile, stat } from "node:fs/promises";
|
|
27
|
-
import { resolve } from "path";
|
|
28
|
-
import chalk from "chalk";
|
|
29
|
-
// Local module imports
|
|
2
|
+
import { extname, resolve } from "node:path";
|
|
30
3
|
import { resolveReadPath } from "indusagi/agent";
|
|
31
|
-
import { formatDimensionNote, resizeImage } from "../utils/image-resize.js";
|
|
32
|
-
import { detectSupportedImageMimeTypeFromFile } from "../utils/mime.js";
|
|
33
|
-
// ============================================================================
|
|
34
|
-
// CONSTANTS
|
|
35
|
-
// ============================================================================
|
|
36
|
-
/** Maximum file size for text files in bytes (10MB) */
|
|
37
4
|
const MAX_TEXT_FILE_SIZE = 10 * 1024 * 1024;
|
|
38
|
-
/** Maximum file size for images in bytes (20MB) */
|
|
39
5
|
const MAX_IMAGE_FILE_SIZE = 20 * 1024 * 1024;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
".
|
|
43
|
-
".
|
|
44
|
-
".ts",
|
|
45
|
-
".tsx",
|
|
46
|
-
".js",
|
|
47
|
-
".jsx",
|
|
48
|
-
".json",
|
|
49
|
-
".yaml",
|
|
50
|
-
".yml",
|
|
51
|
-
".xml",
|
|
52
|
-
".html",
|
|
53
|
-
".css",
|
|
54
|
-
".py",
|
|
55
|
-
".rs",
|
|
56
|
-
".go",
|
|
57
|
-
".java",
|
|
58
|
-
".c",
|
|
59
|
-
".cpp",
|
|
60
|
-
".h",
|
|
61
|
-
".hpp",
|
|
62
|
-
".sh",
|
|
63
|
-
".bash",
|
|
64
|
-
".zsh",
|
|
65
|
-
".fish",
|
|
66
|
-
".ps1",
|
|
67
|
-
".sql",
|
|
68
|
-
".graphql",
|
|
69
|
-
".gql",
|
|
6
|
+
const TEXT_EXTENSIONS = new Set([
|
|
7
|
+
".txt", ".md", ".ts", ".tsx", ".js", ".jsx", ".json", ".yaml", ".yml", ".xml", ".html", ".css",
|
|
8
|
+
".py", ".rs", ".go", ".java", ".c", ".cpp", ".h", ".hpp", ".sh", ".bash", ".zsh", ".fish", ".ps1",
|
|
9
|
+
".sql", ".graphql", ".gql",
|
|
70
10
|
]);
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
"image/jpeg",
|
|
74
|
-
"image/png",
|
|
75
|
-
"image/gif",
|
|
76
|
-
"image/webp",
|
|
77
|
-
|
|
78
|
-
// ============================================================================
|
|
79
|
-
// CUSTOM ERROR CLASSES
|
|
80
|
-
// ============================================================================
|
|
81
|
-
/**
|
|
82
|
-
* File processing error with helpful suggestions
|
|
83
|
-
*
|
|
84
|
-
* @class FileProcessError
|
|
85
|
-
* @extends {Error}
|
|
86
|
-
*/
|
|
11
|
+
const IMAGE_MIME_BY_EXT = {
|
|
12
|
+
".jpg": "image/jpeg",
|
|
13
|
+
".jpeg": "image/jpeg",
|
|
14
|
+
".png": "image/png",
|
|
15
|
+
".gif": "image/gif",
|
|
16
|
+
".webp": "image/webp",
|
|
17
|
+
};
|
|
87
18
|
export class FileProcessError extends Error {
|
|
88
19
|
constructor(message, code, suggestion) {
|
|
89
20
|
super(message);
|
|
@@ -92,213 +23,51 @@ export class FileProcessError extends Error {
|
|
|
92
23
|
this.name = "FileProcessError";
|
|
93
24
|
}
|
|
94
25
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
// ============================================================================
|
|
98
|
-
/**
|
|
99
|
-
* Validate file extension against supported text files
|
|
100
|
-
*
|
|
101
|
-
* @param filePath - Path to the file
|
|
102
|
-
* @returns True if file has a supported text extension
|
|
103
|
-
*/
|
|
104
|
-
function isSupportedTextFile(filePath) {
|
|
105
|
-
const ext = filePath.toLowerCase().slice(filePath.lastIndexOf("."));
|
|
106
|
-
return SUPPORTED_TEXT_EXTENSIONS.has(ext);
|
|
26
|
+
function isTextFile(filePath) {
|
|
27
|
+
return TEXT_EXTENSIONS.has(extname(filePath).toLowerCase());
|
|
107
28
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
*
|
|
111
|
-
* @param mimeType - The MIME type to check
|
|
112
|
-
* @returns True if MIME type is in supported image types
|
|
113
|
-
*/
|
|
114
|
-
function isSupportedImageMimeType(mimeType) {
|
|
115
|
-
return SUPPORTED_IMAGE_MIME_TYPES.has(mimeType);
|
|
29
|
+
function detectImageMimeType(filePath) {
|
|
30
|
+
return IMAGE_MIME_BY_EXT[extname(filePath).toLowerCase()];
|
|
116
31
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Validate file size against limits
|
|
119
|
-
*
|
|
120
|
-
* @param filePath - Path to the file (for error messages)
|
|
121
|
-
* @param size - File size in bytes
|
|
122
|
-
* @param mimeType - Optional MIME type for determining which limit to apply
|
|
123
|
-
* @throws {FileProcessError} If file size exceeds limit
|
|
124
|
-
*/
|
|
125
32
|
function validateFileSize(filePath, size, mimeType) {
|
|
126
|
-
const maxSize = mimeType
|
|
127
|
-
? MAX_IMAGE_FILE_SIZE
|
|
128
|
-
: MAX_TEXT_FILE_SIZE;
|
|
33
|
+
const maxSize = mimeType ? MAX_IMAGE_FILE_SIZE : MAX_TEXT_FILE_SIZE;
|
|
129
34
|
if (size > maxSize) {
|
|
130
|
-
const
|
|
131
|
-
|
|
35
|
+
const actualMb = (size / (1024 * 1024)).toFixed(1);
|
|
36
|
+
const maxMb = (maxSize / (1024 * 1024)).toFixed(1);
|
|
37
|
+
throw new FileProcessError(`File too large: ${filePath} (${actualMb}MB, max ${maxMb}MB)`, "FILE_TOO_LARGE", "Split the file or reduce its size before retrying.");
|
|
132
38
|
}
|
|
133
39
|
}
|
|
134
|
-
|
|
135
|
-
// MAIN PROCESSING FUNCTIONS
|
|
136
|
-
// ============================================================================
|
|
137
|
-
/**
|
|
138
|
-
* Process @file arguments into text content and image attachments
|
|
139
|
-
*
|
|
140
|
-
* This function:
|
|
141
|
-
* 1. Resolves and validates each file path
|
|
142
|
-
* 2. Checks file existence and accessibility
|
|
143
|
-
* 3. Skips empty files
|
|
144
|
-
* 4. Detects file type (text or image)
|
|
145
|
-
* 5. Reads and formats text files with <file> tags
|
|
146
|
-
* 6. Processes images with optional resizing
|
|
147
|
-
* 7. Validates file sizes
|
|
148
|
-
*
|
|
149
|
-
* @param fileArgs - Array of file argument strings (from @file syntax)
|
|
150
|
-
* @param options - Processing options including image resize behavior
|
|
151
|
-
* @returns ProcessedFiles object with formatted text and image attachments
|
|
152
|
-
*
|
|
153
|
-
* @throws {FileProcessError} If file not found, cannot be read, or exceeds size limit
|
|
154
|
-
* @throws {Error} If image processing fails
|
|
155
|
-
*
|
|
156
|
-
* @example
|
|
157
|
-
* ```typescript
|
|
158
|
-
* const result = await processFileArguments(["prompt.md", "image.png"], {
|
|
159
|
-
* autoResizeImages: true
|
|
160
|
-
* });
|
|
161
|
-
* // Returns: { text: "<file name=\"...\">...</file>\n...", images: [...] }
|
|
162
|
-
* ```
|
|
163
|
-
*/
|
|
164
|
-
export async function processFileArguments(fileArgs, options) {
|
|
165
|
-
const autoResizeImages = options?.autoResizeImages ?? true;
|
|
40
|
+
export async function processFileArguments(fileArgs, _options) {
|
|
166
41
|
let text = "";
|
|
167
42
|
const images = [];
|
|
168
43
|
for (const fileArg of fileArgs) {
|
|
169
|
-
// ========================================================================
|
|
170
|
-
// PATH RESOLUTION AND VALIDATION
|
|
171
|
-
// ========================================================================
|
|
172
|
-
/**
|
|
173
|
-
* Expand and resolve path
|
|
174
|
-
* Handles:
|
|
175
|
-
* - ~ expansion to home directory
|
|
176
|
-
* - macOS screenshot Unicode spaces
|
|
177
|
-
* - Relative to absolute path conversion
|
|
178
|
-
*/
|
|
179
44
|
const absolutePath = resolve(resolveReadPath(fileArg, process.cwd()));
|
|
180
|
-
/**
|
|
181
|
-
* Check if file exists
|
|
182
|
-
* Fails early with clear error message if file doesn't exist
|
|
183
|
-
*/
|
|
184
45
|
try {
|
|
185
46
|
await access(absolutePath);
|
|
186
47
|
}
|
|
187
48
|
catch {
|
|
188
|
-
throw new FileProcessError(`File not found: ${absolutePath}`, "FILE_NOT_FOUND", `Check that the file exists: ls -la "${absolutePath}"`);
|
|
49
|
+
throw new FileProcessError(`File not found: ${absolutePath}`, "FILE_NOT_FOUND", `Check that the file exists: ls -la \"${absolutePath}\"`);
|
|
189
50
|
}
|
|
190
|
-
// ========================================================================
|
|
191
|
-
// FILE STATS AND VALIDATION
|
|
192
|
-
// ========================================================================
|
|
193
|
-
/**
|
|
194
|
-
* Get file statistics
|
|
195
|
-
* Used to check file size and detect empty files
|
|
196
|
-
*/
|
|
197
51
|
const stats = await stat(absolutePath);
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
*/
|
|
52
|
+
if (!stats.isFile()) {
|
|
53
|
+
throw new FileProcessError(`Not a file: ${absolutePath}`, "NOT_A_FILE");
|
|
54
|
+
}
|
|
202
55
|
if (stats.size === 0) {
|
|
203
|
-
console.warn(chalk.yellow(`Warning: Skipping empty file: ${absolutePath}`));
|
|
204
56
|
continue;
|
|
205
57
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
*/
|
|
213
|
-
const mimeType = await detectSupportedImageMimeTypeFromFile(absolutePath);
|
|
214
|
-
// ========================================================================
|
|
215
|
-
// FILE SIZE VALIDATION
|
|
216
|
-
// ========================================================================
|
|
217
|
-
/**
|
|
218
|
-
* Validate file size before processing
|
|
219
|
-
* Prevents loading excessively large files into memory
|
|
220
|
-
*/
|
|
221
|
-
validateFileSize(absolutePath, stats.size, mimeType ?? undefined);
|
|
222
|
-
// ========================================================================
|
|
223
|
-
// IMAGE FILE PROCESSING
|
|
224
|
-
// ========================================================================
|
|
225
|
-
if (mimeType && isSupportedImageMimeType(mimeType)) {
|
|
226
|
-
/**
|
|
227
|
-
* Read image file contents
|
|
228
|
-
*/
|
|
229
|
-
const content = await readFile(absolutePath);
|
|
230
|
-
const base64Content = content.toString("base64");
|
|
231
|
-
let attachment;
|
|
232
|
-
let dimensionNote;
|
|
233
|
-
/**
|
|
234
|
-
* Optionally resize image
|
|
235
|
-
* Resizes to max 2000x2000 while maintaining aspect ratio
|
|
236
|
-
* This reduces token usage and improves performance
|
|
237
|
-
*/
|
|
238
|
-
if (autoResizeImages) {
|
|
239
|
-
const resized = await resizeImage({ type: "image", data: base64Content, mimeType });
|
|
240
|
-
dimensionNote = formatDimensionNote(resized);
|
|
241
|
-
attachment = {
|
|
242
|
-
type: "image",
|
|
243
|
-
mimeType: resized.mimeType,
|
|
244
|
-
data: resized.data,
|
|
245
|
-
};
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
/**
|
|
249
|
-
* Use original image without resizing
|
|
250
|
-
*/
|
|
251
|
-
attachment = {
|
|
252
|
-
type: "image",
|
|
253
|
-
mimeType,
|
|
254
|
-
data: base64Content,
|
|
255
|
-
};
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Add image to attachments array
|
|
259
|
-
*/
|
|
260
|
-
images.push(attachment);
|
|
261
|
-
/**
|
|
262
|
-
* Add text reference to image
|
|
263
|
-
* Includes dimension note if image was resized
|
|
264
|
-
* Format: <file name="/path/to/file.png">[resized to XxY]</file>
|
|
265
|
-
*/
|
|
266
|
-
if (dimensionNote) {
|
|
267
|
-
text += `<file name="${absolutePath}">${dimensionNote}</file>\n`;
|
|
268
|
-
}
|
|
269
|
-
else {
|
|
270
|
-
text += `<file name="${absolutePath}"></file>\n`;
|
|
271
|
-
}
|
|
58
|
+
const imageMimeType = detectImageMimeType(absolutePath);
|
|
59
|
+
validateFileSize(absolutePath, stats.size, imageMimeType);
|
|
60
|
+
if (imageMimeType) {
|
|
61
|
+
const data = await readFile(absolutePath);
|
|
62
|
+
images.push({ type: "image", mimeType: imageMimeType, data: data.toString("base64") });
|
|
63
|
+
continue;
|
|
272
64
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
// ========================================================================
|
|
276
|
-
else {
|
|
277
|
-
/**
|
|
278
|
-
* Validate file has a supported text extension
|
|
279
|
-
* Prevents processing binary files as text
|
|
280
|
-
*/
|
|
281
|
-
if (!isSupportedTextFile(absolutePath)) {
|
|
282
|
-
console.warn(chalk.yellow(`Warning: File may not be text: ${absolutePath}. Attempting to read as text...`));
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Read text file contents
|
|
286
|
-
* Uses UTF-8 encoding
|
|
287
|
-
*/
|
|
288
|
-
try {
|
|
289
|
-
const content = await readFile(absolutePath, "utf-8");
|
|
290
|
-
text += `<file name="${absolutePath}">\n${content}\n</file>\n`;
|
|
291
|
-
}
|
|
292
|
-
catch (error) {
|
|
293
|
-
/**
|
|
294
|
-
* Handle read errors with helpful message
|
|
295
|
-
* Includes suggestion for common issues
|
|
296
|
-
*/
|
|
297
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
298
|
-
throw new FileProcessError(`Could not read file ${absolutePath}: ${message}`, "READ_ERROR", "Check file permissions and ensure it's a text file");
|
|
299
|
-
}
|
|
65
|
+
if (!isTextFile(absolutePath)) {
|
|
66
|
+
throw new FileProcessError(`Unsupported file type: ${absolutePath}`, "UNSUPPORTED_FILE_TYPE", "Supported inputs are common text/code files and jpg/png/gif/webp images.");
|
|
300
67
|
}
|
|
68
|
+
const content = await readFile(absolutePath, "utf-8");
|
|
69
|
+
text += `<file path=\"${absolutePath}\">\n${content}\n</file>\n\n`;
|
|
301
70
|
}
|
|
302
|
-
return { text, images };
|
|
71
|
+
return { text: text.trim(), images };
|
|
303
72
|
}
|
|
304
73
|
//# sourceMappingURL=file-processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-processor.js","sourceRoot":"","sources":["../../src/cli/file-processor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"file-processor.js","sourceRoot":"","sources":["../../src/cli/file-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,69 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Model List Formatter - Display available models with optional filtering
|
|
3
|
-
*
|
|
4
|
-
* Responsibilities:
|
|
5
|
-
* - Retrieve available models from model registry
|
|
6
|
-
* - Apply fuzzy search filtering
|
|
7
|
-
* - Sort models by provider and ID
|
|
8
|
-
* - Format model information in a readable table
|
|
9
|
-
* - Display model capabilities (context, max output, thinking, images)
|
|
10
|
-
*
|
|
11
|
-
* Based on model listing patterns from indusagi-agent
|
|
12
|
-
* Original: https://github.com/varunisrani/indusagi-ts/vendor/indusagi-agent
|
|
13
|
-
*
|
|
14
|
-
* Adapted to:
|
|
15
|
-
* - Improve display formatting
|
|
16
|
-
* - Add comprehensive documentation
|
|
17
|
-
* - Add model filtering options
|
|
18
|
-
* - Add model capability indicators
|
|
19
|
-
* - Enhance UX with better sorting
|
|
20
|
-
*/
|
|
21
1
|
import type { ModelRegistry } from "../core/model-registry.js";
|
|
22
|
-
/**
|
|
23
|
-
* Model filtering options
|
|
24
|
-
*
|
|
25
|
-
* @interface ModelFilterOptions
|
|
26
|
-
* @property {string} [provider] - Filter by provider name
|
|
27
|
-
* @property {boolean} [thinkingOnly] - Only show models with reasoning/thinking capability
|
|
28
|
-
* @property {boolean} [imageSupport] - Only show models with image input support
|
|
29
|
-
* @property {string} [searchPattern] - Fuzzy search pattern for model IDs and providers
|
|
30
|
-
*/
|
|
31
2
|
export interface ModelFilterOptions {
|
|
32
3
|
provider?: string;
|
|
33
4
|
thinkingOnly?: boolean;
|
|
34
5
|
imageSupport?: boolean;
|
|
35
6
|
searchPattern?: string;
|
|
36
7
|
}
|
|
37
|
-
/**
|
|
38
|
-
* List available models, optionally filtered by search pattern or criteria
|
|
39
|
-
*
|
|
40
|
-
* This function:
|
|
41
|
-
* 1. Retrieves available models from the registry
|
|
42
|
-
* 2. Applies any requested filters (provider, thinking, images, search)
|
|
43
|
-
* 3. Sorts models by provider and ID
|
|
44
|
-
* 4. Formats model information into a readable table
|
|
45
|
-
* 5. Displays the table to stdout
|
|
46
|
-
*
|
|
47
|
-
* The table shows:
|
|
48
|
-
* - Provider name
|
|
49
|
-
* - Model ID
|
|
50
|
-
* - Context window size
|
|
51
|
-
* - Max output tokens
|
|
52
|
-
* - Thinking/reasoning capability
|
|
53
|
-
* - Image input support
|
|
54
|
-
*
|
|
55
|
-
* @param modelRegistry - Model registry instance
|
|
56
|
-
* @param searchPattern - Optional fuzzy search pattern for model IDs/providers
|
|
57
|
-
* @returns Promise that resolves when listing is complete
|
|
58
|
-
*
|
|
59
|
-
* @example
|
|
60
|
-
* ```typescript
|
|
61
|
-
* // List all models
|
|
62
|
-
* await listModels(modelRegistry);
|
|
63
|
-
*
|
|
64
|
-
* // List models matching "sonnet"
|
|
65
|
-
* await listModels(modelRegistry, "sonnet");
|
|
66
|
-
* ```
|
|
67
|
-
*/
|
|
68
8
|
export declare function listModels(modelRegistry: ModelRegistry, searchPattern?: string | ModelFilterOptions): Promise<void>;
|
|
69
9
|
//# sourceMappingURL=list-models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../src/cli/list-models.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../src/cli/list-models.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAuCD,wBAAsB,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDzH"}
|