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,138 +1,117 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared utilities for compaction and branch summarization.
|
|
3
|
-
*/
|
|
4
1
|
export function createFileOps() {
|
|
5
|
-
return {
|
|
6
|
-
read: new Set(),
|
|
7
|
-
written: new Set(),
|
|
8
|
-
edited: new Set(),
|
|
9
|
-
};
|
|
2
|
+
return { read: new Set(), written: new Set(), edited: new Set() };
|
|
10
3
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if (
|
|
4
|
+
function resolveToolPathArgument(args) {
|
|
5
|
+
return typeof args?.path === "string" ? args.path : undefined;
|
|
6
|
+
}
|
|
7
|
+
function recordFileOperation(name, path, fileOps) {
|
|
8
|
+
if (name === "read") {
|
|
9
|
+
fileOps.read.add(path);
|
|
16
10
|
return;
|
|
17
|
-
|
|
11
|
+
}
|
|
12
|
+
if (name === "write") {
|
|
13
|
+
fileOps.written.add(path);
|
|
18
14
|
return;
|
|
15
|
+
}
|
|
16
|
+
if (name === "edit") {
|
|
17
|
+
fileOps.edited.add(path);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export function extractFileOpsFromMessage(message, fileOps) {
|
|
21
|
+
if (message.role !== "assistant" || !("content" in message) || !Array.isArray(message.content)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
19
24
|
for (const block of message.content) {
|
|
20
|
-
if (typeof block !== "object" || block === null)
|
|
21
|
-
continue;
|
|
22
|
-
if (!("type" in block) || block.type !== "toolCall")
|
|
23
|
-
continue;
|
|
24
|
-
if (!("arguments" in block) || !("name" in block))
|
|
25
|
-
continue;
|
|
26
|
-
const args = block.arguments;
|
|
27
|
-
if (!args)
|
|
28
|
-
continue;
|
|
29
|
-
const path = typeof args.path === "string" ? args.path : undefined;
|
|
30
|
-
if (!path)
|
|
25
|
+
if (typeof block !== "object" || block === null || block.type !== "toolCall") {
|
|
31
26
|
continue;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
case "write":
|
|
37
|
-
fileOps.written.add(path);
|
|
38
|
-
break;
|
|
39
|
-
case "edit":
|
|
40
|
-
fileOps.edited.add(path);
|
|
41
|
-
break;
|
|
27
|
+
}
|
|
28
|
+
const path = resolveToolPathArgument(block.arguments);
|
|
29
|
+
if (path) {
|
|
30
|
+
recordFileOperation(block.name, path, fileOps);
|
|
42
31
|
}
|
|
43
32
|
}
|
|
44
33
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Compute final file lists from file operations.
|
|
47
|
-
* Returns readFiles (files only read, not modified) and modifiedFiles.
|
|
48
|
-
*/
|
|
49
34
|
export function computeFileLists(fileOps) {
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
35
|
+
const modifiedSet = new Set([...fileOps.edited, ...fileOps.written]);
|
|
36
|
+
return {
|
|
37
|
+
readFiles: [...fileOps.read].filter((path) => !modifiedSet.has(path)).sort(),
|
|
38
|
+
modifiedFiles: [...modifiedSet].sort(),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function wrapTag(tagName, values) {
|
|
42
|
+
return `<${tagName}>\n${values.join("\n")}\n</${tagName}>`;
|
|
54
43
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Format file operations as XML tags for summary.
|
|
57
|
-
*/
|
|
58
44
|
export function formatFileOperations(readFiles, modifiedFiles) {
|
|
59
|
-
const
|
|
45
|
+
const segments = [];
|
|
60
46
|
if (readFiles.length > 0) {
|
|
61
|
-
|
|
47
|
+
segments.push(wrapTag("read-files", readFiles));
|
|
62
48
|
}
|
|
63
49
|
if (modifiedFiles.length > 0) {
|
|
64
|
-
|
|
50
|
+
segments.push(wrapTag("modified-files", modifiedFiles));
|
|
65
51
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
52
|
+
return segments.length > 0 ? `\n\n${segments.join("\n\n")}` : "";
|
|
53
|
+
}
|
|
54
|
+
function collectUserText(message) {
|
|
55
|
+
if (typeof message.content === "string") {
|
|
56
|
+
return message.content;
|
|
57
|
+
}
|
|
58
|
+
return message.content
|
|
59
|
+
.filter((block) => block.type === "text")
|
|
60
|
+
.map((block) => block.text)
|
|
61
|
+
.join("");
|
|
62
|
+
}
|
|
63
|
+
function collectAssistantSegments(message) {
|
|
64
|
+
const collected = { text: [], thinking: [], toolCalls: [] };
|
|
65
|
+
for (const block of message.content) {
|
|
66
|
+
if (block.type === "text") {
|
|
67
|
+
collected.text.push(block.text);
|
|
68
|
+
}
|
|
69
|
+
else if (block.type === "thinking") {
|
|
70
|
+
collected.thinking.push(block.thinking);
|
|
71
|
+
}
|
|
72
|
+
else if (block.type === "toolCall") {
|
|
73
|
+
const argumentsText = Object.entries(block.arguments)
|
|
74
|
+
.map(([key, value]) => `${key}=${JSON.stringify(value)}`)
|
|
75
|
+
.join(", ");
|
|
76
|
+
collected.toolCalls.push(`${block.name}(${argumentsText})`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return collected;
|
|
80
|
+
}
|
|
81
|
+
function collectToolResultText(message) {
|
|
82
|
+
return message.content
|
|
83
|
+
.filter((block) => block.type === "text")
|
|
84
|
+
.map((block) => block.text)
|
|
85
|
+
.join("");
|
|
69
86
|
}
|
|
70
|
-
// ============================================================================
|
|
71
|
-
// Message Serialization
|
|
72
|
-
// ============================================================================
|
|
73
|
-
/**
|
|
74
|
-
* Serialize LLM messages to text for summarization.
|
|
75
|
-
* This prevents the model from treating it as a conversation to continue.
|
|
76
|
-
* Call convertToLlm() first to handle custom message types.
|
|
77
|
-
*/
|
|
78
87
|
export function serializeConversation(messages) {
|
|
79
|
-
const
|
|
80
|
-
for (const
|
|
81
|
-
if (
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
:
|
|
85
|
-
|
|
86
|
-
.map((c) => c.text)
|
|
87
|
-
.join("");
|
|
88
|
-
if (content)
|
|
89
|
-
parts.push(`[User]: ${content}`);
|
|
88
|
+
const lines = [];
|
|
89
|
+
for (const message of messages) {
|
|
90
|
+
if (message.role === "user") {
|
|
91
|
+
const text = collectUserText(message);
|
|
92
|
+
if (text)
|
|
93
|
+
lines.push(`[User]: ${text}`);
|
|
94
|
+
continue;
|
|
90
95
|
}
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
thinkingParts.push(block.thinking);
|
|
101
|
-
}
|
|
102
|
-
else if (block.type === "toolCall") {
|
|
103
|
-
const args = block.arguments;
|
|
104
|
-
const argsStr = Object.entries(args)
|
|
105
|
-
.map(([k, v]) => `${k}=${JSON.stringify(v)}`)
|
|
106
|
-
.join(", ");
|
|
107
|
-
toolCalls.push(`${block.name}(${argsStr})`);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
if (thinkingParts.length > 0) {
|
|
111
|
-
parts.push(`[Assistant thinking]: ${thinkingParts.join("\n")}`);
|
|
112
|
-
}
|
|
113
|
-
if (textParts.length > 0) {
|
|
114
|
-
parts.push(`[Assistant]: ${textParts.join("\n")}`);
|
|
115
|
-
}
|
|
116
|
-
if (toolCalls.length > 0) {
|
|
117
|
-
parts.push(`[Assistant tool calls]: ${toolCalls.join("; ")}`);
|
|
118
|
-
}
|
|
96
|
+
if (message.role === "assistant") {
|
|
97
|
+
const segments = collectAssistantSegments(message);
|
|
98
|
+
if (segments.thinking.length > 0)
|
|
99
|
+
lines.push(`[Assistant thinking]: ${segments.thinking.join("\n")}`);
|
|
100
|
+
if (segments.text.length > 0)
|
|
101
|
+
lines.push(`[Assistant]: ${segments.text.join("\n")}`);
|
|
102
|
+
if (segments.toolCalls.length > 0)
|
|
103
|
+
lines.push(`[Assistant tool calls]: ${segments.toolCalls.join("; ")}`);
|
|
104
|
+
continue;
|
|
119
105
|
}
|
|
120
|
-
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
.
|
|
124
|
-
.join("");
|
|
125
|
-
if (content) {
|
|
126
|
-
parts.push(`[Tool result]: ${content}`);
|
|
127
|
-
}
|
|
106
|
+
if (message.role === "toolResult") {
|
|
107
|
+
const text = collectToolResultText(message);
|
|
108
|
+
if (text)
|
|
109
|
+
lines.push(`[Tool result]: ${text}`);
|
|
128
110
|
}
|
|
129
111
|
}
|
|
130
|
-
return
|
|
112
|
+
return lines.join("\n\n");
|
|
131
113
|
}
|
|
132
|
-
|
|
133
|
-
// Summarization System Prompt
|
|
134
|
-
// ============================================================================
|
|
135
|
-
export const SUMMARIZATION_SYSTEM_PROMPT = `You are a context summarization assistant. Your task is to read a conversation between a user and an AI coding assistant, then produce a structured summary following the exact format specified.
|
|
114
|
+
export const SUMMARIZATION_SYSTEM_PROMPT = `You are preparing compact continuation context for another coding-agent response.
|
|
136
115
|
|
|
137
|
-
Do
|
|
116
|
+
Do not answer the conversation. Do not continue the task directly. Read the supplied conversation transcript and output only the requested structured summary.`;
|
|
138
117
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/compaction/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/compaction/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover-packages.d.ts","sourceRoot":"","sources":["../../src/core/discover-packages.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"discover-packages.d.ts","sourceRoot":"","sources":["../../src/core/discover-packages.ts"],"names":[],"mappings":"AAGA,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAkE1E"}
|
|
@@ -1,62 +1,59 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
/**
|
|
4
|
-
* Discover indusagi extension packages in node_modules
|
|
5
|
-
* Looks for packages with an "indusagi" field in package.json
|
|
6
|
-
*/
|
|
1
|
+
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
7
3
|
export function discoverIndusagiPackages(nodeModulesPath) {
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return extensions;
|
|
4
|
+
const packages = [];
|
|
5
|
+
if (!existsSync(nodeModulesPath)) {
|
|
6
|
+
return packages;
|
|
12
7
|
}
|
|
13
8
|
try {
|
|
14
|
-
|
|
15
|
-
const entries = fs.readdirSync(nodeModulesPath, { withFileTypes: true });
|
|
9
|
+
const entries = readdirSync(nodeModulesPath, { withFileTypes: true });
|
|
16
10
|
for (const entry of entries) {
|
|
17
|
-
// Handle scoped packages (@org/package)
|
|
18
11
|
if (entry.name.startsWith("@") && entry.isDirectory()) {
|
|
19
|
-
const scopePath =
|
|
20
|
-
const scopedPackages =
|
|
21
|
-
for (const
|
|
22
|
-
if (
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
extensions.push(pkgPath);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
// Ignore parse errors
|
|
34
|
-
}
|
|
35
|
-
}
|
|
12
|
+
const scopePath = join(nodeModulesPath, entry.name);
|
|
13
|
+
const scopedPackages = readdirSync(scopePath, { withFileTypes: true });
|
|
14
|
+
for (const scopedEntry of scopedPackages) {
|
|
15
|
+
if (!scopedEntry.isDirectory()) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const packagePath = join(scopePath, scopedEntry.name);
|
|
19
|
+
const packageJsonPath = join(packagePath, "package.json");
|
|
20
|
+
if (!existsSync(packageJsonPath)) {
|
|
21
|
+
continue;
|
|
36
22
|
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
else if (entry.isDirectory()) {
|
|
40
|
-
// Handle regular packages
|
|
41
|
-
const pkgPath = path.join(nodeModulesPath, entry.name);
|
|
42
|
-
const pkgJsonPath = path.join(pkgPath, "package.json");
|
|
43
|
-
if (fs.existsSync(pkgJsonPath)) {
|
|
44
23
|
try {
|
|
45
|
-
const
|
|
46
|
-
if (
|
|
47
|
-
|
|
24
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
25
|
+
if (packageJson.indusagi?.extensions) {
|
|
26
|
+
packages.push(packagePath);
|
|
48
27
|
}
|
|
49
28
|
}
|
|
50
29
|
catch {
|
|
51
|
-
// Ignore
|
|
30
|
+
// Ignore invalid package.json files.
|
|
52
31
|
}
|
|
53
32
|
}
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (!entry.isDirectory()) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const packagePath = join(nodeModulesPath, entry.name);
|
|
39
|
+
const packageJsonPath = join(packagePath, "package.json");
|
|
40
|
+
if (!existsSync(packageJsonPath)) {
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
45
|
+
if (packageJson.indusagi?.extensions) {
|
|
46
|
+
packages.push(packagePath);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// Ignore invalid package.json files.
|
|
54
51
|
}
|
|
55
52
|
}
|
|
56
53
|
}
|
|
57
|
-
catch
|
|
58
|
-
// Ignore errors
|
|
54
|
+
catch {
|
|
55
|
+
// Ignore discovery errors.
|
|
59
56
|
}
|
|
60
|
-
return
|
|
57
|
+
return packages;
|
|
61
58
|
}
|
|
62
59
|
//# sourceMappingURL=discover-packages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover-packages.js","sourceRoot":"","sources":["../../src/core/discover-packages.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"discover-packages.js","sourceRoot":"","sources":["../../src/core/discover-packages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,wBAAwB,CAAC,eAAuB;IAC9D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEvE,KAAK,MAAM,WAAW,IAAI,cAAc,EAAE,CAAC;oBACzC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC/B,SAAS;oBACX,CAAC;oBAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;oBACtD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;oBAC1D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;wBACjC,SAAS;oBACX,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAEpE,CAAC;wBACF,IAAI,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;4BACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAC7B,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,qCAAqC;oBACvC,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAEpE,CAAC;gBACF,IAAI,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;oBACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/core/event-bus.d.ts
CHANGED
|
@@ -1,155 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Event Bus - Core publish/subscribe system for agent events
|
|
3
|
-
*
|
|
4
|
-
* Purpose:
|
|
5
|
-
* Provides a decoupled event system for agent lifecycle events, tool execution,
|
|
6
|
-
* and state changes. Enables loose coupling between agent components.
|
|
7
|
-
*
|
|
8
|
-
* Architecture:
|
|
9
|
-
* - Wraps Node.js EventEmitter with type-safe interfaces
|
|
10
|
-
* - Automatic error handling and async support
|
|
11
|
-
* - Channel-based event routing (string identifiers)
|
|
12
|
-
* - Handler cleanup with unsubscribe functions
|
|
13
|
-
*
|
|
14
|
-
* Event Channels (as used throughout agent):
|
|
15
|
-
* - "agent:initialized" - Agent session created and ready
|
|
16
|
-
* - "agent:message" - New message added to session
|
|
17
|
-
* - "agent:tool:execute" - Tool execution started
|
|
18
|
-
* - "agent:tool:complete" - Tool execution finished
|
|
19
|
-
* - "agent:error" - Error occurred during execution
|
|
20
|
-
* - "agent:state" - Agent state changed
|
|
21
|
-
* - "session:persisted" - Session saved to disk
|
|
22
|
-
* - "session:compacted" - Session compressed
|
|
23
|
-
*
|
|
24
|
-
* Safety Features:
|
|
25
|
-
* - Async handler wrapping with error catching
|
|
26
|
-
* - Automatic error logging for handler failures
|
|
27
|
-
* - Handler isolation (errors don't propagate to other handlers)
|
|
28
|
-
* - Clean unsubscribe functions prevent memory leaks
|
|
29
|
-
*
|
|
30
|
-
* Example Usage:
|
|
31
|
-
* ```typescript
|
|
32
|
-
* const eventBus = createEventBus();
|
|
33
|
-
*
|
|
34
|
-
* // Subscribe to events
|
|
35
|
-
* const unsubscribe = eventBus.on("agent:message", async (data) => {
|
|
36
|
-
* console.log("New message:", data);
|
|
37
|
-
* });
|
|
38
|
-
*
|
|
39
|
-
* // Emit events
|
|
40
|
-
* eventBus.emit("agent:message", { role: "assistant", content: "Hello" });
|
|
41
|
-
*
|
|
42
|
-
* // Unsubscribe when done
|
|
43
|
-
* unsubscribe();
|
|
44
|
-
*
|
|
45
|
-
* // Clear all listeners
|
|
46
|
-
* eventBus.clear();
|
|
47
|
-
* ```
|
|
48
|
-
*
|
|
49
|
-
* Based on event bus pattern from indusagi-agent
|
|
50
|
-
* Original: https://github.com/varunisrani/indusagi-ts/vendor/indusagi-agent/src/event-bus.ts
|
|
51
|
-
*/
|
|
52
|
-
/**
|
|
53
|
-
* EventBus Interface - Read-only pub/sub access
|
|
54
|
-
*
|
|
55
|
-
* Provides emit and subscribe methods for event-driven communication.
|
|
56
|
-
* Used by components that need to listen to or publish events.
|
|
57
|
-
*/
|
|
58
1
|
export interface EventBus {
|
|
59
|
-
/**
|
|
60
|
-
* Publish an event on a channel
|
|
61
|
-
*
|
|
62
|
-
* @param channel - The event channel name (e.g., "agent:message")
|
|
63
|
-
* @param data - Arbitrary data to send to subscribers
|
|
64
|
-
*
|
|
65
|
-
* Example:
|
|
66
|
-
* ```
|
|
67
|
-
* eventBus.emit("agent:message", {
|
|
68
|
-
* role: "user",
|
|
69
|
-
* content: "Execute bash command: ls -la"
|
|
70
|
-
* });
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
73
2
|
emit(channel: string, data: unknown): void;
|
|
74
|
-
|
|
75
|
-
* Subscribe to events on a channel
|
|
76
|
-
*
|
|
77
|
-
* @param channel - The event channel to listen to
|
|
78
|
-
* @param handler - Async function called when event is emitted
|
|
79
|
-
*
|
|
80
|
-
* @returns Unsubscribe function - call to remove the listener
|
|
81
|
-
*
|
|
82
|
-
* Safety:
|
|
83
|
-
* - Handler errors are caught and logged, don't break other listeners
|
|
84
|
-
* - Handler is wrapped to support async operations
|
|
85
|
-
* - Always call unsubscribe when done to prevent memory leaks
|
|
86
|
-
*
|
|
87
|
-
* Example:
|
|
88
|
-
* ```
|
|
89
|
-
* const unsubscribe = eventBus.on("agent:error", async (error) => {
|
|
90
|
-
* console.error("Agent error:", error.message);
|
|
91
|
-
* // Send alert, log to file, etc.
|
|
92
|
-
* });
|
|
93
|
-
*
|
|
94
|
-
* // Later: unsubscribe when component is destroyed
|
|
95
|
-
* unsubscribe();
|
|
96
|
-
* ```
|
|
97
|
-
*/
|
|
98
|
-
on(channel: string, handler: (data: unknown) => void): () => void;
|
|
3
|
+
on(channel: string, handler: (data: unknown) => void | Promise<void>): () => void;
|
|
99
4
|
}
|
|
100
|
-
/**
|
|
101
|
-
* EventBusController Interface - Full pub/sub control
|
|
102
|
-
*
|
|
103
|
-
* Extends EventBus with additional control methods.
|
|
104
|
-
* Used by the agent core to manage the event system.
|
|
105
|
-
*/
|
|
106
5
|
export interface EventBusController extends EventBus {
|
|
107
|
-
/**
|
|
108
|
-
* Remove all event listeners
|
|
109
|
-
*
|
|
110
|
-
* Cleanup method to reset the event bus state.
|
|
111
|
-
* Called when:
|
|
112
|
-
* - Switching sessions
|
|
113
|
-
* - Shutting down agent
|
|
114
|
-
* - Resetting state in tests
|
|
115
|
-
*
|
|
116
|
-
* Example:
|
|
117
|
-
* ```
|
|
118
|
-
* // Clean up before switching to new session
|
|
119
|
-
* eventBus.clear();
|
|
120
|
-
* await loadSession(newSessionId);
|
|
121
|
-
* ```
|
|
122
|
-
*/
|
|
123
6
|
clear(): void;
|
|
124
7
|
}
|
|
125
|
-
/**
|
|
126
|
-
* Create a new event bus instance
|
|
127
|
-
*
|
|
128
|
-
* Creates a fresh pub/sub system with error handling.
|
|
129
|
-
* Typically called once at agent startup.
|
|
130
|
-
*
|
|
131
|
-
* @returns EventBusController with emit, on, and clear methods
|
|
132
|
-
*
|
|
133
|
-
* Implementation Details:
|
|
134
|
-
* - Wraps Node.js EventEmitter for type safety
|
|
135
|
-
* - Handlers are wrapped to catch async errors
|
|
136
|
-
* - Each handler gets its own error logging
|
|
137
|
-
* - Unsubscribe functions use closure to cleanup listeners
|
|
138
|
-
*
|
|
139
|
-
* Example:
|
|
140
|
-
* ```
|
|
141
|
-
* const eventBus = createEventBus();
|
|
142
|
-
*
|
|
143
|
-
* // Set up listeners early
|
|
144
|
-
* eventBus.on("agent:error", handleError);
|
|
145
|
-
* eventBus.on("agent:message", updateUI);
|
|
146
|
-
*
|
|
147
|
-
* // Use throughout agent lifecycle
|
|
148
|
-
* // ...
|
|
149
|
-
*
|
|
150
|
-
* // Clean up on shutdown
|
|
151
|
-
* eventBus.clear();
|
|
152
|
-
* ```
|
|
153
|
-
*/
|
|
154
8
|
export declare function createEventBus(): EventBusController;
|
|
155
9
|
//# sourceMappingURL=event-bus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/core/event-bus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/core/event-bus.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACxB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;CAClF;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IACnD,KAAK,IAAI,IAAI,CAAC;CACd;AAkBD,wBAAgB,cAAc,IAAI,kBAAkB,CAenD"}
|