lonny-agent 0.2.4 → 0.2.7
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/.github/workflows/ci.yml +21 -0
- package/AGENTS.md +106 -0
- package/CHANGELOG.md +24 -0
- package/README.md +326 -326
- package/dist/agent/__tests__/session-restore.test.d.ts +2 -0
- package/dist/agent/__tests__/session-restore.test.d.ts.map +1 -0
- package/dist/agent/__tests__/session-restore.test.js +260 -0
- package/dist/agent/__tests__/session-restore.test.js.map +1 -0
- package/dist/agent/commands.d.ts +26 -0
- package/dist/agent/commands.d.ts.map +1 -0
- package/dist/agent/commands.js +253 -0
- package/dist/agent/commands.js.map +1 -0
- package/dist/agent/compaction.js +8 -1
- package/dist/agent/compaction.js.map +1 -1
- package/dist/agent/index.d.ts +2 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -2
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/llm.d.ts +4 -0
- package/dist/agent/llm.d.ts.map +1 -1
- package/dist/agent/memory.d.ts +12 -0
- package/dist/agent/memory.d.ts.map +1 -0
- package/dist/agent/memory.js +51 -0
- package/dist/agent/memory.js.map +1 -0
- package/dist/agent/prompt-builder.d.ts +6 -1
- package/dist/agent/prompt-builder.d.ts.map +1 -1
- package/dist/agent/prompt-builder.js +100 -33
- package/dist/agent/prompt-builder.js.map +1 -1
- package/dist/agent/providers/google.d.ts.map +1 -1
- package/dist/agent/providers/google.js.map +1 -1
- package/dist/agent/providers/openai.d.ts +1 -0
- package/dist/agent/providers/openai.d.ts.map +1 -1
- package/dist/agent/providers/openai.js +59 -6
- package/dist/agent/providers/openai.js.map +1 -1
- package/dist/agent/session-chat.d.ts +3 -0
- package/dist/agent/session-chat.d.ts.map +1 -0
- package/dist/agent/session-chat.js +384 -0
- package/dist/agent/session-chat.js.map +1 -0
- package/dist/agent/session-display.d.ts +29 -0
- package/dist/agent/session-display.d.ts.map +1 -0
- package/dist/agent/session-display.js +179 -0
- package/dist/agent/session-display.js.map +1 -0
- package/dist/agent/session-persistence.d.ts +55 -0
- package/dist/agent/session-persistence.d.ts.map +1 -0
- package/dist/agent/session-persistence.js +101 -0
- package/dist/agent/session-persistence.js.map +1 -0
- package/dist/agent/session-utils.d.ts +5 -0
- package/dist/agent/session-utils.d.ts.map +1 -0
- package/dist/agent/session-utils.js +51 -0
- package/dist/agent/session-utils.js.map +1 -0
- package/dist/agent/session.d.ts +19 -17
- package/dist/agent/session.d.ts.map +1 -1
- package/dist/agent/session.js +234 -578
- package/dist/agent/session.js.map +1 -1
- package/dist/cli/index.d.ts +4 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +67 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +7 -1
- package/dist/config/index.js.map +1 -1
- package/dist/index.js +24 -3
- package/dist/index.js.map +1 -1
- package/dist/tools/__tests__/bash.test.js +169 -2
- package/dist/tools/__tests__/bash.test.js.map +1 -1
- package/dist/tools/__tests__/edit.test.js +1091 -340
- package/dist/tools/__tests__/edit.test.js.map +1 -1
- package/dist/tools/__tests__/fetch.test.js +1 -1
- package/dist/tools/__tests__/fetch.test.js.map +1 -1
- package/dist/tools/__tests__/glob.test.js +1 -1
- package/dist/tools/__tests__/glob.test.js.map +1 -1
- package/dist/tools/__tests__/grep.test.js +33 -1
- package/dist/tools/__tests__/grep.test.js.map +1 -1
- package/dist/tools/__tests__/ls.test.js +1 -1
- package/dist/tools/__tests__/ls.test.js.map +1 -1
- package/dist/tools/__tests__/read.test.js +1 -1
- package/dist/tools/__tests__/read.test.js.map +1 -1
- package/dist/tools/__tests__/registry.test.js +313 -0
- package/dist/tools/__tests__/registry.test.js.map +1 -1
- package/dist/tools/__tests__/sed.test.d.ts +2 -0
- package/dist/tools/__tests__/sed.test.d.ts.map +1 -0
- package/dist/tools/__tests__/sed.test.js +228 -0
- package/dist/tools/__tests__/sed.test.js.map +1 -0
- package/dist/tools/__tests__/write_plan.test.js +1 -1
- package/dist/tools/__tests__/write_plan.test.js.map +1 -1
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +711 -18
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/codebase/ast/__tests__/ast-edit-demo.d.ts +2 -0
- package/dist/tools/codebase/ast/__tests__/ast-edit-demo.d.ts.map +1 -0
- package/dist/tools/codebase/ast/__tests__/ast-edit-demo.js +7 -0
- package/dist/tools/codebase/ast/__tests__/ast-edit-demo.js.map +1 -0
- package/dist/tools/codebase/ast/__tests__/ast-edit-final.d.ts +6 -0
- package/dist/tools/codebase/ast/__tests__/ast-edit-final.d.ts.map +1 -0
- package/dist/tools/codebase/ast/__tests__/ast-edit-final.js +11 -0
- package/dist/tools/codebase/ast/__tests__/ast-edit-final.js.map +1 -0
- package/dist/tools/codebase/ast/__tests__/ast-edit-test.d.ts +2 -0
- package/dist/tools/codebase/ast/__tests__/ast-edit-test.d.ts.map +1 -0
- package/dist/tools/codebase/ast/__tests__/ast-edit-test.js +9 -0
- package/dist/tools/codebase/ast/__tests__/ast-edit-test.js.map +1 -0
- package/dist/tools/codebase/ast/__tests__/integration.test.d.ts +2 -0
- package/dist/tools/codebase/ast/__tests__/integration.test.d.ts.map +1 -0
- package/dist/tools/codebase/ast/__tests__/integration.test.js +415 -0
- package/dist/tools/codebase/ast/__tests__/integration.test.js.map +1 -0
- package/dist/tools/codebase/ast/__tests__/tree-sitter.test.d.ts +2 -0
- package/dist/tools/codebase/ast/__tests__/tree-sitter.test.d.ts.map +1 -0
- package/dist/tools/codebase/ast/__tests__/tree-sitter.test.js +414 -0
- package/dist/tools/codebase/ast/__tests__/tree-sitter.test.js.map +1 -0
- package/dist/tools/codebase/ast/adapter.d.ts +23 -0
- package/dist/tools/codebase/ast/adapter.d.ts.map +1 -0
- package/dist/tools/codebase/ast/adapter.js +11 -0
- package/dist/tools/codebase/ast/adapter.js.map +1 -0
- package/dist/tools/codebase/ast/tools.d.ts +3 -0
- package/dist/tools/codebase/ast/tools.d.ts.map +1 -0
- package/dist/tools/codebase/ast/tools.js +286 -0
- package/dist/tools/codebase/ast/tools.js.map +1 -0
- package/dist/tools/codebase/ast/tree-sitter-adapter.d.ts +3 -0
- package/dist/tools/codebase/ast/tree-sitter-adapter.d.ts.map +1 -0
- package/dist/tools/codebase/ast/tree-sitter-adapter.js +412 -0
- package/dist/tools/codebase/ast/tree-sitter-adapter.js.map +1 -0
- package/dist/tools/codebase/ast/tree-sitter-converters.d.ts +4 -0
- package/dist/tools/codebase/ast/tree-sitter-converters.d.ts.map +1 -0
- package/dist/tools/codebase/ast/tree-sitter-converters.js +447 -0
- package/dist/tools/codebase/ast/tree-sitter-converters.js.map +1 -0
- package/dist/tools/codebase/ast/types.d.ts +103 -0
- package/dist/tools/codebase/ast/types.d.ts.map +1 -0
- package/dist/tools/codebase/ast/types.js +2 -0
- package/dist/tools/codebase/ast/types.js.map +1 -0
- package/dist/tools/codebase/ast/wasm/tree-sitter-python.wasm +0 -0
- package/dist/tools/codebase/ast/wasm/tree-sitter-tsx.wasm +0 -0
- package/dist/tools/codebase/ast/wasm/tree-sitter-typescript.wasm +0 -0
- package/dist/tools/codebase/ast/wasm/tree-sitter.wasm +0 -0
- package/dist/tools/codebase/ast/wasm/web-tree-sitter.wasm +0 -0
- package/dist/tools/codebase/find.d.ts +3 -0
- package/dist/tools/codebase/find.d.ts.map +1 -0
- package/dist/tools/codebase/find.js +61 -0
- package/dist/tools/codebase/find.js.map +1 -0
- package/dist/tools/codebase/glob.d.ts +3 -0
- package/dist/tools/codebase/glob.d.ts.map +1 -0
- package/dist/tools/codebase/glob.js +37 -0
- package/dist/tools/codebase/glob.js.map +1 -0
- package/dist/tools/codebase/grep.d.ts +3 -0
- package/dist/tools/codebase/grep.d.ts.map +1 -0
- package/dist/tools/codebase/grep.js +169 -0
- package/dist/tools/codebase/grep.js.map +1 -0
- package/dist/tools/codebase/ls.d.ts +3 -0
- package/dist/tools/codebase/ls.d.ts.map +1 -0
- package/dist/tools/codebase/ls.js +39 -0
- package/dist/tools/codebase/ls.js.map +1 -0
- package/dist/tools/codebase/read.d.ts +10 -0
- package/dist/tools/codebase/read.d.ts.map +1 -0
- package/dist/tools/codebase/read.js +81 -0
- package/dist/tools/codebase/read.js.map +1 -0
- package/dist/tools/delete_memory.d.ts +3 -0
- package/dist/tools/delete_memory.d.ts.map +1 -0
- package/dist/tools/delete_memory.js +46 -0
- package/dist/tools/delete_memory.js.map +1 -0
- package/dist/tools/edit/diff-compute.d.ts +4 -0
- package/dist/tools/edit/diff-compute.d.ts.map +1 -0
- package/dist/tools/edit/diff-compute.js +18 -0
- package/dist/tools/edit/diff-compute.js.map +1 -0
- package/dist/tools/edit/diff-render.d.ts +18 -0
- package/dist/tools/edit/diff-render.d.ts.map +1 -0
- package/dist/tools/edit/diff-render.js +128 -0
- package/dist/tools/edit/diff-render.js.map +1 -0
- package/dist/tools/edit/edit.d.ts +4 -0
- package/dist/tools/edit/edit.d.ts.map +1 -0
- package/dist/tools/edit/edit.js +440 -0
- package/dist/tools/edit/edit.js.map +1 -0
- package/dist/tools/edit/matcher.d.ts +24 -0
- package/dist/tools/edit/matcher.d.ts.map +1 -0
- package/dist/tools/edit/matcher.js +66 -0
- package/dist/tools/edit/matcher.js.map +1 -0
- package/dist/tools/edit/parser.d.ts +10 -0
- package/dist/tools/edit/parser.d.ts.map +1 -0
- package/dist/tools/edit/parser.js +120 -0
- package/dist/tools/edit/parser.js.map +1 -0
- package/dist/tools/edit/types.d.ts +16 -0
- package/dist/tools/edit/types.d.ts.map +1 -0
- package/dist/tools/edit/types.js +2 -0
- package/dist/tools/edit/types.js.map +1 -0
- package/dist/tools/edit/write_plan.d.ts +5 -0
- package/dist/tools/edit/write_plan.d.ts.map +1 -0
- package/dist/tools/edit/write_plan.js +98 -0
- package/dist/tools/edit/write_plan.js.map +1 -0
- package/dist/tools/edit.d.ts +50 -9
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +394 -159
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/execute/bash/constants.d.ts +24 -0
- package/dist/tools/execute/bash/constants.d.ts.map +1 -0
- package/dist/tools/execute/bash/constants.js +88 -0
- package/dist/tools/execute/bash/constants.js.map +1 -0
- package/dist/tools/execute/bash/errors.d.ts +39 -0
- package/dist/tools/execute/bash/errors.d.ts.map +1 -0
- package/dist/tools/execute/bash/errors.js +249 -0
- package/dist/tools/execute/bash/errors.js.map +1 -0
- package/dist/tools/execute/bash/execution.d.ts +18 -0
- package/dist/tools/execute/bash/execution.d.ts.map +1 -0
- package/dist/tools/execute/bash/execution.js +207 -0
- package/dist/tools/execute/bash/execution.js.map +1 -0
- package/dist/tools/execute/bash/index.d.ts +3 -0
- package/dist/tools/execute/bash/index.d.ts.map +1 -0
- package/dist/tools/execute/bash/index.js +117 -0
- package/dist/tools/execute/bash/index.js.map +1 -0
- package/dist/tools/execute/bash/platform.d.ts +6 -0
- package/dist/tools/execute/bash/platform.d.ts.map +1 -0
- package/dist/tools/execute/bash/platform.js +64 -0
- package/dist/tools/execute/bash/platform.js.map +1 -0
- package/dist/tools/execute/bash/security.d.ts +12 -0
- package/dist/tools/execute/bash/security.d.ts.map +1 -0
- package/dist/tools/execute/bash/security.js +26 -0
- package/dist/tools/execute/bash/security.js.map +1 -0
- package/dist/tools/execute/bash/validation.d.ts +16 -0
- package/dist/tools/execute/bash/validation.d.ts.map +1 -0
- package/dist/tools/execute/bash/validation.js +57 -0
- package/dist/tools/execute/bash/validation.js.map +1 -0
- package/dist/tools/execute/bash.d.ts +3 -0
- package/dist/tools/execute/bash.d.ts.map +1 -0
- package/dist/tools/execute/bash.js +728 -0
- package/dist/tools/execute/bash.js.map +1 -0
- package/dist/tools/execute/git.d.ts +3 -0
- package/dist/tools/execute/git.d.ts.map +1 -0
- package/dist/tools/execute/git.js +183 -0
- package/dist/tools/execute/git.js.map +1 -0
- package/dist/tools/execute/task_complete.d.ts +7 -0
- package/dist/tools/execute/task_complete.d.ts.map +1 -0
- package/dist/tools/execute/task_complete.js +38 -0
- package/dist/tools/execute/task_complete.js.map +1 -0
- package/dist/tools/fetch.d.ts.map +1 -1
- package/dist/tools/fetch.js +2 -0
- package/dist/tools/fetch.js.map +1 -1
- package/dist/tools/find.d.ts.map +1 -1
- package/dist/tools/find.js +2 -0
- package/dist/tools/find.js.map +1 -1
- package/dist/tools/git.d.ts.map +1 -1
- package/dist/tools/git.js +2 -0
- package/dist/tools/git.js.map +1 -1
- package/dist/tools/glob.d.ts.map +1 -1
- package/dist/tools/glob.js +2 -0
- package/dist/tools/glob.js.map +1 -1
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +56 -30
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/install/clawhub.d.ts +26 -0
- package/dist/tools/install/clawhub.d.ts.map +1 -0
- package/dist/tools/install/clawhub.js +182 -0
- package/dist/tools/install/clawhub.js.map +1 -0
- package/dist/tools/install/constants.d.ts +5 -0
- package/dist/tools/install/constants.d.ts.map +1 -0
- package/dist/tools/install/constants.js +5 -0
- package/dist/tools/install/constants.js.map +1 -0
- package/dist/tools/install/install_skill.d.ts +3 -0
- package/dist/tools/install/install_skill.d.ts.map +1 -0
- package/dist/tools/install/install_skill.js +132 -0
- package/dist/tools/install/install_skill.js.map +1 -0
- package/dist/tools/install/npm.d.ts +8 -0
- package/dist/tools/install/npm.d.ts.map +1 -0
- package/dist/tools/install/npm.js +52 -0
- package/dist/tools/install/npm.js.map +1 -0
- package/dist/tools/install/skill-content.d.ts +9 -0
- package/dist/tools/install/skill-content.d.ts.map +1 -0
- package/dist/tools/install/skill-content.js +89 -0
- package/dist/tools/install/skill-content.js.map +1 -0
- package/dist/tools/install_skill.d.ts.map +1 -1
- package/dist/tools/install_skill.js +2 -0
- package/dist/tools/install_skill.js.map +1 -1
- package/dist/tools/list_memory.d.ts +3 -0
- package/dist/tools/list_memory.d.ts.map +1 -0
- package/dist/tools/list_memory.js +55 -0
- package/dist/tools/list_memory.js.map +1 -0
- package/dist/tools/ls.d.ts.map +1 -1
- package/dist/tools/ls.js +2 -0
- package/dist/tools/ls.js.map +1 -1
- package/dist/tools/memory/delete_memory.d.ts +3 -0
- package/dist/tools/memory/delete_memory.d.ts.map +1 -0
- package/dist/tools/memory/delete_memory.js +46 -0
- package/dist/tools/memory/delete_memory.js.map +1 -0
- package/dist/tools/memory/list_memory.d.ts +3 -0
- package/dist/tools/memory/list_memory.d.ts.map +1 -0
- package/dist/tools/memory/list_memory.js +55 -0
- package/dist/tools/memory/list_memory.js.map +1 -0
- package/dist/tools/memory/save_memory.d.ts +3 -0
- package/dist/tools/memory/save_memory.d.ts.map +1 -0
- package/dist/tools/memory/save_memory.js +45 -0
- package/dist/tools/memory/save_memory.js.map +1 -0
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/read.js +2 -0
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/registry.d.ts +7 -8
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +114 -46
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/save_memory.d.ts +3 -0
- package/dist/tools/save_memory.d.ts.map +1 -0
- package/dist/tools/save_memory.js +45 -0
- package/dist/tools/save_memory.js.map +1 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +2 -0
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/sed.d.ts +4 -0
- package/dist/tools/sed.d.ts.map +1 -0
- package/dist/tools/sed.js +121 -0
- package/dist/tools/sed.js.map +1 -0
- package/dist/tools/tree.d.ts +12 -0
- package/dist/tools/tree.d.ts.map +1 -0
- package/dist/tools/tree.js +87 -0
- package/dist/tools/tree.js.map +1 -0
- package/dist/tools/types.d.ts +12 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/web/fetch.d.ts +3 -0
- package/dist/tools/web/fetch.d.ts.map +1 -0
- package/dist/tools/web/fetch.js +49 -0
- package/dist/tools/web/fetch.js.map +1 -0
- package/dist/tools/web/search.d.ts +3 -0
- package/dist/tools/web/search.d.ts.map +1 -0
- package/dist/tools/web/search.js +134 -0
- package/dist/tools/web/search.js.map +1 -0
- package/dist/tools/write_plan.d.ts.map +1 -1
- package/dist/tools/write_plan.js +2 -0
- package/dist/tools/write_plan.js.map +1 -1
- package/dist/tui/commands.d.ts +4 -0
- package/dist/tui/commands.d.ts.map +1 -0
- package/dist/tui/commands.js +118 -0
- package/dist/tui/commands.js.map +1 -0
- package/dist/tui/components/colors.d.ts +36 -0
- package/dist/tui/components/colors.d.ts.map +1 -0
- package/dist/tui/components/colors.js +48 -0
- package/dist/tui/components/colors.js.map +1 -0
- package/dist/tui/components/header-bar.d.ts +26 -0
- package/dist/tui/components/header-bar.d.ts.map +1 -0
- package/dist/tui/components/header-bar.js +78 -0
- package/dist/tui/components/header-bar.js.map +1 -0
- package/dist/tui/components/index.d.ts +9 -0
- package/dist/tui/components/index.d.ts.map +1 -0
- package/dist/tui/components/index.js +9 -0
- package/dist/tui/components/index.js.map +1 -0
- package/dist/tui/components/landing-screen.d.ts +12 -0
- package/dist/tui/components/landing-screen.d.ts.map +1 -0
- package/dist/tui/components/landing-screen.js +53 -0
- package/dist/tui/components/landing-screen.js.map +1 -0
- package/dist/tui/components/pixel-logo.d.ts +5 -0
- package/dist/tui/components/pixel-logo.d.ts.map +1 -0
- package/dist/tui/components/pixel-logo.js +27 -0
- package/dist/tui/components/pixel-logo.js.map +1 -0
- package/dist/tui/components/plan-utils.d.ts +11 -0
- package/dist/tui/components/plan-utils.d.ts.map +1 -0
- package/dist/tui/components/plan-utils.js +62 -0
- package/dist/tui/components/plan-utils.js.map +1 -0
- package/dist/tui/components/plans-list.d.ts +18 -0
- package/dist/tui/components/plans-list.d.ts.map +1 -0
- package/dist/tui/components/plans-list.js +46 -0
- package/dist/tui/components/plans-list.js.map +1 -0
- package/dist/tui/components/rich-footer.d.ts +29 -0
- package/dist/tui/components/rich-footer.d.ts.map +1 -0
- package/dist/tui/components/rich-footer.js +124 -0
- package/dist/tui/components/rich-footer.js.map +1 -0
- package/dist/tui/components/todo-panel.d.ts +14 -0
- package/dist/tui/components/todo-panel.d.ts.map +1 -0
- package/dist/tui/components/todo-panel.js +83 -0
- package/dist/tui/components/todo-panel.js.map +1 -0
- package/dist/tui/components.d.ts.map +1 -1
- package/dist/tui/components.js +14 -7
- package/dist/tui/components.js.map +1 -1
- package/dist/tui/index.d.ts +2 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +99 -505
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/overlays.d.ts +28 -0
- package/dist/tui/overlays.d.ts.map +1 -0
- package/dist/tui/overlays.js +154 -0
- package/dist/tui/overlays.js.map +1 -0
- package/dist/tui/themes.d.ts +5 -0
- package/dist/tui/themes.d.ts.map +1 -0
- package/dist/tui/themes.js +38 -0
- package/dist/tui/themes.js.map +1 -0
- package/dist/web/index.d.ts.map +1 -1
- package/dist/web/index.js +62 -101
- package/dist/web/index.js.map +1 -1
- package/dist/web/public/app.js +5 -855
- package/dist/web/public/confirm.js +70 -0
- package/dist/web/public/index.html +121 -120
- package/dist/web/public/input.js +107 -0
- package/dist/web/public/messages.js +411 -0
- package/dist/web/public/sidebar.js +82 -0
- package/dist/web/public/state.js +72 -0
- package/dist/web/public/style.css +247 -70
- package/dist/web/public/utils.js +37 -0
- package/dist/web/public/websocket.js +267 -0
- package/dist/web/public/ws.js +19 -0
- package/dist/web/session-bridge.d.ts.map +1 -1
- package/dist/web/session-bridge.js +85 -10
- package/dist/web/session-bridge.js.map +1 -1
- package/docs/ast-tools.md +117 -0
- package/package.json +11 -5
- package/scripts/check-line-count.mjs +53 -0
- package/scripts/copy-ast-wasm.mjs +32 -0
- package/scripts/copy-native.mjs +24 -0
- package/scripts/copy-web.mjs +15 -0
- package/src/agent/__tests__/session-restore.test.ts +284 -0
- package/src/agent/commands.ts +274 -0
- package/src/agent/compaction.ts +9 -2
- package/src/agent/index.ts +7 -2
- package/src/agent/llm.ts +4 -0
- package/src/agent/memory.ts +60 -0
- package/src/agent/prompt-builder.ts +111 -33
- package/src/agent/providers/google.ts +0 -1
- package/src/agent/providers/openai.ts +79 -8
- package/src/agent/session-chat.ts +480 -0
- package/src/agent/session-display.ts +195 -0
- package/src/agent/session-persistence.ts +146 -0
- package/src/agent/session-utils.ts +54 -0
- package/src/agent/session.ts +269 -670
- package/src/cli/index.ts +73 -4
- package/src/config/index.ts +14 -7
- package/src/index.ts +30 -3
- package/src/tools/__tests__/bash.test.ts +188 -2
- package/src/tools/__tests__/edit.test.ts +1216 -356
- package/src/tools/__tests__/fetch.test.ts +1 -1
- package/src/tools/__tests__/glob.test.ts +1 -1
- package/src/tools/__tests__/grep.test.ts +36 -1
- package/src/tools/__tests__/ls.test.ts +1 -1
- package/src/tools/__tests__/read.test.ts +1 -1
- package/src/tools/__tests__/registry.test.ts +332 -0
- package/src/tools/__tests__/write_plan.test.ts +1 -1
- package/src/tools/codebase/ast/__tests__/integration.test.ts +452 -0
- package/src/tools/codebase/ast/__tests__/tree-sitter.test.ts +466 -0
- package/src/tools/codebase/ast/adapter.ts +44 -0
- package/src/tools/codebase/ast/tools.ts +322 -0
- package/src/tools/codebase/ast/tree-sitter-adapter.ts +468 -0
- package/src/tools/codebase/ast/tree-sitter-converters.ts +480 -0
- package/src/tools/codebase/ast/types.ts +102 -0
- package/src/tools/codebase/ast/wasm/tree-sitter-python.wasm +0 -0
- package/src/tools/codebase/ast/wasm/tree-sitter-tsx.wasm +0 -0
- package/src/tools/codebase/ast/wasm/tree-sitter-typescript.wasm +0 -0
- package/src/tools/codebase/ast/wasm/tree-sitter.wasm +0 -0
- package/src/tools/codebase/ast/wasm/web-tree-sitter.wasm +0 -0
- package/src/tools/{find.ts → codebase/find.ts} +4 -2
- package/src/tools/{glob.ts → codebase/glob.ts} +4 -2
- package/src/tools/{grep.ts → codebase/grep.ts} +61 -32
- package/src/tools/{ls.ts → codebase/ls.ts} +4 -2
- package/src/tools/{read.ts → codebase/read.ts} +5 -3
- package/src/tools/edit/diff-compute.ts +21 -0
- package/src/tools/edit/diff-render.ts +145 -0
- package/src/tools/edit/edit.ts +468 -0
- package/src/tools/edit/matcher.ts +70 -0
- package/src/tools/edit/parser.ts +131 -0
- package/src/tools/edit/types.ts +19 -0
- package/src/tools/{write_plan.ts → edit/write_plan.ts} +4 -2
- package/src/tools/execute/bash/constants.ts +93 -0
- package/src/tools/execute/bash/errors.ts +304 -0
- package/src/tools/execute/bash/execution.ts +211 -0
- package/src/tools/execute/bash/index.ts +131 -0
- package/src/tools/execute/bash/platform.ts +65 -0
- package/src/tools/execute/bash/security.ts +28 -0
- package/src/tools/execute/bash/validation.ts +78 -0
- package/src/tools/execute/git.ts +209 -0
- package/src/tools/execute/task_complete.ts +40 -0
- package/src/tools/install/clawhub.ts +222 -0
- package/src/tools/install/constants.ts +4 -0
- package/src/tools/install/install_skill.ts +150 -0
- package/src/tools/install/npm.ts +60 -0
- package/src/tools/install/skill-content.ts +108 -0
- package/src/tools/memory/delete_memory.ts +46 -0
- package/src/tools/memory/list_memory.ts +53 -0
- package/src/tools/memory/save_memory.ts +45 -0
- package/src/tools/registry.ts +121 -50
- package/src/tools/tree.ts +103 -0
- package/src/tools/types.ts +13 -0
- package/src/tools/{fetch.ts → web/fetch.ts} +4 -2
- package/src/tools/{search.ts → web/search.ts} +4 -2
- package/src/tui/commands.ts +135 -0
- package/src/tui/components/colors.ts +52 -0
- package/src/tui/components/header-bar.ts +88 -0
- package/src/tui/components/index.ts +8 -0
- package/src/tui/components/landing-screen.ts +67 -0
- package/src/tui/components/pixel-logo.ts +33 -0
- package/src/tui/components/plan-utils.ts +69 -0
- package/src/tui/components/plans-list.ts +55 -0
- package/src/tui/components/rich-footer.ts +146 -0
- package/src/tui/components/todo-panel.ts +95 -0
- package/src/tui/index.ts +110 -561
- package/src/tui/overlays.ts +203 -0
- package/src/tui/themes.ts +41 -0
- package/src/web/index.ts +66 -107
- package/src/web/public/app.js +5 -855
- package/src/web/public/confirm.js +70 -0
- package/src/web/public/index.html +121 -120
- package/src/web/public/input.js +107 -0
- package/src/web/public/messages.js +411 -0
- package/src/web/public/sidebar.js +82 -0
- package/src/web/public/state.js +72 -0
- package/src/web/public/style.css +247 -70
- package/src/web/public/utils.js +37 -0
- package/src/web/public/websocket.js +267 -0
- package/src/web/public/ws.js +19 -0
- package/src/web/session-bridge.ts +90 -12
- package/.claude/settings.local.json +0 -14
- package/.kilo/plans/1780064105789-mighty-pixel.md +0 -171
- package/.kilo/plans/1780293725888-quick-wizard.md +0 -62
- package/.lonny/plan-web-cwd-status.md +0 -38
- package/AGENT.md +0 -99
- package/src/tools/bash.ts +0 -39
- package/src/tools/edit.ts +0 -554
- package/src/tools/exec.ts +0 -348
- package/src/tools/git.ts +0 -76
- package/src/tools/install_skill.ts +0 -539
- package/src/tui/components.ts +0 -635
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import * as crypto from 'node:crypto';
|
|
2
|
+
import * as fs from 'node:fs';
|
|
3
|
+
import * as os from 'node:os';
|
|
4
|
+
import * as path from 'node:path';
|
|
5
|
+
import { afterEach, beforeEach, describe, expect, test } from 'vitest';
|
|
6
|
+
import { Session } from '../session.js';
|
|
7
|
+
/**
|
|
8
|
+
* Helper: build a minimal Config with a project-subdir cwd for test session files.
|
|
9
|
+
* Using the project directory ensures detectPackageManager etc. find a valid cwd.
|
|
10
|
+
* Each test gets a fresh subdirectory that gets cleaned up after.
|
|
11
|
+
*/
|
|
12
|
+
function testConfig() {
|
|
13
|
+
const testDir = path.join(process.cwd(), '.test-sessions', crypto.randomUUID().slice(0, 8));
|
|
14
|
+
fs.mkdirSync(testDir, { recursive: true });
|
|
15
|
+
// Create a package.json so detectPackageManager doesn't fail async
|
|
16
|
+
fs.writeFileSync(path.join(testDir, 'package.json'), JSON.stringify({ name: 'test' }), 'utf-8');
|
|
17
|
+
return {
|
|
18
|
+
mode: 'code',
|
|
19
|
+
model: 'test-model',
|
|
20
|
+
provider: 'openai',
|
|
21
|
+
apiKey: 'test-key',
|
|
22
|
+
baseUrl: 'http://test',
|
|
23
|
+
cwd: testDir,
|
|
24
|
+
autoApprove: true,
|
|
25
|
+
thinking: false,
|
|
26
|
+
reasoningEffort: 'medium',
|
|
27
|
+
enableCache: false,
|
|
28
|
+
strictTools: false,
|
|
29
|
+
contextWindow: 128_000,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Build the session file path matching what save() would write.
|
|
34
|
+
*/
|
|
35
|
+
function sessionFilePath(cwd, sessionId) {
|
|
36
|
+
const { createHash } = require('node:crypto');
|
|
37
|
+
const absPath = path.resolve(cwd);
|
|
38
|
+
const hash = createHash('sha256').update(absPath, 'utf-8').digest('hex').slice(0, 12);
|
|
39
|
+
const dirName = path.basename(absPath);
|
|
40
|
+
const safeName = dirName.replace(/[<>:"/\\|?*]/g, '_');
|
|
41
|
+
const base = `${safeName}-${hash}`;
|
|
42
|
+
const sessionDir = path.join(os.homedir(), '.lonny', 'sessions');
|
|
43
|
+
return path.join(sessionDir, `${base}-${sessionId}.json`);
|
|
44
|
+
}
|
|
45
|
+
describe('Session save/load cycle', () => {
|
|
46
|
+
let config;
|
|
47
|
+
let sessionId;
|
|
48
|
+
let filePath;
|
|
49
|
+
beforeEach(() => {
|
|
50
|
+
config = testConfig();
|
|
51
|
+
const { randomUUID } = require('node:crypto');
|
|
52
|
+
sessionId = randomUUID().slice(0, 8);
|
|
53
|
+
filePath = sessionFilePath(config.cwd, sessionId);
|
|
54
|
+
// Ensure session directory exists
|
|
55
|
+
const dir = path.dirname(filePath);
|
|
56
|
+
if (!fs.existsSync(dir))
|
|
57
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
58
|
+
});
|
|
59
|
+
afterEach(() => {
|
|
60
|
+
try {
|
|
61
|
+
if (fs.existsSync(filePath))
|
|
62
|
+
fs.unlinkSync(filePath);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
/* ignore */
|
|
66
|
+
}
|
|
67
|
+
// Don't clean up .test-sessions dir — buildSystemPrompt fires async and may
|
|
68
|
+
// still be reading the cwd. The dir is gitignored and cleaned on restart.
|
|
69
|
+
});
|
|
70
|
+
test('restores assistant message with text + tool_calls + tool results', async () => {
|
|
71
|
+
const messages = [
|
|
72
|
+
{ role: 'system', content: 'You are a helpful assistant.' },
|
|
73
|
+
{ role: 'user', content: 'Fix the bug in the code.' },
|
|
74
|
+
{
|
|
75
|
+
role: 'assistant',
|
|
76
|
+
content: 'I see the root cause. Three fixes needed:\n\n1. Remove X\n2. Add Y',
|
|
77
|
+
tool_calls: [
|
|
78
|
+
{ id: 'call_abc', name: 'edit', input: { file: 'test.ts', old: 'a', new: 'b' } },
|
|
79
|
+
{ id: 'call_def', name: 'read', input: { file: 'test.ts' } },
|
|
80
|
+
],
|
|
81
|
+
},
|
|
82
|
+
{ role: 'tool', content: 'Edited test.ts', tool_call_id: 'call_abc', name: 'edit' },
|
|
83
|
+
{ role: 'tool', content: 'File contents...', tool_call_id: 'call_def', name: 'read' },
|
|
84
|
+
{ role: 'assistant', content: 'Done with fixes.' },
|
|
85
|
+
{ role: 'user', content: 'Great, thanks!' },
|
|
86
|
+
];
|
|
87
|
+
// Write session file (simulating what save() would produce)
|
|
88
|
+
const data = {
|
|
89
|
+
id: sessionId,
|
|
90
|
+
cwd: path.resolve(config.cwd),
|
|
91
|
+
messages,
|
|
92
|
+
totalInputTokens: 100,
|
|
93
|
+
totalOutputTokens: 50,
|
|
94
|
+
totalApiCalls: 2,
|
|
95
|
+
mode: 'code',
|
|
96
|
+
model: 'test-model',
|
|
97
|
+
provider: 'test-provider',
|
|
98
|
+
createdAt: new Date().toISOString(),
|
|
99
|
+
updatedAt: new Date().toISOString(),
|
|
100
|
+
};
|
|
101
|
+
fs.writeFileSync(filePath, JSON.stringify(data, null, 2), 'utf-8');
|
|
102
|
+
// Load the session from disk
|
|
103
|
+
const session = await Session.load(config);
|
|
104
|
+
expect(session).not.toBeNull();
|
|
105
|
+
// Verify ALL messages are preserved
|
|
106
|
+
expect(session.messages.length).toBe(messages.length);
|
|
107
|
+
for (let i = 0; i < messages.length; i++) {
|
|
108
|
+
expect(session.messages[i].role).toBe(messages[i].role);
|
|
109
|
+
}
|
|
110
|
+
// Verify the critical assistant message (text + tool_calls)
|
|
111
|
+
const assistantWithTools = session.messages.find(m => m.role === 'assistant' && m.tool_calls && m.tool_calls.length > 0);
|
|
112
|
+
expect(assistantWithTools).toBeDefined();
|
|
113
|
+
expect(assistantWithTools.content).toContain('I see the root cause');
|
|
114
|
+
expect(assistantWithTools.tool_calls).toHaveLength(2);
|
|
115
|
+
// Verify tool results still reference the correct tool_call_ids
|
|
116
|
+
const toolMsgs = session.messages.filter(m => m.role === 'tool');
|
|
117
|
+
expect(toolMsgs).toHaveLength(2);
|
|
118
|
+
expect(toolMsgs[0].tool_call_id).toBe('call_abc');
|
|
119
|
+
expect(toolMsgs[1].tool_call_id).toBe('call_def');
|
|
120
|
+
});
|
|
121
|
+
test('preserves assistant message with text-only (no tool_calls)', async () => {
|
|
122
|
+
const messages = [
|
|
123
|
+
{ role: 'system', content: 'system prompt' },
|
|
124
|
+
{ role: 'user', content: 'Hello' },
|
|
125
|
+
{ role: 'assistant', content: 'Hi there!' },
|
|
126
|
+
{ role: 'user', content: 'How are you?' },
|
|
127
|
+
{ role: 'assistant', content: "I'm great, thanks!" },
|
|
128
|
+
];
|
|
129
|
+
const data = {
|
|
130
|
+
id: sessionId,
|
|
131
|
+
cwd: path.resolve(config.cwd),
|
|
132
|
+
messages,
|
|
133
|
+
totalInputTokens: 0,
|
|
134
|
+
totalOutputTokens: 0,
|
|
135
|
+
totalApiCalls: 0,
|
|
136
|
+
mode: 'code',
|
|
137
|
+
model: 'test-model',
|
|
138
|
+
provider: 'test-provider',
|
|
139
|
+
createdAt: new Date().toISOString(),
|
|
140
|
+
updatedAt: new Date().toISOString(),
|
|
141
|
+
};
|
|
142
|
+
fs.writeFileSync(filePath, JSON.stringify(data, null, 2), 'utf-8');
|
|
143
|
+
const session = await Session.load(config);
|
|
144
|
+
expect(session).not.toBeNull();
|
|
145
|
+
expect(session.messages.length).toBe(messages.length);
|
|
146
|
+
expect(session.messages[2].content).toBe('Hi there!');
|
|
147
|
+
expect(session.messages[4].content).toBe("I'm great, thanks!");
|
|
148
|
+
});
|
|
149
|
+
test('loads session with most messages when multiple session files exist', async () => {
|
|
150
|
+
// Create a "newer but emptier" session file
|
|
151
|
+
const newSessionId = 'new_empty_' + require('node:crypto').randomUUID().slice(0, 4);
|
|
152
|
+
const newFilePath = sessionFilePath(config.cwd, newSessionId);
|
|
153
|
+
const emptyMessages = [
|
|
154
|
+
{ role: 'system', content: 'system prompt' },
|
|
155
|
+
{ role: 'user', content: 'Hello' },
|
|
156
|
+
];
|
|
157
|
+
const newData = {
|
|
158
|
+
id: newSessionId,
|
|
159
|
+
cwd: path.resolve(config.cwd),
|
|
160
|
+
messages: emptyMessages,
|
|
161
|
+
totalInputTokens: 0,
|
|
162
|
+
totalOutputTokens: 0,
|
|
163
|
+
totalApiCalls: 0,
|
|
164
|
+
mode: 'code',
|
|
165
|
+
model: 'test-model',
|
|
166
|
+
provider: 'test-provider',
|
|
167
|
+
createdAt: new Date(Date.now() + 60_000).toISOString(), // 1 minute in the future
|
|
168
|
+
updatedAt: new Date(Date.now() + 60_000).toISOString(), // 1 minute in the future
|
|
169
|
+
};
|
|
170
|
+
fs.writeFileSync(newFilePath, JSON.stringify(newData, null, 2), 'utf-8');
|
|
171
|
+
// Create an "older but fuller" session file
|
|
172
|
+
const fullMessages = [
|
|
173
|
+
{ role: 'system', content: 'system prompt' },
|
|
174
|
+
{ role: 'user', content: 'Do the first thing.' },
|
|
175
|
+
{
|
|
176
|
+
role: 'assistant',
|
|
177
|
+
content: 'Working on it.',
|
|
178
|
+
tool_calls: [{ id: 't1', name: 'bash', input: { command: 'echo 1' } }],
|
|
179
|
+
},
|
|
180
|
+
{ role: 'tool', content: '1', tool_call_id: 't1', name: 'bash' },
|
|
181
|
+
{ role: 'user', content: 'Now the second thing.' },
|
|
182
|
+
{ role: 'assistant', content: 'Doing it.' },
|
|
183
|
+
{ role: 'user', content: 'Great!' },
|
|
184
|
+
];
|
|
185
|
+
const data = {
|
|
186
|
+
id: sessionId,
|
|
187
|
+
cwd: path.resolve(config.cwd),
|
|
188
|
+
messages: fullMessages,
|
|
189
|
+
totalInputTokens: 0,
|
|
190
|
+
totalOutputTokens: 0,
|
|
191
|
+
totalApiCalls: 0,
|
|
192
|
+
mode: 'code',
|
|
193
|
+
model: 'test-model',
|
|
194
|
+
provider: 'test-provider',
|
|
195
|
+
createdAt: new Date().toISOString(),
|
|
196
|
+
updatedAt: new Date().toISOString(), // OLDER timestamp
|
|
197
|
+
};
|
|
198
|
+
fs.writeFileSync(filePath, JSON.stringify(data, null, 2), 'utf-8');
|
|
199
|
+
// Load — should pick the FULL session (7 messages) over the NEWER but EMPTIER one (2 messages)
|
|
200
|
+
const session = await Session.load(config);
|
|
201
|
+
expect(session).not.toBeNull();
|
|
202
|
+
expect(session.messages.length).toBe(7);
|
|
203
|
+
expect(session.messages[1].content).toBe('Do the first thing.');
|
|
204
|
+
// Clean up the extra file
|
|
205
|
+
try {
|
|
206
|
+
fs.unlinkSync(newFilePath);
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
/* ignore */
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
test('sanitizeMessages keeps complete assistant+tool sequences', async () => {
|
|
213
|
+
// Two complete turns, each with tool_calls+results — should all survive
|
|
214
|
+
const messages = [
|
|
215
|
+
{ role: 'system', content: 'system prompt' },
|
|
216
|
+
{ role: 'user', content: 'Do the first thing.' },
|
|
217
|
+
{
|
|
218
|
+
role: 'assistant',
|
|
219
|
+
content: 'Working on it.',
|
|
220
|
+
tool_calls: [{ id: 't1', name: 'bash', input: { command: 'echo 1' } }],
|
|
221
|
+
},
|
|
222
|
+
{ role: 'tool', content: '1', tool_call_id: 't1', name: 'bash' },
|
|
223
|
+
{ role: 'user', content: 'Now the second thing.' },
|
|
224
|
+
{
|
|
225
|
+
role: 'assistant',
|
|
226
|
+
content: 'Doing it.',
|
|
227
|
+
tool_calls: [
|
|
228
|
+
{ id: 't2', name: 'bash', input: { command: 'echo 2' } },
|
|
229
|
+
{ id: 't3', name: 'edit', input: { file: 'x.ts', old: 'a', new: 'b' } },
|
|
230
|
+
],
|
|
231
|
+
},
|
|
232
|
+
{ role: 'tool', content: '2', tool_call_id: 't2', name: 'bash' },
|
|
233
|
+
{ role: 'tool', content: 'Edited x.ts', tool_call_id: 't3', name: 'edit' },
|
|
234
|
+
{ role: 'assistant', content: 'Done!' },
|
|
235
|
+
];
|
|
236
|
+
const data = {
|
|
237
|
+
id: sessionId,
|
|
238
|
+
cwd: path.resolve(config.cwd),
|
|
239
|
+
messages,
|
|
240
|
+
totalInputTokens: 0,
|
|
241
|
+
totalOutputTokens: 0,
|
|
242
|
+
totalApiCalls: 0,
|
|
243
|
+
mode: 'code',
|
|
244
|
+
model: 'test-model',
|
|
245
|
+
provider: 'test-provider',
|
|
246
|
+
createdAt: new Date().toISOString(),
|
|
247
|
+
updatedAt: new Date().toISOString(),
|
|
248
|
+
};
|
|
249
|
+
fs.writeFileSync(filePath, JSON.stringify(data, null, 2), 'utf-8');
|
|
250
|
+
const session = await Session.load(config);
|
|
251
|
+
expect(session).not.toBeNull();
|
|
252
|
+
expect(session.messages.length).toBe(messages.length);
|
|
253
|
+
// Both assistant messages with tool_calls should be present
|
|
254
|
+
const assistantWithTools = session.messages.filter(m => m.role === 'assistant' && m.tool_calls && m.tool_calls.length > 0);
|
|
255
|
+
expect(assistantWithTools).toHaveLength(2);
|
|
256
|
+
expect(assistantWithTools[0].content).toBe('Working on it.');
|
|
257
|
+
expect(assistantWithTools[1].content).toBe('Doing it.');
|
|
258
|
+
});
|
|
259
|
+
});
|
|
260
|
+
//# sourceMappingURL=session-restore.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-restore.test.js","sourceRoot":"","sources":["../../../src/agent/__tests__/session-restore.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Config } from '../config/index.js';
|
|
2
|
+
import { Session } from './session.js';
|
|
3
|
+
export interface CommandUI {
|
|
4
|
+
write(text: string): void;
|
|
5
|
+
replaceContent(text: string): void;
|
|
6
|
+
onStateChange(): void;
|
|
7
|
+
onNewSession(session: Session): void;
|
|
8
|
+
}
|
|
9
|
+
export interface CommandEnv {
|
|
10
|
+
session: Session;
|
|
11
|
+
config: Config;
|
|
12
|
+
ui: CommandUI;
|
|
13
|
+
isRunning: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function handleNew(env: CommandEnv): Session;
|
|
16
|
+
export declare function handleMode(env: CommandEnv, mode: string): Promise<boolean>;
|
|
17
|
+
export declare function handleModel(env: CommandEnv, model: string): boolean;
|
|
18
|
+
export declare function handlePrompts(env: CommandEnv): boolean;
|
|
19
|
+
export declare function handleSkills(env: CommandEnv): boolean;
|
|
20
|
+
export declare function handleSessions(env: CommandEnv): boolean;
|
|
21
|
+
export declare function handleSessionCommand(env: CommandEnv, arg: string): Promise<boolean>;
|
|
22
|
+
export declare function handleFork(env: CommandEnv): Promise<boolean>;
|
|
23
|
+
export declare function handleInit(env: CommandEnv): boolean;
|
|
24
|
+
export declare function handleStop(env: CommandEnv): boolean;
|
|
25
|
+
export declare function dispatchCommand(env: CommandEnv, cmd: string, arg: string): Promise<boolean>;
|
|
26
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/agent/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAMhD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,aAAa,IAAI,IAAI,CAAA;IACrB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAWlD;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAShF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAWnE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CActD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAcrD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAqBvD;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsFzF;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBlE;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAKnD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAQnD;AAUD,wBAAsB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA0BjG"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import { resetTokenUsage } from '../config/tokens.js';
|
|
2
|
+
import { fmtErr } from '../tools/errors.js';
|
|
3
|
+
import { resetGlobalEventBus } from './event-bus.js';
|
|
4
|
+
import { ensurePromptsDir, loadPromptTemplates } from './prompt-templates.js';
|
|
5
|
+
import { Session } from './session.js';
|
|
6
|
+
import { ensureSkillsDir, loadSkills } from './skills.js';
|
|
7
|
+
export function handleNew(env) {
|
|
8
|
+
env.session.stop();
|
|
9
|
+
Session.clearSavedSession(env.config.cwd);
|
|
10
|
+
resetTokenUsage(env.config.cwd);
|
|
11
|
+
resetGlobalEventBus();
|
|
12
|
+
const newSession = new Session(env.config, env.session.output);
|
|
13
|
+
newSession.onPlanWritten = env.session.onPlanWritten;
|
|
14
|
+
env.ui.replaceContent('');
|
|
15
|
+
env.ui.onNewSession(newSession);
|
|
16
|
+
env.ui.onStateChange();
|
|
17
|
+
return newSession;
|
|
18
|
+
}
|
|
19
|
+
export async function handleMode(env, mode) {
|
|
20
|
+
if (mode !== 'code' && mode !== 'plan' && mode !== 'ask' && mode !== 'loop') {
|
|
21
|
+
env.ui.write(`Usage: /mode code|plan|ask|loop (current: ${env.session.config.mode})`);
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
await env.session.setMode(mode);
|
|
25
|
+
env.ui.write(`Switched to ${mode} mode`);
|
|
26
|
+
env.ui.onStateChange();
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
export function handleModel(env, model) {
|
|
30
|
+
if (!model) {
|
|
31
|
+
env.ui.write(`Current model: ${env.session.config.model}`);
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
env.session.config.model = model;
|
|
35
|
+
// Trigger system prompt rebuild by re-setting mode
|
|
36
|
+
env.session.setMode(env.session.config.mode);
|
|
37
|
+
env.ui.write(`Model switched to ${model}`);
|
|
38
|
+
env.ui.onStateChange();
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
export function handlePrompts(env) {
|
|
42
|
+
const templates = loadPromptTemplates(env.config.cwd);
|
|
43
|
+
if (templates.length === 0) {
|
|
44
|
+
env.ui.write('No prompt templates found. Create .md files in .lonny/prompts/');
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
let msg = `Prompt Templates (${templates.length}):\n`;
|
|
48
|
+
for (const t of templates) {
|
|
49
|
+
msg += ` \u2022 ${t.name}`;
|
|
50
|
+
if (t.description)
|
|
51
|
+
msg += ` \u2014 ${t.description}`;
|
|
52
|
+
msg += '\n';
|
|
53
|
+
}
|
|
54
|
+
env.ui.write(msg.trimEnd());
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
export function handleSkills(env) {
|
|
59
|
+
const skills = loadSkills(env.config.cwd);
|
|
60
|
+
if (skills.length === 0) {
|
|
61
|
+
env.ui.write('No skills loaded. Create .md files in .lonny/skills/');
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
let msg = `Active Skills (${skills.length}):\n`;
|
|
65
|
+
for (const s of skills) {
|
|
66
|
+
msg += ` \u2022 ${s.name}`;
|
|
67
|
+
if (s.description)
|
|
68
|
+
msg += ` \u2014 ${s.description}`;
|
|
69
|
+
msg += '\n';
|
|
70
|
+
}
|
|
71
|
+
env.ui.write(msg.trimEnd());
|
|
72
|
+
}
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
export function handleSessions(env) {
|
|
76
|
+
const allSessions = Session.listSessions();
|
|
77
|
+
if (allSessions.length === 0) {
|
|
78
|
+
env.ui.write('No saved sessions found.');
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
let msg = `Saved Sessions (${allSessions.length}):\n`;
|
|
82
|
+
msg +=
|
|
83
|
+
' ID Title Mode Messages Tokens Updated\n';
|
|
84
|
+
for (const s of allSessions) {
|
|
85
|
+
const id = s.id.padEnd(9);
|
|
86
|
+
const title = (s.title || '(untitled)').slice(0, 42).padEnd(43);
|
|
87
|
+
const mode = s.mode.padEnd(7);
|
|
88
|
+
const msgs = String(s.messageCount).padEnd(9);
|
|
89
|
+
const tokens = String(s.totalInputTokens + s.totalOutputTokens).padEnd(9);
|
|
90
|
+
const date = s.updatedAt.slice(0, 10);
|
|
91
|
+
msg += ` ${id} ${title} ${mode} ${msgs} ${tokens} ${date}\n`;
|
|
92
|
+
}
|
|
93
|
+
msg += '\n Use /session delete <id> to delete a session';
|
|
94
|
+
env.ui.write(msg);
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
export async function handleSessionCommand(env, arg) {
|
|
98
|
+
if (arg === 'delete' || arg.startsWith('delete ')) {
|
|
99
|
+
const id = arg.slice(arg.startsWith('delete ') ? 7 : 6).trim();
|
|
100
|
+
if (id) {
|
|
101
|
+
const deleted = Session.deleteSession(id);
|
|
102
|
+
if (deleted) {
|
|
103
|
+
env.ui.write(`Deleted session ${id}`);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
env.ui.write(`Session not found: ${id}`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
env.ui.write('Usage: /session delete <id>');
|
|
111
|
+
}
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
if (arg.startsWith('title ')) {
|
|
115
|
+
const title = arg.slice(6).trim();
|
|
116
|
+
if (title) {
|
|
117
|
+
env.session.sessionTitle = title;
|
|
118
|
+
env.session.save();
|
|
119
|
+
env.ui.write(`Session titled: ${title}`);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
env.ui.write('Usage: /session title <name>');
|
|
123
|
+
}
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
if (arg === 'export') {
|
|
127
|
+
try {
|
|
128
|
+
const filePath = env.session.exportSession();
|
|
129
|
+
env.ui.write(`Session exported to ${filePath}`);
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
env.ui.write(`Export failed: ${fmtErr(err)}`);
|
|
133
|
+
}
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
if (arg === 'switch' || arg.startsWith('switch ')) {
|
|
137
|
+
const id = arg.startsWith('switch ') ? arg.slice(7).trim() : '';
|
|
138
|
+
if (!id) {
|
|
139
|
+
env.ui.write('Usage: /session switch <id>. Use /sessions to list session IDs.');
|
|
140
|
+
return true;
|
|
141
|
+
}
|
|
142
|
+
if (env.isRunning) {
|
|
143
|
+
env.ui.write('Cannot switch session while agent is running. Wait or use /stop first.');
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
const switched = await Session.loadById(id, env.config, env.session.output);
|
|
147
|
+
if (switched) {
|
|
148
|
+
switched.onPlanWritten = env.session.onPlanWritten;
|
|
149
|
+
const preview = lastUserQuestion(switched.messages);
|
|
150
|
+
let msg = `Switched to session ${switched.sessionTitle || switched.sessionId}`;
|
|
151
|
+
if (preview)
|
|
152
|
+
msg += ` Last question: ${preview}`;
|
|
153
|
+
env.ui.replaceContent(msg + '\n');
|
|
154
|
+
env.ui.onNewSession(switched);
|
|
155
|
+
env.ui.onStateChange();
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
env.ui.write(`Session not found: ${id}`);
|
|
159
|
+
}
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
// Default: show current session info
|
|
163
|
+
const id = env.session.sessionId;
|
|
164
|
+
const title = env.session.sessionTitle || '(untitled)';
|
|
165
|
+
const mode = env.session.config.mode;
|
|
166
|
+
const model = env.session.config.model;
|
|
167
|
+
const provider = env.session.config.provider;
|
|
168
|
+
const msgs = env.session.messages.length;
|
|
169
|
+
const totalIn = env.session.totalInputTokens;
|
|
170
|
+
const totalOut = env.session.totalOutputTokens;
|
|
171
|
+
const totalApi = env.session.totalApiCalls;
|
|
172
|
+
const created = env.session.sessionCreatedAt.slice(0, 10);
|
|
173
|
+
const info = '' +
|
|
174
|
+
`ID: ${id}\n` +
|
|
175
|
+
`Title: ${title}\n` +
|
|
176
|
+
`Mode: ${mode}\n` +
|
|
177
|
+
`Model: ${model} (${provider})\n` +
|
|
178
|
+
`Messages: ${msgs}\n` +
|
|
179
|
+
`Tokens: ${totalIn + totalOut} (in: ${totalIn}, out: ${totalOut})\n` +
|
|
180
|
+
`API Calls: ${totalApi}\n` +
|
|
181
|
+
`Created: ${created}\n`;
|
|
182
|
+
env.ui.write(info.trimEnd());
|
|
183
|
+
return true;
|
|
184
|
+
}
|
|
185
|
+
export async function handleFork(env) {
|
|
186
|
+
if (env.isRunning) {
|
|
187
|
+
env.ui.write('Cannot fork while agent is running. Wait or use /stop first.');
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
if (env.session.messages.length <= 1) {
|
|
191
|
+
env.ui.write('No conversation to fork. Start a conversation first.');
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
194
|
+
const forked = env.session.fork();
|
|
195
|
+
forked.onPlanWritten = env.session.onPlanWritten;
|
|
196
|
+
const baseTitle = forked.sessionTitle || 'forked session';
|
|
197
|
+
env.ui.write(`Forked new session: ${baseTitle}`);
|
|
198
|
+
env.ui.write(` ID: ${forked.sessionId}`);
|
|
199
|
+
env.ui.onNewSession(forked);
|
|
200
|
+
env.ui.onStateChange();
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
export function handleInit(env) {
|
|
204
|
+
ensureSkillsDir(env.config.cwd);
|
|
205
|
+
ensurePromptsDir(env.config.cwd);
|
|
206
|
+
env.ui.write('Initialized .lonny/skills/ and .lonny/prompts/');
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
209
|
+
export function handleStop(env) {
|
|
210
|
+
if (!env.isRunning) {
|
|
211
|
+
env.ui.write('Agent is not running.');
|
|
212
|
+
return true;
|
|
213
|
+
}
|
|
214
|
+
env.session.stop();
|
|
215
|
+
env.ui.write('Stopping agent...');
|
|
216
|
+
return true;
|
|
217
|
+
}
|
|
218
|
+
function lastUserQuestion(messages) {
|
|
219
|
+
const lastUserMsg = [...messages].reverse().find(m => m.role === 'user');
|
|
220
|
+
if (!lastUserMsg || typeof lastUserMsg.content !== 'string')
|
|
221
|
+
return null;
|
|
222
|
+
return lastUserMsg.content.length > 80
|
|
223
|
+
? `${lastUserMsg.content.slice(0, 80)}\u2026`
|
|
224
|
+
: lastUserMsg.content;
|
|
225
|
+
}
|
|
226
|
+
export async function dispatchCommand(env, cmd, arg) {
|
|
227
|
+
switch (cmd) {
|
|
228
|
+
case 'new':
|
|
229
|
+
handleNew(env);
|
|
230
|
+
return true;
|
|
231
|
+
case 'mode':
|
|
232
|
+
return handleMode(env, arg);
|
|
233
|
+
case 'model':
|
|
234
|
+
return handleModel(env, arg);
|
|
235
|
+
case 'prompts':
|
|
236
|
+
return handlePrompts(env);
|
|
237
|
+
case 'skills':
|
|
238
|
+
return handleSkills(env);
|
|
239
|
+
case 'sessions':
|
|
240
|
+
return handleSessions(env);
|
|
241
|
+
case 'session':
|
|
242
|
+
return handleSessionCommand(env, arg);
|
|
243
|
+
case 'fork':
|
|
244
|
+
return handleFork(env);
|
|
245
|
+
case 'init':
|
|
246
|
+
return handleInit(env);
|
|
247
|
+
case 'stop':
|
|
248
|
+
return handleStop(env);
|
|
249
|
+
default:
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/agent/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/compaction.js
CHANGED
|
@@ -155,6 +155,7 @@ function buildSummary(messages) {
|
|
|
155
155
|
}
|
|
156
156
|
function extractEditPaths(input) {
|
|
157
157
|
const paths = [];
|
|
158
|
+
// Accumulate paths from legacy input format: { edits: [{ file_path: '...' }, ...] }
|
|
158
159
|
if (Array.isArray(input.edits)) {
|
|
159
160
|
for (const e of input.edits) {
|
|
160
161
|
if (typeof e === 'object' && e && 'file_path' in e) {
|
|
@@ -162,6 +163,12 @@ function extractEditPaths(input) {
|
|
|
162
163
|
}
|
|
163
164
|
}
|
|
164
165
|
}
|
|
165
|
-
|
|
166
|
+
// Also support direct input format used by tests: { file_path: '...' }
|
|
167
|
+
const direct = input;
|
|
168
|
+
if (typeof direct.file_path === 'string') {
|
|
169
|
+
paths.push(direct.file_path);
|
|
170
|
+
}
|
|
171
|
+
// Deduplicate to avoid reporting duplicates
|
|
172
|
+
return Array.from(new Set(paths));
|
|
166
173
|
}
|
|
167
174
|
//# sourceMappingURL=compaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/agent/compaction.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/agent/compaction.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { Config } from '../config/index.js';
|
|
2
|
-
|
|
2
|
+
import { Session } from './session.js';
|
|
3
|
+
export declare function runAgent(prompt: string, config: Config, preloadedSession?: Session): Promise<void>;
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAsB,MAAM,cAAc,CAAA;AAE1D,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,OAAO,GACzB,OAAO,CAAC,IAAI,CAAC,CAqBf"}
|