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,9 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tool Registry - Complete list of all available tools
|
|
3
|
-
* Includes both built-in tools, extension-provided tools, and MCP tools
|
|
4
|
-
*/
|
|
5
1
|
export const ALL_AVAILABLE_TOOLS = [
|
|
6
|
-
// Core File Tools
|
|
7
2
|
{
|
|
8
3
|
name: "read",
|
|
9
4
|
category: "core",
|
|
@@ -22,14 +17,12 @@ export const ALL_AVAILABLE_TOOLS = [
|
|
|
22
17
|
description: "Make surgical edits to files by finding and replacing exact text.",
|
|
23
18
|
example: "edit path/to/file.ts with oldText and newText",
|
|
24
19
|
},
|
|
25
|
-
// Core Command Tools
|
|
26
20
|
{
|
|
27
21
|
name: "bash",
|
|
28
22
|
category: "core",
|
|
29
23
|
description: "Execute bash commands (ls, grep, find, etc.). Returns stdout and stderr.",
|
|
30
24
|
example: "bash ls -la",
|
|
31
25
|
},
|
|
32
|
-
// Core Search Tools
|
|
33
26
|
{
|
|
34
27
|
name: "grep",
|
|
35
28
|
category: "core",
|
|
@@ -48,7 +41,6 @@ export const ALL_AVAILABLE_TOOLS = [
|
|
|
48
41
|
description: "List directory contents with detailed information.",
|
|
49
42
|
example: "ls -la directory/",
|
|
50
43
|
},
|
|
51
|
-
// Core Task & Todo Tools
|
|
52
44
|
{
|
|
53
45
|
name: "task",
|
|
54
46
|
category: "core",
|
|
@@ -67,7 +59,6 @@ export const ALL_AVAILABLE_TOOLS = [
|
|
|
67
59
|
description: "Update the todo list with new items or status changes.",
|
|
68
60
|
example: "todowrite to modify tasks",
|
|
69
61
|
},
|
|
70
|
-
// Core Web Tools
|
|
71
62
|
{
|
|
72
63
|
name: "webfetch",
|
|
73
64
|
category: "core",
|
|
@@ -77,46 +68,40 @@ export const ALL_AVAILABLE_TOOLS = [
|
|
|
77
68
|
{
|
|
78
69
|
name: "websearch",
|
|
79
70
|
category: "core",
|
|
80
|
-
description: "Real-time web search using Exa AI API.
|
|
71
|
+
description: "Real-time web search using Exa AI API.",
|
|
81
72
|
example: "websearch query='latest AI developments' numResults=8",
|
|
82
73
|
},
|
|
83
|
-
// Extension Tools
|
|
84
74
|
{
|
|
85
|
-
name: "process",
|
|
75
|
+
name: "bg-process",
|
|
86
76
|
category: "extension",
|
|
87
77
|
description: "Manage background processes. Run, monitor, and control long-running commands.",
|
|
88
78
|
actions: ["start", "list", "output", "logs", "kill", "clear"],
|
|
89
|
-
example: "process action=start name='my-task' command='npm run dev'",
|
|
79
|
+
example: "bg-process action=start name='my-task' command='npm run dev'",
|
|
90
80
|
},
|
|
91
81
|
];
|
|
92
|
-
export const CORE_TOOLS = ALL_AVAILABLE_TOOLS.filter((
|
|
93
|
-
export const EXTENSION_TOOLS = ALL_AVAILABLE_TOOLS.filter((
|
|
94
|
-
export const MCP_TOOLS = ALL_AVAILABLE_TOOLS.filter((
|
|
82
|
+
export const CORE_TOOLS = ALL_AVAILABLE_TOOLS.filter((tool) => tool.category === "core");
|
|
83
|
+
export const EXTENSION_TOOLS = ALL_AVAILABLE_TOOLS.filter((tool) => tool.category === "extension");
|
|
84
|
+
export const MCP_TOOLS = ALL_AVAILABLE_TOOLS.filter((tool) => tool.category === "mcp");
|
|
95
85
|
export function getToolInfo(toolName) {
|
|
96
|
-
return ALL_AVAILABLE_TOOLS.find((
|
|
86
|
+
return ALL_AVAILABLE_TOOLS.find((tool) => tool.name.toLowerCase() === toolName.toLowerCase());
|
|
97
87
|
}
|
|
98
88
|
export function listAllTools() {
|
|
99
|
-
const coreToolsList = CORE_TOOLS.map((
|
|
100
|
-
const extensionToolsList = EXTENSION_TOOLS.map((
|
|
101
|
-
const mcpToolsList = MCP_TOOLS.map((
|
|
89
|
+
const coreToolsList = CORE_TOOLS.map((tool) => ` • ${tool.name} - ${tool.description}`).join("\n");
|
|
90
|
+
const extensionToolsList = EXTENSION_TOOLS.map((tool) => ` • ${tool.name} - ${tool.description}`).join("\n");
|
|
91
|
+
const mcpToolsList = MCP_TOOLS.map((tool) => ` • ${tool.name} (${tool.serverName}) - ${tool.description}`).join("\n");
|
|
102
92
|
return `
|
|
103
93
|
CORE TOOLS (Built-in)
|
|
104
94
|
${coreToolsList}
|
|
105
95
|
|
|
106
|
-
EXTENSION TOOLS
|
|
96
|
+
EXTENSION TOOLS
|
|
107
97
|
${extensionToolsList}
|
|
108
98
|
|
|
109
99
|
MCP TOOLS (Model Context Protocol)
|
|
110
100
|
${mcpToolsList || " (No MCP tools connected)"}
|
|
111
101
|
`;
|
|
112
102
|
}
|
|
113
|
-
/**
|
|
114
|
-
* Add MCP tools to the registry dynamically.
|
|
115
|
-
* Called when MCP servers are connected.
|
|
116
|
-
*/
|
|
117
103
|
export function registerMCPTool(tool) {
|
|
118
|
-
|
|
119
|
-
const existingIndex = ALL_AVAILABLE_TOOLS.findIndex((t) => t.category === "mcp" && t.name === tool.name && t.serverName === tool.serverName);
|
|
104
|
+
const existingIndex = ALL_AVAILABLE_TOOLS.findIndex((entry) => entry.category === "mcp" && entry.name === tool.name && entry.serverName === tool.serverName);
|
|
120
105
|
if (existingIndex >= 0) {
|
|
121
106
|
ALL_AVAILABLE_TOOLS[existingIndex] = tool;
|
|
122
107
|
}
|
|
@@ -124,10 +109,6 @@ export function registerMCPTool(tool) {
|
|
|
124
109
|
ALL_AVAILABLE_TOOLS.push(tool);
|
|
125
110
|
}
|
|
126
111
|
}
|
|
127
|
-
/**
|
|
128
|
-
* Remove MCP tools for a specific server.
|
|
129
|
-
* Called when MCP servers are disconnected.
|
|
130
|
-
*/
|
|
131
112
|
export function unregisterMCPServerTools(serverName) {
|
|
132
113
|
const indicesToRemove = [];
|
|
133
114
|
ALL_AVAILABLE_TOOLS.forEach((tool, index) => {
|
|
@@ -135,17 +116,12 @@ export function unregisterMCPServerTools(serverName) {
|
|
|
135
116
|
indicesToRemove.push(index);
|
|
136
117
|
}
|
|
137
118
|
});
|
|
138
|
-
// Remove in reverse order to maintain valid indices
|
|
139
119
|
indicesToRemove.reverse().forEach((index) => {
|
|
140
120
|
ALL_AVAILABLE_TOOLS.splice(index, 1);
|
|
141
121
|
});
|
|
142
122
|
}
|
|
143
|
-
/**
|
|
144
|
-
* Clear all MCP tools from the registry.
|
|
145
|
-
*/
|
|
146
123
|
export function clearMCPTools() {
|
|
147
|
-
|
|
148
|
-
for (let i = ALL_AVAILABLE_TOOLS.length - 1; i >= 0; i--) {
|
|
124
|
+
for (let i = ALL_AVAILABLE_TOOLS.length - 1; i >= 0; i -= 1) {
|
|
149
125
|
if (ALL_AVAILABLE_TOOLS[i].category === "mcp") {
|
|
150
126
|
ALL_AVAILABLE_TOOLS.splice(i, 1);
|
|
151
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/tools/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/tools/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
* Task Tool - Uses indusagi's task tool with custom TaskSessionManager executor
|
|
3
|
-
*
|
|
4
|
-
* @module core/tools/task
|
|
5
|
-
* @description
|
|
6
|
-
* Wraps indusagi's createTaskTool with a custom TaskExecutor that uses
|
|
7
|
-
* TaskSessionManager for actual subagent execution.
|
|
8
|
-
*/
|
|
9
|
-
import { type TaskToolDetails } from "indusagi/agent";
|
|
10
|
-
import type { AgentTool } from "indusagi/agent";
|
|
1
|
+
import type { AgentTool, ThinkingLevel } from "indusagi/agent";
|
|
11
2
|
import type { Model } from "indusagi/ai";
|
|
12
|
-
import type { ThinkingLevel } from "indusagi/agent";
|
|
13
3
|
import type { ModelRegistry } from "../model-registry.js";
|
|
14
4
|
import type { SettingsManager } from "../settings-manager.js";
|
|
15
5
|
import type { Skill } from "../skills.js";
|
|
16
6
|
import type { SubagentStore } from "../subagents.js";
|
|
7
|
+
import { type TaskToolDetails } from "../task-session-manager.js";
|
|
17
8
|
export type { TaskToolDetails };
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
declare const taskSchema: import("@sinclair/typebox").TObject<{
|
|
10
|
+
description: import("@sinclair/typebox").TString;
|
|
11
|
+
prompt: import("@sinclair/typebox").TString;
|
|
12
|
+
subagent_type: import("@sinclair/typebox").TString;
|
|
13
|
+
task_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
14
|
+
command: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
15
|
+
}>;
|
|
21
16
|
export interface TaskToolOptions {
|
|
22
17
|
cwd?: string;
|
|
23
18
|
settingsManager: SettingsManager;
|
|
@@ -31,13 +26,12 @@ export interface TaskToolOptions {
|
|
|
31
26
|
}>;
|
|
32
27
|
skills?: Skill[];
|
|
33
28
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
export declare const taskTool: AgentTool<any, TaskToolDetails>;
|
|
29
|
+
export declare function createTaskTool(options?: TaskToolOptions): AgentTool<typeof taskSchema, TaskToolDetails>;
|
|
30
|
+
export declare const taskTool: AgentTool<import("@sinclair/typebox").TObject<{
|
|
31
|
+
description: import("@sinclair/typebox").TString;
|
|
32
|
+
prompt: import("@sinclair/typebox").TString;
|
|
33
|
+
subagent_type: import("@sinclair/typebox").TString;
|
|
34
|
+
task_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
35
|
+
command: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
36
|
+
}>, TaskToolDetails>;
|
|
43
37
|
//# sourceMappingURL=task.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/core/tools/task.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/core/tools/task.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAA2B,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAEtF,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,QAAA,MAAM,UAAU;;;;;;EAWd,CAAC;AAEH,MAAM,WAAW,eAAe;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC9C,uBAAuB,EAAE,MAAM,aAAa,CAAC;IAC7C,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;CACjB;AAsBD,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,OAAO,UAAU,EAAE,eAAe,CAAC,CAiDvG;AAED,eAAO,MAAM,QAAQ;;;;;;oBAA4B,CAAC"}
|
package/dist/core/tools/task.js
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
* Task Tool - Uses indusagi's task tool with custom TaskSessionManager executor
|
|
3
|
-
*
|
|
4
|
-
* @module core/tools/task
|
|
5
|
-
* @description
|
|
6
|
-
* Wraps indusagi's createTaskTool with a custom TaskExecutor that uses
|
|
7
|
-
* TaskSessionManager for actual subagent execution.
|
|
8
|
-
*/
|
|
9
|
-
import { createTaskTool as createIndusagiTaskTool, } from "indusagi/agent";
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
10
2
|
import { TaskSessionManager } from "../task-session-manager.js";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
const taskSchema = Type.Object({
|
|
4
|
+
description: Type.String({ description: "A short (3-5 words) description of the task" }),
|
|
5
|
+
prompt: Type.String({ description: "The task for the subagent to perform" }),
|
|
6
|
+
subagent_type: Type.String({ description: "The type of specialized subagent to use for this task" }),
|
|
7
|
+
task_id: Type.Optional(Type.String({
|
|
8
|
+
description: "Only set to resume a previous task. The task will continue the same subagent session as before.",
|
|
9
|
+
})),
|
|
10
|
+
command: Type.Optional(Type.String({ description: "The command that triggered this task (optional)" })),
|
|
11
|
+
});
|
|
14
12
|
function buildTaskDescription(subagentStore) {
|
|
15
13
|
const header = "Launch a subagent to handle complex or multi-step work autonomously.";
|
|
16
|
-
const instructions = "
|
|
14
|
+
const instructions = "When using this tool, provide a clear description, a detailed prompt, and the subagent_type. Use task_id to resume a previous task.";
|
|
17
15
|
if (!subagentStore) {
|
|
18
|
-
return `${header}${instructions}`;
|
|
16
|
+
return `${header}\n\n${instructions}`;
|
|
19
17
|
}
|
|
20
18
|
const subagents = subagentStore
|
|
21
19
|
.list()
|
|
@@ -23,82 +21,45 @@ function buildTaskDescription(subagentStore) {
|
|
|
23
21
|
.map((agent) => `- ${agent.name}${agent.description ? `: ${agent.description}` : ""}`)
|
|
24
22
|
.join("\n");
|
|
25
23
|
return subagents
|
|
26
|
-
? `${header}\n\nAvailable subagent types:\n${subagents}\n\
|
|
27
|
-
: `${header}${instructions}`;
|
|
24
|
+
? `${header}\n\nAvailable subagent types:\n${subagents}\n\n${instructions}`
|
|
25
|
+
: `${header}\n\n${instructions}`;
|
|
28
26
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
export function createTaskTool(options) {
|
|
28
|
+
const manager = options
|
|
29
|
+
? new TaskSessionManager({
|
|
30
|
+
cwd: options.cwd ?? process.cwd(),
|
|
31
|
+
settingsManager: options.settingsManager,
|
|
32
|
+
modelRegistry: options.modelRegistry,
|
|
33
|
+
subagentStore: options.subagentStore,
|
|
34
|
+
getDefaultModel: options.getDefaultModel,
|
|
35
|
+
getDefaultThinkingLevel: options.getDefaultThinkingLevel,
|
|
36
|
+
contextFiles: options.contextFiles,
|
|
37
|
+
skills: options.skills,
|
|
38
|
+
})
|
|
39
|
+
: undefined;
|
|
33
40
|
return {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
contextFiles: options.contextFiles,
|
|
43
|
-
skills: options.skills,
|
|
44
|
-
});
|
|
45
|
-
// Convert TaskUpdate callback to AgentToolUpdateCallback
|
|
46
|
-
const adaptedOnUpdate = params.onUpdate
|
|
47
|
-
? (partialResult) => {
|
|
48
|
-
// Extract text from content
|
|
49
|
-
const text = partialResult.content
|
|
50
|
-
.filter(c => c.type === "text" && c.text)
|
|
51
|
-
.map(c => c.text)
|
|
52
|
-
.join("");
|
|
53
|
-
params.onUpdate?.({
|
|
54
|
-
type: "chunk",
|
|
55
|
-
content: text,
|
|
56
|
-
details: partialResult.details,
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
: undefined;
|
|
41
|
+
name: "task",
|
|
42
|
+
label: "task",
|
|
43
|
+
description: buildTaskDescription(options?.subagentStore),
|
|
44
|
+
parameters: taskSchema,
|
|
45
|
+
execute: async (_toolCallId, { description, prompt, subagent_type, task_id, }, signal, onUpdate) => {
|
|
46
|
+
if (!manager) {
|
|
47
|
+
throw new Error("Task tool is not configured. Provide TaskToolOptions when creating tools.");
|
|
48
|
+
}
|
|
60
49
|
const result = await manager.runTask({
|
|
61
|
-
description
|
|
62
|
-
prompt
|
|
63
|
-
subagentType:
|
|
64
|
-
taskId:
|
|
65
|
-
signal
|
|
66
|
-
onUpdate
|
|
50
|
+
description,
|
|
51
|
+
prompt,
|
|
52
|
+
subagentType: subagent_type,
|
|
53
|
+
taskId: task_id,
|
|
54
|
+
signal,
|
|
55
|
+
onUpdate,
|
|
67
56
|
});
|
|
68
57
|
return {
|
|
69
|
-
|
|
58
|
+
content: [{ type: "text", text: result.output }],
|
|
70
59
|
details: result.details,
|
|
71
60
|
};
|
|
72
61
|
},
|
|
73
62
|
};
|
|
74
63
|
}
|
|
75
|
-
|
|
76
|
-
* Create task tool with custom executor using TaskSessionManager
|
|
77
|
-
*/
|
|
78
|
-
export function createTaskTool(options) {
|
|
79
|
-
if (!options) {
|
|
80
|
-
// Return a simple placeholder tool when no options provided
|
|
81
|
-
throw new Error("Task tool requires TaskToolOptions with settingsManager, modelRegistry, subagentStore, etc.");
|
|
82
|
-
}
|
|
83
|
-
const executor = createTaskExecutor(options);
|
|
84
|
-
return createIndusagiTaskTool({
|
|
85
|
-
cwd: options.cwd,
|
|
86
|
-
executor,
|
|
87
|
-
subagentStore: options.subagentStore, // Type cast to handle interface mismatch
|
|
88
|
-
buildDescription: (store) => buildTaskDescription(store),
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Default task tool - throws error if used without configuration
|
|
93
|
-
* This is intentionally not functional - must use createTaskTool with options
|
|
94
|
-
*/
|
|
95
|
-
export const taskTool = {
|
|
96
|
-
name: "task",
|
|
97
|
-
label: "task",
|
|
98
|
-
description: "Launch a subagent to handle complex or multi-step work autonomously.",
|
|
99
|
-
parameters: {},
|
|
100
|
-
execute: async () => {
|
|
101
|
-
throw new Error("Task tool is not configured. Use createTaskTool() with TaskToolOptions.");
|
|
102
|
-
},
|
|
103
|
-
};
|
|
64
|
+
export const taskTool = createTaskTool(undefined);
|
|
104
65
|
//# sourceMappingURL=task.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/core/tools/task.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/core/tools/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Todo Tools - Uses indusagi's todo tools with session persistence
|
|
3
|
-
*
|
|
4
|
-
* @module core/tools/todo
|
|
5
|
-
* @description
|
|
6
|
-
* Wraps indusagi's createTodoReadTool/createTodoWriteTool with a TodoStore
|
|
7
|
-
* that uses TodoStoreOptions for session persistence.
|
|
8
|
-
*/
|
|
9
1
|
import { createTodoReadTool as createIndusagiTodoReadTool, createTodoWriteTool as createIndusagiTodoWriteTool, TodoStore as IndusagiTodoStore, type TodoItem, type TodoPriority, type TodoStatus, type TodoToolDetails, type TodoStoreOptions } from "indusagi/agent";
|
|
10
2
|
import type { SessionManager } from "../session-manager.js";
|
|
11
|
-
/**
|
|
12
|
-
* Create a TodoStore with session persistence
|
|
13
|
-
*/
|
|
14
|
-
export declare function createSessionTodoStore(sessionManager?: SessionManager): IndusagiTodoStore;
|
|
15
3
|
export type { TodoItem, TodoPriority, TodoStatus, TodoToolDetails, TodoStoreOptions };
|
|
16
4
|
export { IndusagiTodoStore as TodoStore };
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
5
|
+
export interface SessionTodoStoreOptions {
|
|
6
|
+
sessionId?: string;
|
|
7
|
+
getSessionId?: () => string | undefined;
|
|
8
|
+
storageDir?: string;
|
|
9
|
+
sessionManager?: {
|
|
10
|
+
appendCustomEntry?: (customType: string, data: {
|
|
11
|
+
todos: TodoItem[];
|
|
12
|
+
}) => void;
|
|
13
|
+
getBranch?: () => Array<{
|
|
14
|
+
type?: string;
|
|
15
|
+
customType?: string;
|
|
16
|
+
data?: unknown;
|
|
17
|
+
}>;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare function createSessionTodoStore(sessionManager?: SessionManager): IndusagiTodoStore;
|
|
21
|
+
export declare function createSessionTodoStore(options?: SessionTodoStoreOptions): IndusagiTodoStore;
|
|
20
22
|
export declare function createTodoReadTool(store: IndusagiTodoStore): ReturnType<typeof createIndusagiTodoReadTool>;
|
|
21
|
-
/**
|
|
22
|
-
* Create todo write tool
|
|
23
|
-
*/
|
|
24
23
|
export declare function createTodoWriteTool(store: IndusagiTodoStore): ReturnType<typeof createIndusagiTodoWriteTool>;
|
|
25
|
-
/** Default todo read tool using in-memory store */
|
|
26
24
|
export declare const todoReadTool: import("indusagi/agent").AgentTool<import("@sinclair/typebox").TObject<{}>, TodoToolDetails>;
|
|
27
|
-
/** Default todo write tool using in-memory store */
|
|
28
25
|
export declare const todoWriteTool: import("indusagi/agent").AgentTool<import("@sinclair/typebox").TObject<{
|
|
29
26
|
todos: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
30
27
|
content: import("@sinclair/typebox").TString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"todo.d.ts","sourceRoot":"","sources":["../../../src/core/tools/todo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"todo.d.ts","sourceRoot":"","sources":["../../../src/core/tools/todo.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,IAAI,0BAA0B,EAChD,mBAAmB,IAAI,2BAA2B,EAClD,SAAS,IAAI,iBAAiB,EAC9B,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;AACtF,OAAO,EAAE,iBAAiB,IAAI,SAAS,EAAE,CAAC;AAE1C,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE;QACf,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;YAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;SAAE,KAAK,IAAI,CAAC;QAC9E,SAAS,CAAC,EAAE,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KACjF,CAAC;CACH;AAwFD,wBAAgB,sBAAsB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,iBAAiB,CAAC;AAC3F,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,iBAAiB,CAAC;AAQ7F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAE1G;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAE5G;AAGD,eAAO,MAAM,YAAY,8FAAmC,CAAC;AAC7D,eAAO,MAAM,aAAa;;;;;;;;oBAAoC,CAAC"}
|
package/dist/core/tools/todo.js
CHANGED
|
@@ -1,75 +1,96 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* @module core/tools/todo
|
|
5
|
-
* @description
|
|
6
|
-
* Wraps indusagi's createTodoReadTool/createTodoWriteTool with a TodoStore
|
|
7
|
-
* that uses TodoStoreOptions for session persistence.
|
|
8
|
-
*/
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
9
4
|
import { createTodoReadTool as createIndusagiTodoReadTool, createTodoWriteTool as createIndusagiTodoWriteTool, TodoStore as IndusagiTodoStore, } from "indusagi/agent";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
import { getAgentDir } from "../../config.js";
|
|
6
|
+
import { TODO_CUSTOM_TYPE } from "../todo-store.js";
|
|
7
|
+
export { IndusagiTodoStore as TodoStore };
|
|
8
|
+
function isSessionTodoStoreOptions(value) {
|
|
9
|
+
if (!value || typeof value !== "object") {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
const candidate = value;
|
|
13
|
+
return ("sessionManager" in candidate ||
|
|
14
|
+
"sessionId" in candidate ||
|
|
15
|
+
"getSessionId" in candidate ||
|
|
16
|
+
"storageDir" in candidate);
|
|
17
|
+
}
|
|
18
|
+
function normalizeOptions(input) {
|
|
19
|
+
if (!input) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
if (isSessionTodoStoreOptions(input)) {
|
|
23
|
+
return input;
|
|
24
|
+
}
|
|
25
|
+
return { sessionManager: input };
|
|
26
|
+
}
|
|
27
|
+
function createSessionKey(options) {
|
|
28
|
+
const sessionId = options?.sessionId || options?.getSessionId?.();
|
|
29
|
+
if (sessionId) {
|
|
30
|
+
return sessionId;
|
|
31
|
+
}
|
|
32
|
+
return createHash("sha1").update(process.cwd()).digest("hex").slice(0, 16);
|
|
33
|
+
}
|
|
34
|
+
function readTodosFromBranch(sessionManager) {
|
|
35
|
+
const entries = sessionManager?.getBranch?.() || [];
|
|
36
|
+
for (let i = entries.length - 1; i >= 0; i -= 1) {
|
|
37
|
+
const entry = entries[i];
|
|
38
|
+
if (entry?.type !== "custom" || entry.customType !== TODO_CUSTOM_TYPE) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
const data = entry.data;
|
|
42
|
+
if (Array.isArray(data?.todos)) {
|
|
43
|
+
return data.todos;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
function createFilePersistence(options) {
|
|
49
|
+
const storageDir = options?.storageDir ?? join(getAgentDir(), "todo-sessions");
|
|
50
|
+
const sessionKey = createSessionKey(options);
|
|
51
|
+
const filePath = join(storageDir, `${sessionKey}.json`);
|
|
52
|
+
const persistToFile = (todos) => {
|
|
53
|
+
mkdirSync(dirname(filePath), { recursive: true });
|
|
54
|
+
writeFileSync(filePath, JSON.stringify({ todos }, null, 2), "utf-8");
|
|
55
|
+
};
|
|
56
|
+
const loadFromFile = () => {
|
|
57
|
+
if (!existsSync(filePath)) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
const data = JSON.parse(readFileSync(filePath, "utf-8"));
|
|
62
|
+
return Array.isArray(data.todos) ? data.todos : [];
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
return {
|
|
16
69
|
persist: (todos) => {
|
|
17
|
-
|
|
70
|
+
persistToFile(todos);
|
|
71
|
+
options?.sessionManager?.appendCustomEntry?.(TODO_CUSTOM_TYPE, { todos });
|
|
18
72
|
},
|
|
19
73
|
load: () => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const entries = sessionManager.getBranch();
|
|
23
|
-
for (let i = entries.length - 1; i >= 0; i--) {
|
|
24
|
-
const entry = entries[i];
|
|
25
|
-
if (entry?.type !== "custom")
|
|
26
|
-
continue;
|
|
27
|
-
if (entry.customType !== TODO_CUSTOM_TYPE)
|
|
28
|
-
continue;
|
|
29
|
-
const data = entry.data;
|
|
30
|
-
if (!data || !Array.isArray(data.todos))
|
|
31
|
-
continue;
|
|
32
|
-
return data.todos;
|
|
33
|
-
}
|
|
34
|
-
return [];
|
|
74
|
+
const branchTodos = readTodosFromBranch(options?.sessionManager);
|
|
75
|
+
return branchTodos.length > 0 ? branchTodos : loadFromFile();
|
|
35
76
|
},
|
|
36
77
|
rebuildFromBranch: () => {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const entries = sessionManager.getBranch();
|
|
40
|
-
for (let i = entries.length - 1; i >= 0; i--) {
|
|
41
|
-
const entry = entries[i];
|
|
42
|
-
if (entry?.type !== "custom")
|
|
43
|
-
continue;
|
|
44
|
-
if (entry.customType !== TODO_CUSTOM_TYPE)
|
|
45
|
-
continue;
|
|
46
|
-
const data = entry.data;
|
|
47
|
-
if (!data || !Array.isArray(data.todos))
|
|
48
|
-
continue;
|
|
49
|
-
return data.todos;
|
|
50
|
-
}
|
|
51
|
-
return [];
|
|
78
|
+
const branchTodos = readTodosFromBranch(options?.sessionManager);
|
|
79
|
+
return branchTodos.length > 0 ? branchTodos : loadFromFile();
|
|
52
80
|
},
|
|
53
|
-
}
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
export function createSessionTodoStore(input) {
|
|
84
|
+
const options = normalizeOptions(input);
|
|
85
|
+
return new IndusagiTodoStore(createFilePersistence(options));
|
|
54
86
|
}
|
|
55
|
-
// Re-export TodoStore
|
|
56
|
-
export { IndusagiTodoStore as TodoStore };
|
|
57
|
-
/**
|
|
58
|
-
* Create todo read tool
|
|
59
|
-
*/
|
|
60
87
|
export function createTodoReadTool(store) {
|
|
61
88
|
return createIndusagiTodoReadTool(store);
|
|
62
89
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Create todo write tool
|
|
65
|
-
*/
|
|
66
90
|
export function createTodoWriteTool(store) {
|
|
67
91
|
return createIndusagiTodoWriteTool(store);
|
|
68
92
|
}
|
|
69
|
-
|
|
70
|
-
const defaultStore = new IndusagiTodoStore();
|
|
71
|
-
/** Default todo read tool using in-memory store */
|
|
93
|
+
const defaultStore = createSessionTodoStore();
|
|
72
94
|
export const todoReadTool = createTodoReadTool(defaultStore);
|
|
73
|
-
/** Default todo write tool using in-memory store */
|
|
74
95
|
export const todoWriteTool = createTodoWriteTool(defaultStore);
|
|
75
96
|
//# sourceMappingURL=todo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"todo.js","sourceRoot":"","sources":["../../../src/core/tools/todo.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"todo.js","sourceRoot":"","sources":["../../../src/core/tools/todo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../../src/core/tools/truncate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../../src/core/tools/truncate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,GAGb,MAAM,gBAAgB,CAAC"}
|