zerg-ztc 0.1.0
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/README.md +361 -0
- package/dist/App.d.ts +4 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/App.js +499 -0
- package/dist/App.js.map +1 -0
- package/dist/agent/agent.d.ts +54 -0
- package/dist/agent/agent.d.ts.map +1 -0
- package/dist/agent/agent.js +347 -0
- package/dist/agent/agent.js.map +1 -0
- package/dist/agent/backends/anthropic.d.ts +13 -0
- package/dist/agent/backends/anthropic.d.ts.map +1 -0
- package/dist/agent/backends/anthropic.js +54 -0
- package/dist/agent/backends/anthropic.js.map +1 -0
- package/dist/agent/backends/gemini.d.ts +13 -0
- package/dist/agent/backends/gemini.d.ts.map +1 -0
- package/dist/agent/backends/gemini.js +71 -0
- package/dist/agent/backends/gemini.js.map +1 -0
- package/dist/agent/backends/inception.d.ts +12 -0
- package/dist/agent/backends/inception.d.ts.map +1 -0
- package/dist/agent/backends/inception.js +15 -0
- package/dist/agent/backends/inception.js.map +1 -0
- package/dist/agent/backends/index.d.ts +7 -0
- package/dist/agent/backends/index.d.ts.map +1 -0
- package/dist/agent/backends/index.js +6 -0
- package/dist/agent/backends/index.js.map +1 -0
- package/dist/agent/backends/openai.d.ts +12 -0
- package/dist/agent/backends/openai.d.ts.map +1 -0
- package/dist/agent/backends/openai.js +15 -0
- package/dist/agent/backends/openai.js.map +1 -0
- package/dist/agent/backends/openai_compatible.d.ts +17 -0
- package/dist/agent/backends/openai_compatible.d.ts.map +1 -0
- package/dist/agent/backends/openai_compatible.js +95 -0
- package/dist/agent/backends/openai_compatible.js.map +1 -0
- package/dist/agent/backends/types.d.ts +49 -0
- package/dist/agent/backends/types.d.ts.map +1 -0
- package/dist/agent/backends/types.js +2 -0
- package/dist/agent/backends/types.js.map +1 -0
- package/dist/agent/commands/clipboard.d.ts +3 -0
- package/dist/agent/commands/clipboard.d.ts.map +1 -0
- package/dist/agent/commands/clipboard.js +72 -0
- package/dist/agent/commands/clipboard.js.map +1 -0
- package/dist/agent/commands/config.d.ts +3 -0
- package/dist/agent/commands/config.d.ts.map +1 -0
- package/dist/agent/commands/config.js +120 -0
- package/dist/agent/commands/config.js.map +1 -0
- package/dist/agent/commands/debug.d.ts +3 -0
- package/dist/agent/commands/debug.d.ts.map +1 -0
- package/dist/agent/commands/debug.js +23 -0
- package/dist/agent/commands/debug.js.map +1 -0
- package/dist/agent/commands/emulation.d.ts +3 -0
- package/dist/agent/commands/emulation.d.ts.map +1 -0
- package/dist/agent/commands/emulation.js +78 -0
- package/dist/agent/commands/emulation.js.map +1 -0
- package/dist/agent/commands/execution.d.ts +3 -0
- package/dist/agent/commands/execution.d.ts.map +1 -0
- package/dist/agent/commands/execution.js +8 -0
- package/dist/agent/commands/execution.js.map +1 -0
- package/dist/agent/commands/help.d.ts +3 -0
- package/dist/agent/commands/help.d.ts.map +1 -0
- package/dist/agent/commands/help.js +19 -0
- package/dist/agent/commands/help.js.map +1 -0
- package/dist/agent/commands/history.d.ts +3 -0
- package/dist/agent/commands/history.d.ts.map +1 -0
- package/dist/agent/commands/history.js +12 -0
- package/dist/agent/commands/history.js.map +1 -0
- package/dist/agent/commands/index.d.ts +4 -0
- package/dist/agent/commands/index.d.ts.map +1 -0
- package/dist/agent/commands/index.js +19 -0
- package/dist/agent/commands/index.js.map +1 -0
- package/dist/agent/commands/model.d.ts +3 -0
- package/dist/agent/commands/model.d.ts.map +1 -0
- package/dist/agent/commands/model.js +10 -0
- package/dist/agent/commands/model.js.map +1 -0
- package/dist/agent/commands/models.d.ts +3 -0
- package/dist/agent/commands/models.d.ts.map +1 -0
- package/dist/agent/commands/models.js +110 -0
- package/dist/agent/commands/models.js.map +1 -0
- package/dist/agent/commands/permissions.d.ts +3 -0
- package/dist/agent/commands/permissions.d.ts.map +1 -0
- package/dist/agent/commands/permissions.js +58 -0
- package/dist/agent/commands/permissions.js.map +1 -0
- package/dist/agent/commands/retry.d.ts +3 -0
- package/dist/agent/commands/retry.d.ts.map +1 -0
- package/dist/agent/commands/retry.js +8 -0
- package/dist/agent/commands/retry.js.map +1 -0
- package/dist/agent/commands/shell.d.ts +4 -0
- package/dist/agent/commands/shell.d.ts.map +1 -0
- package/dist/agent/commands/shell.js +66 -0
- package/dist/agent/commands/shell.js.map +1 -0
- package/dist/agent/commands/skills.d.ts +3 -0
- package/dist/agent/commands/skills.d.ts.map +1 -0
- package/dist/agent/commands/skills.js +50 -0
- package/dist/agent/commands/skills.js.map +1 -0
- package/dist/agent/commands/status.d.ts +3 -0
- package/dist/agent/commands/status.d.ts.map +1 -0
- package/dist/agent/commands/status.js +18 -0
- package/dist/agent/commands/status.js.map +1 -0
- package/dist/agent/commands/types.d.ts +70 -0
- package/dist/agent/commands/types.d.ts.map +1 -0
- package/dist/agent/commands/types.js +2 -0
- package/dist/agent/commands/types.js.map +1 -0
- package/dist/agent/factory.d.ts +13 -0
- package/dist/agent/factory.d.ts.map +1 -0
- package/dist/agent/factory.js +46 -0
- package/dist/agent/factory.js.map +1 -0
- package/dist/agent/index.d.ts +14 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +10 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/runtime/capabilities.d.ts +7 -0
- package/dist/agent/runtime/capabilities.d.ts.map +1 -0
- package/dist/agent/runtime/capabilities.js +8 -0
- package/dist/agent/runtime/capabilities.js.map +1 -0
- package/dist/agent/runtime/memory.d.ts +13 -0
- package/dist/agent/runtime/memory.d.ts.map +1 -0
- package/dist/agent/runtime/memory.js +13 -0
- package/dist/agent/runtime/memory.js.map +1 -0
- package/dist/agent/runtime/policy.d.ts +22 -0
- package/dist/agent/runtime/policy.d.ts.map +1 -0
- package/dist/agent/runtime/policy.js +29 -0
- package/dist/agent/runtime/policy.js.map +1 -0
- package/dist/agent/runtime/session.d.ts +11 -0
- package/dist/agent/runtime/session.d.ts.map +1 -0
- package/dist/agent/runtime/session.js +10 -0
- package/dist/agent/runtime/session.js.map +1 -0
- package/dist/agent/runtime/tracing.d.ts +13 -0
- package/dist/agent/runtime/tracing.d.ts.map +1 -0
- package/dist/agent/runtime/tracing.js +6 -0
- package/dist/agent/runtime/tracing.js.map +1 -0
- package/dist/agent/tools/file.d.ts +5 -0
- package/dist/agent/tools/file.d.ts.map +1 -0
- package/dist/agent/tools/file.js +162 -0
- package/dist/agent/tools/file.js.map +1 -0
- package/dist/agent/tools/index.d.ts +13 -0
- package/dist/agent/tools/index.d.ts.map +1 -0
- package/dist/agent/tools/index.js +34 -0
- package/dist/agent/tools/index.js.map +1 -0
- package/dist/agent/tools/search.d.ts +3 -0
- package/dist/agent/tools/search.d.ts.map +1 -0
- package/dist/agent/tools/search.js +124 -0
- package/dist/agent/tools/search.js.map +1 -0
- package/dist/agent/tools/shell.d.ts +3 -0
- package/dist/agent/tools/shell.d.ts.map +1 -0
- package/dist/agent/tools/shell.js +60 -0
- package/dist/agent/tools/shell.js.map +1 -0
- package/dist/agent/tools/skills.d.ts +3 -0
- package/dist/agent/tools/skills.d.ts.map +1 -0
- package/dist/agent/tools/skills.js +27 -0
- package/dist/agent/tools/skills.js.map +1 -0
- package/dist/agent/tools/types.d.ts +8 -0
- package/dist/agent/tools/types.d.ts.map +1 -0
- package/dist/agent/tools/types.js +2 -0
- package/dist/agent/tools/types.js.map +1 -0
- package/dist/agent/tools/zerg.d.ts +3 -0
- package/dist/agent/tools/zerg.d.ts.map +1 -0
- package/dist/agent/tools/zerg.js +47 -0
- package/dist/agent/tools/zerg.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +75 -0
- package/dist/cli.js.map +1 -0
- package/dist/components/FullScreen.d.ts +28 -0
- package/dist/components/FullScreen.d.ts.map +1 -0
- package/dist/components/FullScreen.js +40 -0
- package/dist/components/FullScreen.js.map +1 -0
- package/dist/components/Header.d.ts +10 -0
- package/dist/components/Header.d.ts.map +1 -0
- package/dist/components/Header.js +14 -0
- package/dist/components/Header.js.map +1 -0
- package/dist/components/InputArea.d.ts +24 -0
- package/dist/components/InputArea.d.ts.map +1 -0
- package/dist/components/InputArea.js +476 -0
- package/dist/components/InputArea.js.map +1 -0
- package/dist/components/MessageList.d.ts +12 -0
- package/dist/components/MessageList.d.ts.map +1 -0
- package/dist/components/MessageList.js +9 -0
- package/dist/components/MessageList.js.map +1 -0
- package/dist/components/StatusBar.d.ts +18 -0
- package/dist/components/StatusBar.d.ts.map +1 -0
- package/dist/components/StatusBar.js +21 -0
- package/dist/components/StatusBar.js.map +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +7 -0
- package/dist/components/index.js.map +1 -0
- package/dist/config/types.d.ts +12 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config.d.ts +28 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +155 -0
- package/dist/config.js.map +1 -0
- package/dist/debug/logger.d.ts +2 -0
- package/dist/debug/logger.d.ts.map +1 -0
- package/dist/debug/logger.js +15 -0
- package/dist/debug/logger.js.map +1 -0
- package/dist/emulation/catalog.d.ts +4 -0
- package/dist/emulation/catalog.d.ts.map +1 -0
- package/dist/emulation/catalog.js +68 -0
- package/dist/emulation/catalog.js.map +1 -0
- package/dist/emulation/trace_style.d.ts +3 -0
- package/dist/emulation/trace_style.d.ts.map +1 -0
- package/dist/emulation/trace_style.js +10 -0
- package/dist/emulation/trace_style.js.map +1 -0
- package/dist/emulation/types.d.ts +8 -0
- package/dist/emulation/types.d.ts.map +1 -0
- package/dist/emulation/types.js +2 -0
- package/dist/emulation/types.js.map +1 -0
- package/dist/skills/index.d.ts +5 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +36 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/loader.d.ts +3 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +137 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/registry.d.ts +3 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +5 -0
- package/dist/skills/registry.js.map +1 -0
- package/dist/skills/types.d.ts +11 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +2 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/types.d.ts +93 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/core/factory.d.ts +4 -0
- package/dist/ui/core/factory.d.ts.map +1 -0
- package/dist/ui/core/factory.js +7 -0
- package/dist/ui/core/factory.js.map +1 -0
- package/dist/ui/core/index.d.ts +5 -0
- package/dist/ui/core/index.d.ts.map +1 -0
- package/dist/ui/core/index.js +4 -0
- package/dist/ui/core/index.js.map +1 -0
- package/dist/ui/core/input.d.ts +22 -0
- package/dist/ui/core/input.d.ts.map +1 -0
- package/dist/ui/core/input.js +15 -0
- package/dist/ui/core/input.js.map +1 -0
- package/dist/ui/core/input_segments.d.ts +19 -0
- package/dist/ui/core/input_segments.d.ts.map +1 -0
- package/dist/ui/core/input_segments.js +367 -0
- package/dist/ui/core/input_segments.js.map +1 -0
- package/dist/ui/core/input_state.d.ts +24 -0
- package/dist/ui/core/input_state.d.ts.map +1 -0
- package/dist/ui/core/input_state.js +2 -0
- package/dist/ui/core/input_state.js.map +1 -0
- package/dist/ui/core/layout_yoga.d.ts +11 -0
- package/dist/ui/core/layout_yoga.d.ts.map +1 -0
- package/dist/ui/core/layout_yoga.js +102 -0
- package/dist/ui/core/layout_yoga.js.map +1 -0
- package/dist/ui/core/style.d.ts +3 -0
- package/dist/ui/core/style.d.ts.map +1 -0
- package/dist/ui/core/style.js +37 -0
- package/dist/ui/core/style.js.map +1 -0
- package/dist/ui/core/types.d.ts +50 -0
- package/dist/ui/core/types.d.ts.map +1 -0
- package/dist/ui/core/types.js +2 -0
- package/dist/ui/core/types.js.map +1 -0
- package/dist/ui/ink/index.d.ts +2 -0
- package/dist/ui/ink/index.d.ts.map +1 -0
- package/dist/ui/ink/index.js +2 -0
- package/dist/ui/ink/index.js.map +1 -0
- package/dist/ui/ink/render.d.ts +6 -0
- package/dist/ui/ink/render.d.ts.map +1 -0
- package/dist/ui/ink/render.js +14 -0
- package/dist/ui/ink/render.js.map +1 -0
- package/dist/ui/views/app.d.ts +28 -0
- package/dist/ui/views/app.d.ts.map +1 -0
- package/dist/ui/views/app.js +59 -0
- package/dist/ui/views/app.js.map +1 -0
- package/dist/ui/views/header.d.ts +11 -0
- package/dist/ui/views/header.d.ts.map +1 -0
- package/dist/ui/views/header.js +28 -0
- package/dist/ui/views/header.js.map +1 -0
- package/dist/ui/views/input_area.d.ts +45 -0
- package/dist/ui/views/input_area.d.ts.map +1 -0
- package/dist/ui/views/input_area.js +183 -0
- package/dist/ui/views/input_area.js.map +1 -0
- package/dist/ui/views/message_list.d.ts +12 -0
- package/dist/ui/views/message_list.d.ts.map +1 -0
- package/dist/ui/views/message_list.js +381 -0
- package/dist/ui/views/message_list.js.map +1 -0
- package/dist/ui/views/status_bar.d.ts +18 -0
- package/dist/ui/views/status_bar.d.ts.map +1 -0
- package/dist/ui/views/status_bar.js +72 -0
- package/dist/ui/views/status_bar.js.map +1 -0
- package/dist/ui/vue/index.d.ts +5 -0
- package/dist/ui/vue/index.d.ts.map +1 -0
- package/dist/ui/vue/index.js +50 -0
- package/dist/ui/vue/index.js.map +1 -0
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +39 -0
- package/dist/utils/clipboard.js.map +1 -0
- package/dist/utils/clipboard_image.d.ts +2 -0
- package/dist/utils/clipboard_image.d.ts.map +1 -0
- package/dist/utils/clipboard_image.js +37 -0
- package/dist/utils/clipboard_image.js.map +1 -0
- package/dist/utils/diff.d.ts +2 -0
- package/dist/utils/diff.d.ts.map +1 -0
- package/dist/utils/diff.js +49 -0
- package/dist/utils/diff.js.map +1 -0
- package/dist/utils/image_preview.d.ts +2 -0
- package/dist/utils/image_preview.d.ts.map +1 -0
- package/dist/utils/image_preview.js +37 -0
- package/dist/utils/image_preview.js.map +1 -0
- package/dist/utils/models.d.ts +8 -0
- package/dist/utils/models.d.ts.map +1 -0
- package/dist/utils/models.js +85 -0
- package/dist/utils/models.js.map +1 -0
- package/dist/utils/shell.d.ts +4 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +57 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/tool_summary.d.ts +3 -0
- package/dist/utils/tool_summary.d.ts.map +1 -0
- package/dist/utils/tool_summary.js +54 -0
- package/dist/utils/tool_summary.js.map +1 -0
- package/dist/utils/tool_trace.d.ts +9 -0
- package/dist/utils/tool_trace.d.ts.map +1 -0
- package/dist/utils/tool_trace.js +183 -0
- package/dist/utils/tool_trace.js.map +1 -0
- package/package.json +41 -0
- package/src/App.tsx +576 -0
- package/src/agent/agent.ts +407 -0
- package/src/agent/backends/anthropic.ts +76 -0
- package/src/agent/backends/gemini.ts +107 -0
- package/src/agent/backends/inception.ts +23 -0
- package/src/agent/backends/index.ts +16 -0
- package/src/agent/backends/openai.ts +23 -0
- package/src/agent/backends/openai_compatible.ts +131 -0
- package/src/agent/backends/types.ts +59 -0
- package/src/agent/commands/clipboard.ts +77 -0
- package/src/agent/commands/config.ts +130 -0
- package/src/agent/commands/debug.ts +23 -0
- package/src/agent/commands/emulation.ts +80 -0
- package/src/agent/commands/execution.ts +9 -0
- package/src/agent/commands/help.ts +20 -0
- package/src/agent/commands/history.ts +13 -0
- package/src/agent/commands/index.ts +40 -0
- package/src/agent/commands/model.ts +11 -0
- package/src/agent/commands/models.ts +116 -0
- package/src/agent/commands/permissions.ts +64 -0
- package/src/agent/commands/retry.ts +9 -0
- package/src/agent/commands/shell.ts +68 -0
- package/src/agent/commands/skills.ts +54 -0
- package/src/agent/commands/status.ts +19 -0
- package/src/agent/commands/types.ts +78 -0
- package/src/agent/factory.ts +60 -0
- package/src/agent/index.ts +20 -0
- package/src/agent/runtime/capabilities.ts +6 -0
- package/src/agent/runtime/memory.ts +23 -0
- package/src/agent/runtime/policy.ts +48 -0
- package/src/agent/runtime/session.ts +18 -0
- package/src/agent/runtime/tracing.ts +23 -0
- package/src/agent/tools/file.ts +173 -0
- package/src/agent/tools/index.ts +46 -0
- package/src/agent/tools/search.ts +137 -0
- package/src/agent/tools/shell.ts +65 -0
- package/src/agent/tools/skills.ts +28 -0
- package/src/agent/tools/types.ts +10 -0
- package/src/agent/tools/zerg.ts +50 -0
- package/src/cli.tsx +80 -0
- package/src/components/FullScreen.tsx +73 -0
- package/src/components/Header.tsx +27 -0
- package/src/components/InputArea.tsx +551 -0
- package/src/components/MessageList.tsx +25 -0
- package/src/components/StatusBar.tsx +49 -0
- package/src/components/index.tsx +6 -0
- package/src/config/types.ts +11 -0
- package/src/config.ts +178 -0
- package/src/debug/logger.ts +14 -0
- package/src/emulation/README.md +24 -0
- package/src/emulation/catalog.ts +82 -0
- package/src/emulation/trace_style.ts +8 -0
- package/src/emulation/types.ts +7 -0
- package/src/skills/index.ts +36 -0
- package/src/skills/loader.ts +135 -0
- package/src/skills/registry.ts +6 -0
- package/src/skills/types.ts +10 -0
- package/src/types.ts +83 -0
- package/src/ui/README.md +44 -0
- package/src/ui/core/factory.ts +9 -0
- package/src/ui/core/index.ts +4 -0
- package/src/ui/core/input.ts +38 -0
- package/src/ui/core/input_segments.ts +375 -0
- package/src/ui/core/input_state.ts +17 -0
- package/src/ui/core/layout_yoga.ts +122 -0
- package/src/ui/core/style.ts +38 -0
- package/src/ui/core/types.ts +53 -0
- package/src/ui/ink/index.tsx +1 -0
- package/src/ui/ink/render.tsx +49 -0
- package/src/ui/views/app.ts +99 -0
- package/src/ui/views/header.ts +42 -0
- package/src/ui/views/input_area.ts +244 -0
- package/src/ui/views/message_list.ts +427 -0
- package/src/ui/views/status_bar.ts +104 -0
- package/src/ui/vue/index.ts +53 -0
- package/src/utils/clipboard.ts +39 -0
- package/src/utils/clipboard_image.ts +40 -0
- package/src/utils/diff.ts +52 -0
- package/src/utils/image_preview.ts +36 -0
- package/src/utils/models.ts +98 -0
- package/src/utils/shell.ts +63 -0
- package/src/utils/tool_summary.ts +56 -0
- package/src/utils/tool_trace.ts +206 -0
- package/tsconfig.json +22 -0
- package/vite.config.ts +363 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { makeHelpCommand } from './help.js';
|
|
2
|
+
import { configCommand } from './config.js';
|
|
3
|
+
import { debugCommand } from './debug.js';
|
|
4
|
+
import { clearCommand } from './history.js';
|
|
5
|
+
import { statusCommand } from './status.js';
|
|
6
|
+
import { exitCommand } from './execution.js';
|
|
7
|
+
import { emulationCommand } from './emulation.js';
|
|
8
|
+
import { shellCommand, cdCommand } from './shell.js';
|
|
9
|
+
import { clipboardCommand } from './clipboard.js';
|
|
10
|
+
import { modelsCommand } from './models.js';
|
|
11
|
+
import { modelCommand } from './model.js';
|
|
12
|
+
import { permissionsCommand } from './permissions.js';
|
|
13
|
+
import { skillsCommand } from './skills.js';
|
|
14
|
+
import { retryCommand } from './retry.js';
|
|
15
|
+
const commandList = [];
|
|
16
|
+
const helpCommand = makeHelpCommand(() => commandList);
|
|
17
|
+
commandList.push(helpCommand, configCommand, debugCommand, clearCommand, statusCommand, emulationCommand, shellCommand, cdCommand, clipboardCommand, modelsCommand, modelCommand, permissionsCommand, skillsCommand, retryCommand, exitCommand);
|
|
18
|
+
export const commands = commandList;
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,MAAM,WAAW,GAAc,EAAE,CAAC;AAElC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;AAEvD,WAAW,CAAC,IAAI,CACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,WAAW,CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,eAAO,MAAM,YAAY,EAAE,OAO1B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { configCommand } from './config.js';
|
|
2
|
+
export const modelCommand = {
|
|
3
|
+
name: 'model',
|
|
4
|
+
description: 'Alias for /config model',
|
|
5
|
+
usage: '<model-id>',
|
|
6
|
+
handler: (args, ctx) => {
|
|
7
|
+
return configCommand.handler(['model', ...args], ctx);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/agent/commands/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAY;IACnC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,yBAAyB;IACtC,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACrB,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAsDrC,eAAO,MAAM,aAAa,EAAE,OA6D3B,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
const LATEST_TAGS = ['latest', 'current', 'default'];
|
|
2
|
+
function pickLatestModel(models) {
|
|
3
|
+
if (!models.length)
|
|
4
|
+
return null;
|
|
5
|
+
const tagged = models
|
|
6
|
+
.map(name => ({ name, lower: name.toLowerCase() }))
|
|
7
|
+
.filter(entry => LATEST_TAGS.some(tag => entry.lower.includes(tag)));
|
|
8
|
+
if (tagged.length > 0) {
|
|
9
|
+
const sorted = tagged.sort((a, b) => {
|
|
10
|
+
const aRank = LATEST_TAGS.findIndex(tag => a.lower.includes(tag));
|
|
11
|
+
const bRank = LATEST_TAGS.findIndex(tag => b.lower.includes(tag));
|
|
12
|
+
if (aRank !== bRank)
|
|
13
|
+
return aRank - bRank;
|
|
14
|
+
return b.name.localeCompare(a.name);
|
|
15
|
+
});
|
|
16
|
+
return sorted[0].name;
|
|
17
|
+
}
|
|
18
|
+
const datePattern = /(\d{4})[.-]?(\d{2})[.-]?(\d{2})/;
|
|
19
|
+
const withDates = models
|
|
20
|
+
.map(name => {
|
|
21
|
+
const match = name.match(datePattern);
|
|
22
|
+
if (!match)
|
|
23
|
+
return null;
|
|
24
|
+
const dateValue = Number(match[1]) * 10000 + Number(match[2]) * 100 + Number(match[3]);
|
|
25
|
+
return { name, dateValue };
|
|
26
|
+
})
|
|
27
|
+
.filter((entry) => !!entry);
|
|
28
|
+
if (withDates.length > 0) {
|
|
29
|
+
withDates.sort((a, b) => b.dateValue - a.dateValue || b.name.localeCompare(a.name));
|
|
30
|
+
return withDates[0].name;
|
|
31
|
+
}
|
|
32
|
+
const versionPattern = /(\d+(?:\.\d+)+|\d+)/g;
|
|
33
|
+
const withVersions = models
|
|
34
|
+
.map(name => {
|
|
35
|
+
const match = name.match(versionPattern);
|
|
36
|
+
if (!match || match.length === 0)
|
|
37
|
+
return null;
|
|
38
|
+
const versionValue = parseFloat(match[0]);
|
|
39
|
+
return { name, versionValue };
|
|
40
|
+
})
|
|
41
|
+
.filter((entry) => !!entry);
|
|
42
|
+
if (withVersions.length > 0) {
|
|
43
|
+
withVersions.sort((a, b) => b.versionValue - a.versionValue || b.name.localeCompare(a.name));
|
|
44
|
+
return withVersions[0].name;
|
|
45
|
+
}
|
|
46
|
+
return models.slice().sort((a, b) => b.localeCompare(a))[0];
|
|
47
|
+
}
|
|
48
|
+
export const modelsCommand = {
|
|
49
|
+
name: 'models',
|
|
50
|
+
description: 'List or set available models for a provider',
|
|
51
|
+
usage: '<list [provider]|latest [provider]|set <model-id>>',
|
|
52
|
+
handler: async (args, ctx) => {
|
|
53
|
+
const subCmd = (args[0] || 'list').toLowerCase();
|
|
54
|
+
if (subCmd === 'set') {
|
|
55
|
+
const value = args.slice(1).join(' ').trim();
|
|
56
|
+
if (!value) {
|
|
57
|
+
ctx.addMessage({
|
|
58
|
+
role: 'system',
|
|
59
|
+
content: 'Usage: /models set <model-id>'
|
|
60
|
+
});
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
ctx.config.set('model', value);
|
|
64
|
+
await ctx.config.save();
|
|
65
|
+
ctx.reloadAgent();
|
|
66
|
+
ctx.addMessage({ role: 'system', content: `✓ Model updated: ${value}` });
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const provider = args[0] && args[0] !== 'list' && args[0] !== 'latest' ? args[0] : ctx.config.getProvider();
|
|
70
|
+
try {
|
|
71
|
+
const models = await ctx.models.list(provider);
|
|
72
|
+
if (models.length === 0) {
|
|
73
|
+
ctx.addMessage({
|
|
74
|
+
role: 'system',
|
|
75
|
+
content: `No models returned for provider: ${provider}`
|
|
76
|
+
});
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (subCmd === 'latest') {
|
|
80
|
+
const latest = pickLatestModel(models);
|
|
81
|
+
if (!latest) {
|
|
82
|
+
ctx.addMessage({
|
|
83
|
+
role: 'system',
|
|
84
|
+
content: `Unable to determine latest model for ${provider}`
|
|
85
|
+
});
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
ctx.config.set('model', latest);
|
|
89
|
+
await ctx.config.save();
|
|
90
|
+
ctx.reloadAgent();
|
|
91
|
+
ctx.addMessage({ role: 'system', content: `✓ Model updated: ${latest}` });
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
const lines = models.sort().map(model => ` ${model}`);
|
|
95
|
+
ctx.addMessage({
|
|
96
|
+
role: 'system',
|
|
97
|
+
content: [`Models (${provider}):`, ...lines].join('\n')
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
const message = err instanceof Error ? err.message : 'Unable to list models';
|
|
103
|
+
ctx.addMessage({
|
|
104
|
+
role: 'system',
|
|
105
|
+
content: `Models error: ${message}`
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/agent/commands/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAQrC,eAAO,MAAM,kBAAkB,EAAE,OAuDhC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
const ALL_CAPS = ['file_read', 'file_write', 'shell_exec', 'network'];
|
|
2
|
+
function normalize(value) {
|
|
3
|
+
return value.trim().toLowerCase();
|
|
4
|
+
}
|
|
5
|
+
export const permissionsCommand = {
|
|
6
|
+
name: 'permissions',
|
|
7
|
+
description: 'View or update tool permissions',
|
|
8
|
+
usage: '<show|set> [capability] [on|off]',
|
|
9
|
+
handler: async (args, ctx) => {
|
|
10
|
+
const subCmd = normalize(args[0] || 'show');
|
|
11
|
+
const config = ctx.config.get();
|
|
12
|
+
const current = config.toolPermissions || {};
|
|
13
|
+
if (subCmd === 'show') {
|
|
14
|
+
const lines = ALL_CAPS.map(cap => {
|
|
15
|
+
const value = current[cap];
|
|
16
|
+
const label = value === false ? 'off' : 'on';
|
|
17
|
+
return ` ${cap}: ${label}`;
|
|
18
|
+
});
|
|
19
|
+
ctx.addMessage({
|
|
20
|
+
role: 'system',
|
|
21
|
+
content: ['Tool permissions:', ...lines].join('\n')
|
|
22
|
+
});
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (subCmd === 'set') {
|
|
26
|
+
const cap = normalize(args[1] || '');
|
|
27
|
+
const value = normalize(args[2] || '');
|
|
28
|
+
if (!cap || !ALL_CAPS.includes(cap)) {
|
|
29
|
+
ctx.addMessage({
|
|
30
|
+
role: 'system',
|
|
31
|
+
content: `Usage: /permissions set <${ALL_CAPS.join('|')}> <on|off>`
|
|
32
|
+
});
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (value !== 'on' && value !== 'off') {
|
|
36
|
+
ctx.addMessage({
|
|
37
|
+
role: 'system',
|
|
38
|
+
content: 'Usage: /permissions set <capability> <on|off>'
|
|
39
|
+
});
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const next = { ...current, [cap]: value === 'on' };
|
|
43
|
+
ctx.config.set('toolPermissions', next);
|
|
44
|
+
await ctx.config.save();
|
|
45
|
+
ctx.reloadAgent();
|
|
46
|
+
ctx.addMessage({
|
|
47
|
+
role: 'system',
|
|
48
|
+
content: `✓ Permission updated: ${cap} ${value}`
|
|
49
|
+
});
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
ctx.addMessage({
|
|
53
|
+
role: 'system',
|
|
54
|
+
content: 'Usage: /permissions <show|set> [capability] [on|off]'
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/agent/commands/permissions.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,CAAU,CAAC;AAE/E,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAY;IACzC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,iCAAiC;IAC9C,KAAK,EAAE,kCAAkC;IACzC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;QAE7C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,KAAK,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7C,OAAO,KAAK,GAAG,KAAK,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,UAAU,CAAC;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aACpD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAA8B,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,4BAA4B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY;iBACpE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACtC,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,+CAA+C;iBACzD,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxB,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,GAAG,CAAC,UAAU,CAAC;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yBAAyB,GAAG,IAAI,KAAK,EAAE;aACjD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,GAAG,CAAC,UAAU,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sDAAsD;SAChE,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,eAAO,MAAM,YAAY,EAAE,OAM1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/agent/commands/retry.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAY;IACnC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,wBAAwB;IACrC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAqBlD,eAAO,MAAM,YAAY,EAAE,OAuB1B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,OAqBvB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
function formatShellResult(result) {
|
|
2
|
+
const lines = [];
|
|
3
|
+
const stdout = result.stdout.trimEnd();
|
|
4
|
+
const stderr = result.stderr.trimEnd();
|
|
5
|
+
if (stdout)
|
|
6
|
+
lines.push(stdout);
|
|
7
|
+
if (stderr)
|
|
8
|
+
lines.push(stderr);
|
|
9
|
+
if (!stdout && !stderr)
|
|
10
|
+
lines.push('(no output)');
|
|
11
|
+
if (result.exitCode !== 0) {
|
|
12
|
+
lines.push(`exit code: ${result.exitCode}`);
|
|
13
|
+
}
|
|
14
|
+
if (result.truncated) {
|
|
15
|
+
lines.push('(output truncated)');
|
|
16
|
+
}
|
|
17
|
+
return lines.join('\n');
|
|
18
|
+
}
|
|
19
|
+
export const shellCommand = {
|
|
20
|
+
name: 'shell',
|
|
21
|
+
description: 'Run a local shell command (or use !command)',
|
|
22
|
+
usage: '<command>',
|
|
23
|
+
handler: async (args, ctx) => {
|
|
24
|
+
const command = args.join(' ').trim();
|
|
25
|
+
if (!command) {
|
|
26
|
+
ctx.addMessage({
|
|
27
|
+
role: 'system',
|
|
28
|
+
content: 'Usage: /shell <command>\n\nExample:\n /shell ls -la\n !pwd'
|
|
29
|
+
});
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
ctx.addMessage({ role: 'system', content: `$ ${command}` });
|
|
33
|
+
try {
|
|
34
|
+
const result = await ctx.shell.run(command);
|
|
35
|
+
ctx.addMessage({ role: 'system', content: formatShellResult(result) });
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
const message = err instanceof Error ? err.message : 'Command failed';
|
|
39
|
+
ctx.addMessage({ role: 'system', content: `shell: ${message}` });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
export const cdCommand = {
|
|
44
|
+
name: 'cd',
|
|
45
|
+
description: 'Change working directory for !/shell commands',
|
|
46
|
+
usage: '[path]',
|
|
47
|
+
handler: async (args, ctx) => {
|
|
48
|
+
const target = args.join(' ').trim();
|
|
49
|
+
if (!target) {
|
|
50
|
+
ctx.addMessage({
|
|
51
|
+
role: 'system',
|
|
52
|
+
content: `cwd: ${ctx.shell.getCwd()}`
|
|
53
|
+
});
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
const next = await ctx.shell.setCwd(target);
|
|
58
|
+
ctx.addMessage({ role: 'system', content: `cwd: ${next}` });
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
const message = err instanceof Error ? err.message : 'Unable to change directory';
|
|
62
|
+
ctx.addMessage({ role: 'system', content: `cd: ${message}` });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=shell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/agent/commands/shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,eAAO,MAAM,aAAa,EAAE,OAkD3B,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { formatSkillList } from '../../skills/index.js';
|
|
2
|
+
export const skillsCommand = {
|
|
3
|
+
name: 'skills',
|
|
4
|
+
description: 'List or show available skills',
|
|
5
|
+
usage: '<list|show> [id]',
|
|
6
|
+
handler: async (args, ctx) => {
|
|
7
|
+
const subCmd = (args[0] || 'list').toLowerCase();
|
|
8
|
+
const registry = await ctx.skills.list();
|
|
9
|
+
if (subCmd === 'list') {
|
|
10
|
+
ctx.addMessage({
|
|
11
|
+
role: 'system',
|
|
12
|
+
content: formatSkillList(registry)
|
|
13
|
+
});
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (subCmd === 'show') {
|
|
17
|
+
const id = (args[1] || '').trim();
|
|
18
|
+
if (!id) {
|
|
19
|
+
ctx.addMessage({
|
|
20
|
+
role: 'system',
|
|
21
|
+
content: 'Usage: /skills show <id>'
|
|
22
|
+
});
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const skill = registry.find(entry => entry.id === id);
|
|
26
|
+
if (!skill) {
|
|
27
|
+
ctx.addMessage({
|
|
28
|
+
role: 'system',
|
|
29
|
+
content: `Skill not found: ${id}`
|
|
30
|
+
});
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
ctx.addMessage({
|
|
34
|
+
role: 'system',
|
|
35
|
+
content: [
|
|
36
|
+
`Skill: ${skill.name}`,
|
|
37
|
+
`ID: ${skill.id}`,
|
|
38
|
+
skill.description ? `Description: ${skill.description}` : '',
|
|
39
|
+
skill.instructions
|
|
40
|
+
].filter(Boolean).join('\n')
|
|
41
|
+
});
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
ctx.addMessage({
|
|
45
|
+
role: 'system',
|
|
46
|
+
content: 'Usage: /skills <list|show> [id]'
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/agent/commands/skills.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,+BAA+B;IAC5C,KAAK,EAAE,kBAAkB;IACzB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEzC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,GAAG,CAAC,UAAU,CAAC;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC;aACnC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,0BAA0B;iBACpC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,oBAAoB,EAAE,EAAE;iBAClC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,GAAG,CAAC,UAAU,CAAC;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE;oBACP,UAAU,KAAK,CAAC,IAAI,EAAE;oBACtB,OAAO,KAAK,CAAC,EAAE,EAAE;oBACjB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;oBAC5D,KAAK,CAAC,YAAY;iBACnB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aAC7B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,GAAG,CAAC,UAAU,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,iCAAiC;SAC3C,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,eAAO,MAAM,aAAa,EAAE,OAgB3B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const statusCommand = {
|
|
2
|
+
name: 'status',
|
|
3
|
+
description: 'Show current status',
|
|
4
|
+
handler: (_, ctx) => {
|
|
5
|
+
const hasKey = ctx.config.hasApiKey();
|
|
6
|
+
const config = ctx.config.get();
|
|
7
|
+
ctx.addMessage({
|
|
8
|
+
role: 'system',
|
|
9
|
+
content: [
|
|
10
|
+
'Status:',
|
|
11
|
+
` API Key: ${hasKey ? '✓ configured' : '✗ not set (use /config key <key>)'}`,
|
|
12
|
+
` Model: ${config.model}`,
|
|
13
|
+
` Ready: ${hasKey ? 'Yes' : 'No - need API key'}`
|
|
14
|
+
].join('\n')
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/agent/commands/status.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,qBAAqB;IAClC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChC,GAAG,CAAC,UAAU,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,SAAS;gBACT,cAAc,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,mCAAmC,EAAE;gBAC7E,YAAY,MAAM,CAAC,KAAK,EAAE;gBAC1B,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,EAAE;aACnD,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { AgentState, Message } from '../../types.js';
|
|
2
|
+
import { ZTCConfig } from '../../config/types.js';
|
|
3
|
+
import type { EmulationProfile } from '../../emulation/types.js';
|
|
4
|
+
import type { Skill } from '../../skills/types.js';
|
|
5
|
+
export interface ConfigController {
|
|
6
|
+
locationLabel?: string;
|
|
7
|
+
get: () => ZTCConfig;
|
|
8
|
+
set: <K extends keyof ZTCConfig>(key: K, value: ZTCConfig[K]) => void;
|
|
9
|
+
refresh?: () => Promise<void>;
|
|
10
|
+
hasApiKey: () => boolean;
|
|
11
|
+
getApiKey: (provider?: string) => string | undefined;
|
|
12
|
+
setApiKey: (key: string, provider?: string) => void;
|
|
13
|
+
getMaskedApiKey: () => string;
|
|
14
|
+
getProvider: () => string;
|
|
15
|
+
setProvider: (provider: string) => void;
|
|
16
|
+
getOpenAICompatibleBaseUrl: () => string | undefined;
|
|
17
|
+
setOpenAICompatibleBaseUrl: (url: string | undefined) => void;
|
|
18
|
+
getEmulationId: () => string | undefined;
|
|
19
|
+
setEmulationId: (id: string | undefined) => void;
|
|
20
|
+
save: () => void | Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
export interface EmulationController {
|
|
23
|
+
list: () => EmulationProfile[];
|
|
24
|
+
get: (id: string) => EmulationProfile | undefined;
|
|
25
|
+
}
|
|
26
|
+
export interface ShellResult {
|
|
27
|
+
command: string;
|
|
28
|
+
cwd: string;
|
|
29
|
+
stdout: string;
|
|
30
|
+
stderr: string;
|
|
31
|
+
exitCode: number;
|
|
32
|
+
truncated: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface ShellController {
|
|
35
|
+
run: (command: string) => Promise<ShellResult>;
|
|
36
|
+
getCwd: () => string;
|
|
37
|
+
setCwd: (path: string) => Promise<string>;
|
|
38
|
+
}
|
|
39
|
+
export interface ClipboardController {
|
|
40
|
+
writeText: (text: string) => Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
export interface ModelsController {
|
|
43
|
+
list: (provider?: string) => Promise<string[]>;
|
|
44
|
+
}
|
|
45
|
+
export interface SkillsController {
|
|
46
|
+
list: () => Promise<Skill[]>;
|
|
47
|
+
}
|
|
48
|
+
export interface CommandContext {
|
|
49
|
+
addMessage: (msg: Omit<Message, 'id' | 'timestamp'>) => void;
|
|
50
|
+
clearMessages: () => void;
|
|
51
|
+
getMessages: () => Message[];
|
|
52
|
+
setAgentState: (state: AgentState) => void;
|
|
53
|
+
reloadAgent: () => void;
|
|
54
|
+
setDebug: (debug: boolean) => void;
|
|
55
|
+
retry: () => void;
|
|
56
|
+
exit: () => void;
|
|
57
|
+
config: ConfigController;
|
|
58
|
+
emulation: EmulationController;
|
|
59
|
+
shell: ShellController;
|
|
60
|
+
clipboard: ClipboardController;
|
|
61
|
+
models: ModelsController;
|
|
62
|
+
skills: SkillsController;
|
|
63
|
+
}
|
|
64
|
+
export interface Command {
|
|
65
|
+
name: string;
|
|
66
|
+
description: string;
|
|
67
|
+
usage?: string;
|
|
68
|
+
handler: (args: string[], ctx: CommandContext) => void | Promise<void>;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agent/commands/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Agent } from './agent.js';
|
|
2
|
+
import { ZTCConfig } from '../config/types.js';
|
|
3
|
+
export interface AgentFactoryOptions {
|
|
4
|
+
config: ZTCConfig;
|
|
5
|
+
provider?: string;
|
|
6
|
+
apiKey?: string;
|
|
7
|
+
openaiCompatibleBaseUrl?: string;
|
|
8
|
+
emulationId?: string;
|
|
9
|
+
apiEndpoint?: string;
|
|
10
|
+
skillPrompt?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function createAgentFromConfig(options: AgentFactoryOptions): Agent | null;
|
|
13
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/agent/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,KAAK,GAAG,IAAI,CA2ChF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Agent } from './agent.js';
|
|
2
|
+
import { AnthropicBackend, OpenAIBackend, OpenAICompatibleBackend, GeminiBackend, InceptionBackend } from './backends/index.js';
|
|
3
|
+
import { getEmulationProfile } from '../emulation/catalog.js';
|
|
4
|
+
import { CapabilityPolicy } from './runtime/policy.js';
|
|
5
|
+
export function createAgentFromConfig(options) {
|
|
6
|
+
const provider = options.provider || options.config.provider || 'anthropic';
|
|
7
|
+
const apiKey = options.apiKey || options.config.apiKey || '';
|
|
8
|
+
if (!apiKey)
|
|
9
|
+
return null;
|
|
10
|
+
const emulationId = options.emulationId || options.config.emulationId;
|
|
11
|
+
const emulation = emulationId ? getEmulationProfile(emulationId) : undefined;
|
|
12
|
+
let backend;
|
|
13
|
+
switch (provider) {
|
|
14
|
+
case 'openai':
|
|
15
|
+
backend = new OpenAIBackend({ apiKey });
|
|
16
|
+
break;
|
|
17
|
+
case 'gemini':
|
|
18
|
+
backend = new GeminiBackend({ apiKey });
|
|
19
|
+
break;
|
|
20
|
+
case 'inception':
|
|
21
|
+
backend = new InceptionBackend({ apiKey });
|
|
22
|
+
break;
|
|
23
|
+
case 'openai_compatible':
|
|
24
|
+
backend = new OpenAICompatibleBackend({
|
|
25
|
+
apiKey,
|
|
26
|
+
baseUrl: options.openaiCompatibleBaseUrl || options.config.openaiCompatibleBaseUrl || 'https://api.openai.com/v1'
|
|
27
|
+
});
|
|
28
|
+
break;
|
|
29
|
+
case 'anthropic':
|
|
30
|
+
default:
|
|
31
|
+
backend = new AnthropicBackend({ apiKey, apiEndpoint: options.apiEndpoint });
|
|
32
|
+
}
|
|
33
|
+
const basePrompt = emulation?.systemPrompt;
|
|
34
|
+
const skillPrompt = options.skillPrompt?.trim();
|
|
35
|
+
const systemPrompt = skillPrompt
|
|
36
|
+
? [basePrompt, skillPrompt].filter(Boolean).join('\n\n')
|
|
37
|
+
: basePrompt;
|
|
38
|
+
return new Agent({
|
|
39
|
+
apiKey,
|
|
40
|
+
model: options.config.model,
|
|
41
|
+
systemPrompt,
|
|
42
|
+
backend,
|
|
43
|
+
policy: new CapabilityPolicy(options.config.toolPermissions)
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/agent/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,uBAAuB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChI,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAYvD,MAAM,UAAU,qBAAqB,CAAC,OAA4B;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC;IAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;IACtE,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,IAAI,OAAO,CAAC;IACZ,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACxC,MAAM;QACR,KAAK,QAAQ;YACX,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACxC,MAAM;QACR,KAAK,WAAW;YACd,OAAO,GAAG,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3C,MAAM;QACR,KAAK,mBAAmB;YACtB,OAAO,GAAG,IAAI,uBAAuB,CAAC;gBACpC,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,uBAAuB,IAAI,2BAA2B;aAClH,CAAC,CAAC;YACH,MAAM;QACR,KAAK,WAAW,CAAC;QACjB;YACE,OAAO,GAAG,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,EAAE,YAAY,CAAC;IAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAChD,MAAM,YAAY,GAAG,WAAW;QAC9B,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACxD,CAAC,CAAC,UAAU,CAAC;IAEf,OAAO,IAAI,KAAK,CAAC;QACf,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QAC3B,YAAY;QACZ,OAAO;QACP,MAAM,EAAE,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;KAC7D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { Agent, AgentError, type AgentConfig, type EventHandler } from './agent.js';
|
|
2
|
+
export { defaultTools, getToolDefinitions, getTool, executeTool, type Tool } from './tools/index.js';
|
|
3
|
+
export { AnthropicBackend, OpenAIBackend, OpenAICompatibleBackend, InceptionBackend, GeminiBackend } from './backends/index.js';
|
|
4
|
+
export type { AgentBackend, BackendRequest, BackendResponse } from './backends/index.js';
|
|
5
|
+
export { AllowAllPolicy } from './runtime/policy.js';
|
|
6
|
+
export type { Policy } from './runtime/policy.js';
|
|
7
|
+
export { NoopTracer } from './runtime/tracing.js';
|
|
8
|
+
export type { Tracer, TraceEvent, TraceEventType } from './runtime/tracing.js';
|
|
9
|
+
export { InMemoryStore } from './runtime/memory.js';
|
|
10
|
+
export type { MemoryStore } from './runtime/memory.js';
|
|
11
|
+
export { InMemorySessionStore } from './runtime/session.js';
|
|
12
|
+
export type { SessionStore } from './runtime/session.js';
|
|
13
|
+
export { ToolCapability } from './runtime/capabilities.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|