local-cli-agent 5.0.4
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/LICENSE +21 -0
- package/README.md +306 -0
- package/dist/agents/base/base-agent.d.ts +38 -0
- package/dist/agents/base/base-agent.d.ts.map +1 -0
- package/dist/agents/base/base-agent.js +69 -0
- package/dist/agents/base/base-agent.js.map +1 -0
- package/dist/agents/browser/browser-profile-manager.d.ts +16 -0
- package/dist/agents/browser/browser-profile-manager.d.ts.map +1 -0
- package/dist/agents/browser/browser-profile-manager.js +149 -0
- package/dist/agents/browser/browser-profile-manager.js.map +1 -0
- package/dist/agents/browser/browser-sub-agent.d.ts +22 -0
- package/dist/agents/browser/browser-sub-agent.d.ts.map +1 -0
- package/dist/agents/browser/browser-sub-agent.js +162 -0
- package/dist/agents/browser/browser-sub-agent.js.map +1 -0
- package/dist/agents/browser/confluence-agent.d.ts +3 -0
- package/dist/agents/browser/confluence-agent.d.ts.map +1 -0
- package/dist/agents/browser/confluence-agent.js +35 -0
- package/dist/agents/browser/confluence-agent.js.map +1 -0
- package/dist/agents/browser/index.d.ts +4 -0
- package/dist/agents/browser/index.d.ts.map +1 -0
- package/dist/agents/browser/index.js +4 -0
- package/dist/agents/browser/index.js.map +1 -0
- package/dist/agents/browser/jira-agent.d.ts +3 -0
- package/dist/agents/browser/jira-agent.d.ts.map +1 -0
- package/dist/agents/browser/jira-agent.js +35 -0
- package/dist/agents/browser/jira-agent.js.map +1 -0
- package/dist/agents/browser/prompts.d.ts +4 -0
- package/dist/agents/browser/prompts.d.ts.map +1 -0
- package/dist/agents/browser/prompts.js +241 -0
- package/dist/agents/browser/prompts.js.map +1 -0
- package/dist/agents/browser/search-agent.d.ts +3 -0
- package/dist/agents/browser/search-agent.d.ts.map +1 -0
- package/dist/agents/browser/search-agent.js +31 -0
- package/dist/agents/browser/search-agent.js.map +1 -0
- package/dist/agents/common/complete-tool.d.ts +3 -0
- package/dist/agents/common/complete-tool.d.ts.map +1 -0
- package/dist/agents/common/complete-tool.js +18 -0
- package/dist/agents/common/complete-tool.js.map +1 -0
- package/dist/agents/common/index.d.ts +3 -0
- package/dist/agents/common/index.d.ts.map +1 -0
- package/dist/agents/common/index.js +3 -0
- package/dist/agents/common/index.js.map +1 -0
- package/dist/agents/common/sub-agent.d.ts +40 -0
- package/dist/agents/common/sub-agent.d.ts.map +1 -0
- package/dist/agents/common/sub-agent.js +313 -0
- package/dist/agents/common/sub-agent.js.map +1 -0
- package/dist/agents/index.d.ts +5 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +5 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/office/complete-tool.d.ts +3 -0
- package/dist/agents/office/complete-tool.d.ts.map +1 -0
- package/dist/agents/office/complete-tool.js +18 -0
- package/dist/agents/office/complete-tool.js.map +1 -0
- package/dist/agents/office/excel-agent.d.ts +3 -0
- package/dist/agents/office/excel-agent.d.ts.map +1 -0
- package/dist/agents/office/excel-agent.js +31 -0
- package/dist/agents/office/excel-agent.js.map +1 -0
- package/dist/agents/office/excel-create-agent.d.ts +3 -0
- package/dist/agents/office/excel-create-agent.d.ts.map +1 -0
- package/dist/agents/office/excel-create-agent.js +58 -0
- package/dist/agents/office/excel-create-agent.js.map +1 -0
- package/dist/agents/office/excel-create-prompts.d.ts +4 -0
- package/dist/agents/office/excel-create-prompts.d.ts.map +1 -0
- package/dist/agents/office/excel-create-prompts.js +217 -0
- package/dist/agents/office/excel-create-prompts.js.map +1 -0
- package/dist/agents/office/index.d.ts +10 -0
- package/dist/agents/office/index.d.ts.map +1 -0
- package/dist/agents/office/index.js +10 -0
- package/dist/agents/office/index.js.map +1 -0
- package/dist/agents/office/office-sub-agent.d.ts +21 -0
- package/dist/agents/office/office-sub-agent.d.ts.map +1 -0
- package/dist/agents/office/office-sub-agent.js +127 -0
- package/dist/agents/office/office-sub-agent.js.map +1 -0
- package/dist/agents/office/powerpoint-agent.d.ts +3 -0
- package/dist/agents/office/powerpoint-agent.d.ts.map +1 -0
- package/dist/agents/office/powerpoint-agent.js +37 -0
- package/dist/agents/office/powerpoint-agent.js.map +1 -0
- package/dist/agents/office/powerpoint-create-agent.d.ts +3 -0
- package/dist/agents/office/powerpoint-create-agent.d.ts.map +1 -0
- package/dist/agents/office/powerpoint-create-agent.js +1124 -0
- package/dist/agents/office/powerpoint-create-agent.js.map +1 -0
- package/dist/agents/office/powerpoint-create-prompts.d.ts +116 -0
- package/dist/agents/office/powerpoint-create-prompts.d.ts.map +1 -0
- package/dist/agents/office/powerpoint-create-prompts.js +1354 -0
- package/dist/agents/office/powerpoint-create-prompts.js.map +1 -0
- package/dist/agents/office/prompts.d.ts +11 -0
- package/dist/agents/office/prompts.d.ts.map +1 -0
- package/dist/agents/office/prompts.js +852 -0
- package/dist/agents/office/prompts.js.map +1 -0
- package/dist/agents/office/word-agent.d.ts +3 -0
- package/dist/agents/office/word-agent.d.ts.map +1 -0
- package/dist/agents/office/word-agent.js +31 -0
- package/dist/agents/office/word-agent.js.map +1 -0
- package/dist/agents/office/word-create-agent.d.ts +3 -0
- package/dist/agents/office/word-create-agent.d.ts.map +1 -0
- package/dist/agents/office/word-create-agent.js +36 -0
- package/dist/agents/office/word-create-agent.js.map +1 -0
- package/dist/agents/office/word-create-prompts.d.ts +4 -0
- package/dist/agents/office/word-create-prompts.d.ts.map +1 -0
- package/dist/agents/office/word-create-prompts.js +288 -0
- package/dist/agents/office/word-create-prompts.js.map +1 -0
- package/dist/agents/planner/index.d.ts +14 -0
- package/dist/agents/planner/index.d.ts.map +1 -0
- package/dist/agents/planner/index.js +334 -0
- package/dist/agents/planner/index.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +166 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/chat-command.d.ts +2 -0
- package/dist/commands/chat-command.d.ts.map +1 -0
- package/dist/commands/chat-command.js +90 -0
- package/dist/commands/chat-command.js.map +1 -0
- package/dist/commands/electron-client.d.ts +17 -0
- package/dist/commands/electron-client.d.ts.map +1 -0
- package/dist/commands/electron-client.js +180 -0
- package/dist/commands/electron-client.js.map +1 -0
- package/dist/commands/jarvis-command.d.ts +2 -0
- package/dist/commands/jarvis-command.d.ts.map +1 -0
- package/dist/commands/jarvis-command.js +66 -0
- package/dist/commands/jarvis-command.js.map +1 -0
- package/dist/constants.d.ts +11 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +13 -0
- package/dist/constants.js.map +1 -0
- package/dist/core/compact/compact-manager.d.ts +22 -0
- package/dist/core/compact/compact-manager.d.ts.map +1 -0
- package/dist/core/compact/compact-manager.js +77 -0
- package/dist/core/compact/compact-manager.js.map +1 -0
- package/dist/core/compact/compact-prompts.d.ts +11 -0
- package/dist/core/compact/compact-prompts.d.ts.map +1 -0
- package/dist/core/compact/compact-prompts.js +90 -0
- package/dist/core/compact/compact-prompts.js.map +1 -0
- package/dist/core/compact/context-tracker.d.ts +28 -0
- package/dist/core/compact/context-tracker.d.ts.map +1 -0
- package/dist/core/compact/context-tracker.js +71 -0
- package/dist/core/compact/context-tracker.js.map +1 -0
- package/dist/core/compact/index.d.ts +4 -0
- package/dist/core/compact/index.d.ts.map +1 -0
- package/dist/core/compact/index.js +4 -0
- package/dist/core/compact/index.js.map +1 -0
- package/dist/core/config/config-manager.d.ts +43 -0
- package/dist/core/config/config-manager.d.ts.map +1 -0
- package/dist/core/config/config-manager.js +254 -0
- package/dist/core/config/config-manager.js.map +1 -0
- package/dist/core/config/index.d.ts +2 -0
- package/dist/core/config/index.d.ts.map +1 -0
- package/dist/core/config/index.js +2 -0
- package/dist/core/config/index.js.map +1 -0
- package/dist/core/docs-manager.d.ts +46 -0
- package/dist/core/docs-manager.d.ts.map +1 -0
- package/dist/core/docs-manager.js +475 -0
- package/dist/core/docs-manager.js.map +1 -0
- package/dist/core/git-auto-updater.d.ts +58 -0
- package/dist/core/git-auto-updater.d.ts.map +1 -0
- package/dist/core/git-auto-updater.js +374 -0
- package/dist/core/git-auto-updater.js.map +1 -0
- package/dist/core/llm/index.d.ts +2 -0
- package/dist/core/llm/index.d.ts.map +1 -0
- package/dist/core/llm/index.js +2 -0
- package/dist/core/llm/index.js.map +1 -0
- package/dist/core/llm/llm-client.d.ts +110 -0
- package/dist/core/llm/llm-client.d.ts.map +1 -0
- package/dist/core/llm/llm-client.js +1272 -0
- package/dist/core/llm/llm-client.js.map +1 -0
- package/dist/core/session/index.d.ts +2 -0
- package/dist/core/session/index.d.ts.map +1 -0
- package/dist/core/session/index.js +2 -0
- package/dist/core/session/index.js.map +1 -0
- package/dist/core/session/session-manager.d.ts +73 -0
- package/dist/core/session/session-manager.d.ts.map +1 -0
- package/dist/core/session/session-manager.js +260 -0
- package/dist/core/session/session-manager.js.map +1 -0
- package/dist/core/slash-command-handler.d.ts +31 -0
- package/dist/core/slash-command-handler.d.ts.map +1 -0
- package/dist/core/slash-command-handler.js +304 -0
- package/dist/core/slash-command-handler.js.map +1 -0
- package/dist/core/telemetry/error-reporter.d.ts +2 -0
- package/dist/core/telemetry/error-reporter.d.ts.map +1 -0
- package/dist/core/telemetry/error-reporter.js +3 -0
- package/dist/core/telemetry/error-reporter.js.map +1 -0
- package/dist/core/usage-tracker.d.ts +70 -0
- package/dist/core/usage-tracker.d.ts.map +1 -0
- package/dist/core/usage-tracker.js +251 -0
- package/dist/core/usage-tracker.js.map +1 -0
- package/dist/errors/base.d.ts +22 -0
- package/dist/errors/base.d.ts.map +1 -0
- package/dist/errors/base.js +43 -0
- package/dist/errors/base.js.map +1 -0
- package/dist/errors/file.d.ts +31 -0
- package/dist/errors/file.d.ts.map +1 -0
- package/dist/errors/file.js +110 -0
- package/dist/errors/file.js.map +1 -0
- package/dist/errors/index.d.ts +10 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +41 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/llm.d.ts +30 -0
- package/dist/errors/llm.d.ts.map +1 -0
- package/dist/errors/llm.js +97 -0
- package/dist/errors/llm.js.map +1 -0
- package/dist/errors/network.d.ts +19 -0
- package/dist/errors/network.d.ts.map +1 -0
- package/dist/errors/network.js +82 -0
- package/dist/errors/network.js.map +1 -0
- package/dist/errors/validation.d.ts +19 -0
- package/dist/errors/validation.d.ts.map +1 -0
- package/dist/errors/validation.js +62 -0
- package/dist/errors/validation.js.map +1 -0
- package/dist/eval/eval-runner.d.ts +24 -0
- package/dist/eval/eval-runner.d.ts.map +1 -0
- package/dist/eval/eval-runner.js +291 -0
- package/dist/eval/eval-runner.js.map +1 -0
- package/dist/eval/index.d.ts +3 -0
- package/dist/eval/index.d.ts.map +1 -0
- package/dist/eval/index.js +3 -0
- package/dist/eval/index.js.map +1 -0
- package/dist/eval/types.d.ts +77 -0
- package/dist/eval/types.d.ts.map +1 -0
- package/dist/eval/types.js +2 -0
- package/dist/eval/types.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/orchestration/index.d.ts +4 -0
- package/dist/orchestration/index.d.ts.map +1 -0
- package/dist/orchestration/index.js +3 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/plan-executor.d.ts +27 -0
- package/dist/orchestration/plan-executor.d.ts.map +1 -0
- package/dist/orchestration/plan-executor.js +536 -0
- package/dist/orchestration/plan-executor.js.map +1 -0
- package/dist/orchestration/types.d.ts +69 -0
- package/dist/orchestration/types.d.ts.map +1 -0
- package/dist/orchestration/types.js +2 -0
- package/dist/orchestration/types.js.map +1 -0
- package/dist/orchestration/utils.d.ts +14 -0
- package/dist/orchestration/utils.d.ts.map +1 -0
- package/dist/orchestration/utils.js +105 -0
- package/dist/orchestration/utils.js.map +1 -0
- package/dist/pipe/index.d.ts +2 -0
- package/dist/pipe/index.d.ts.map +1 -0
- package/dist/pipe/index.js +2 -0
- package/dist/pipe/index.js.map +1 -0
- package/dist/pipe/pipe-runner.d.ts +15 -0
- package/dist/pipe/pipe-runner.d.ts.map +1 -0
- package/dist/pipe/pipe-runner.js +207 -0
- package/dist/pipe/pipe-runner.js.map +1 -0
- package/dist/prompts/agents/planning.d.ts +4 -0
- package/dist/prompts/agents/planning.d.ts.map +1 -0
- package/dist/prompts/agents/planning.js +318 -0
- package/dist/prompts/agents/planning.js.map +1 -0
- package/dist/prompts/index.d.ts +8 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +8 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/shared/codebase-rules.d.ts +4 -0
- package/dist/prompts/shared/codebase-rules.d.ts.map +1 -0
- package/dist/prompts/shared/codebase-rules.js +16 -0
- package/dist/prompts/shared/codebase-rules.js.map +1 -0
- package/dist/prompts/shared/git-rules.d.ts +2 -0
- package/dist/prompts/shared/git-rules.d.ts.map +1 -0
- package/dist/prompts/shared/git-rules.js +87 -0
- package/dist/prompts/shared/git-rules.js.map +1 -0
- package/dist/prompts/shared/language-rules.d.ts +4 -0
- package/dist/prompts/shared/language-rules.d.ts.map +1 -0
- package/dist/prompts/shared/language-rules.js +22 -0
- package/dist/prompts/shared/language-rules.js.map +1 -0
- package/dist/prompts/shared/tool-usage.d.ts +14 -0
- package/dist/prompts/shared/tool-usage.d.ts.map +1 -0
- package/dist/prompts/shared/tool-usage.js +92 -0
- package/dist/prompts/shared/tool-usage.js.map +1 -0
- package/dist/prompts/system/compact.d.ts +3 -0
- package/dist/prompts/system/compact.d.ts.map +1 -0
- package/dist/prompts/system/compact.js +73 -0
- package/dist/prompts/system/compact.js.map +1 -0
- package/dist/prompts/system/plan-execute.d.ts +6 -0
- package/dist/prompts/system/plan-execute.d.ts.map +1 -0
- package/dist/prompts/system/plan-execute.js +178 -0
- package/dist/prompts/system/plan-execute.js.map +1 -0
- package/dist/tools/browser/browser-client.d.ts +108 -0
- package/dist/tools/browser/browser-client.d.ts.map +1 -0
- package/dist/tools/browser/browser-client.js +965 -0
- package/dist/tools/browser/browser-client.js.map +1 -0
- package/dist/tools/browser/browser-tools.d.ts +18 -0
- package/dist/tools/browser/browser-tools.d.ts.map +1 -0
- package/dist/tools/browser/browser-tools.js +983 -0
- package/dist/tools/browser/browser-tools.js.map +1 -0
- package/dist/tools/browser/index.d.ts +7 -0
- package/dist/tools/browser/index.d.ts.map +1 -0
- package/dist/tools/browser/index.js +17 -0
- package/dist/tools/browser/index.js.map +1 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/llm/index.d.ts +2 -0
- package/dist/tools/llm/index.d.ts.map +1 -0
- package/dist/tools/llm/index.js +2 -0
- package/dist/tools/llm/index.js.map +1 -0
- package/dist/tools/llm/simple/ask-user-tool.d.ts +5 -0
- package/dist/tools/llm/simple/ask-user-tool.d.ts.map +1 -0
- package/dist/tools/llm/simple/ask-user-tool.js +7 -0
- package/dist/tools/llm/simple/ask-user-tool.js.map +1 -0
- package/dist/tools/llm/simple/background-bash-tool.d.ts +30 -0
- package/dist/tools/llm/simple/background-bash-tool.d.ts.map +1 -0
- package/dist/tools/llm/simple/background-bash-tool.js +320 -0
- package/dist/tools/llm/simple/background-bash-tool.js.map +1 -0
- package/dist/tools/llm/simple/background-powershell-tool.d.ts +30 -0
- package/dist/tools/llm/simple/background-powershell-tool.d.ts.map +1 -0
- package/dist/tools/llm/simple/background-powershell-tool.js +302 -0
- package/dist/tools/llm/simple/background-powershell-tool.js.map +1 -0
- package/dist/tools/llm/simple/bash-tool.d.ts +4 -0
- package/dist/tools/llm/simple/bash-tool.d.ts.map +1 -0
- package/dist/tools/llm/simple/bash-tool.js +167 -0
- package/dist/tools/llm/simple/bash-tool.js.map +1 -0
- package/dist/tools/llm/simple/file-tools.d.ts +13 -0
- package/dist/tools/llm/simple/file-tools.d.ts.map +1 -0
- package/dist/tools/llm/simple/file-tools.js +814 -0
- package/dist/tools/llm/simple/file-tools.js.map +1 -0
- package/dist/tools/llm/simple/final-response-tool.d.ts +12 -0
- package/dist/tools/llm/simple/final-response-tool.d.ts.map +1 -0
- package/dist/tools/llm/simple/final-response-tool.js +107 -0
- package/dist/tools/llm/simple/final-response-tool.js.map +1 -0
- package/dist/tools/llm/simple/index.d.ts +11 -0
- package/dist/tools/llm/simple/index.d.ts.map +1 -0
- package/dist/tools/llm/simple/index.js +20 -0
- package/dist/tools/llm/simple/index.js.map +1 -0
- package/dist/tools/llm/simple/planning-tools.d.ts +5 -0
- package/dist/tools/llm/simple/planning-tools.d.ts.map +1 -0
- package/dist/tools/llm/simple/planning-tools.js +121 -0
- package/dist/tools/llm/simple/planning-tools.js.map +1 -0
- package/dist/tools/llm/simple/powershell-tool.d.ts +4 -0
- package/dist/tools/llm/simple/powershell-tool.d.ts.map +1 -0
- package/dist/tools/llm/simple/powershell-tool.js +163 -0
- package/dist/tools/llm/simple/powershell-tool.js.map +1 -0
- package/dist/tools/llm/simple/read-image-tool.d.ts +8 -0
- package/dist/tools/llm/simple/read-image-tool.d.ts.map +1 -0
- package/dist/tools/llm/simple/read-image-tool.js +170 -0
- package/dist/tools/llm/simple/read-image-tool.js.map +1 -0
- package/dist/tools/llm/simple/simple-tool-executor.d.ts +40 -0
- package/dist/tools/llm/simple/simple-tool-executor.d.ts.map +1 -0
- package/dist/tools/llm/simple/simple-tool-executor.js +159 -0
- package/dist/tools/llm/simple/simple-tool-executor.js.map +1 -0
- package/dist/tools/llm/simple/todo-tools.d.ts +15 -0
- package/dist/tools/llm/simple/todo-tools.d.ts.map +1 -0
- package/dist/tools/llm/simple/todo-tools.js +145 -0
- package/dist/tools/llm/simple/todo-tools.js.map +1 -0
- package/dist/tools/llm/simple/user-interaction-tools.d.ts +22 -0
- package/dist/tools/llm/simple/user-interaction-tools.d.ts.map +1 -0
- package/dist/tools/llm/simple/user-interaction-tools.js +168 -0
- package/dist/tools/llm/simple/user-interaction-tools.js.map +1 -0
- package/dist/tools/office/common/constants.d.ts +192 -0
- package/dist/tools/office/common/constants.d.ts.map +1 -0
- package/dist/tools/office/common/constants.js +165 -0
- package/dist/tools/office/common/constants.js.map +1 -0
- package/dist/tools/office/common/index.d.ts +4 -0
- package/dist/tools/office/common/index.d.ts.map +1 -0
- package/dist/tools/office/common/index.js +3 -0
- package/dist/tools/office/common/index.js.map +1 -0
- package/dist/tools/office/common/types.d.ts +82 -0
- package/dist/tools/office/common/types.d.ts.map +1 -0
- package/dist/tools/office/common/types.js +2 -0
- package/dist/tools/office/common/types.js.map +1 -0
- package/dist/tools/office/common/utils.d.ts +16 -0
- package/dist/tools/office/common/utils.d.ts.map +1 -0
- package/dist/tools/office/common/utils.js +60 -0
- package/dist/tools/office/common/utils.js.map +1 -0
- package/dist/tools/office/excel-client.d.ts +219 -0
- package/dist/tools/office/excel-client.d.ts.map +1 -0
- package/dist/tools/office/excel-client.js +2346 -0
- package/dist/tools/office/excel-client.js.map +1 -0
- package/dist/tools/office/excel-tools/cells.d.ts +10 -0
- package/dist/tools/office/excel-tools/cells.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/cells.js +283 -0
- package/dist/tools/office/excel-tools/cells.js.map +1 -0
- package/dist/tools/office/excel-tools/charts.d.ts +6 -0
- package/dist/tools/office/excel-tools/charts.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/charts.js +124 -0
- package/dist/tools/office/excel-tools/charts.js.map +1 -0
- package/dist/tools/office/excel-tools/comments.d.ts +6 -0
- package/dist/tools/office/excel-tools/comments.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/comments.js +114 -0
- package/dist/tools/office/excel-tools/comments.js.map +1 -0
- package/dist/tools/office/excel-tools/data-ops.d.ts +10 -0
- package/dist/tools/office/excel-tools/data-ops.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/data-ops.js +266 -0
- package/dist/tools/office/excel-tools/data-ops.js.map +1 -0
- package/dist/tools/office/excel-tools/export.d.ts +5 -0
- package/dist/tools/office/excel-tools/export.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/export.js +75 -0
- package/dist/tools/office/excel-tools/export.js.map +1 -0
- package/dist/tools/office/excel-tools/formatting.d.ts +10 -0
- package/dist/tools/office/excel-tools/formatting.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/formatting.js +276 -0
- package/dist/tools/office/excel-tools/formatting.js.map +1 -0
- package/dist/tools/office/excel-tools/index.d.ts +18 -0
- package/dist/tools/office/excel-tools/index.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/index.js +54 -0
- package/dist/tools/office/excel-tools/index.js.map +1 -0
- package/dist/tools/office/excel-tools/launch.d.ts +10 -0
- package/dist/tools/office/excel-tools/launch.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/launch.js +250 -0
- package/dist/tools/office/excel-tools/launch.js.map +1 -0
- package/dist/tools/office/excel-tools/media.d.ts +5 -0
- package/dist/tools/office/excel-tools/media.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/media.js +84 -0
- package/dist/tools/office/excel-tools/media.js.map +1 -0
- package/dist/tools/office/excel-tools/named-ranges.d.ts +6 -0
- package/dist/tools/office/excel-tools/named-ranges.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/named-ranges.js +113 -0
- package/dist/tools/office/excel-tools/named-ranges.js.map +1 -0
- package/dist/tools/office/excel-tools/protection.d.ts +5 -0
- package/dist/tools/office/excel-tools/protection.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/protection.js +75 -0
- package/dist/tools/office/excel-tools/protection.js.map +1 -0
- package/dist/tools/office/excel-tools/rows-columns.d.ts +11 -0
- package/dist/tools/office/excel-tools/rows-columns.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/rows-columns.js +293 -0
- package/dist/tools/office/excel-tools/rows-columns.js.map +1 -0
- package/dist/tools/office/excel-tools/sheet-builders.d.ts +9 -0
- package/dist/tools/office/excel-tools/sheet-builders.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/sheet-builders.js +483 -0
- package/dist/tools/office/excel-tools/sheet-builders.js.map +1 -0
- package/dist/tools/office/excel-tools/sheets.d.ts +8 -0
- package/dist/tools/office/excel-tools/sheets.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/sheets.js +182 -0
- package/dist/tools/office/excel-tools/sheets.js.map +1 -0
- package/dist/tools/office/excel-tools/validation.d.ts +7 -0
- package/dist/tools/office/excel-tools/validation.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/validation.js +175 -0
- package/dist/tools/office/excel-tools/validation.js.map +1 -0
- package/dist/tools/office/excel-tools.d.ts +3 -0
- package/dist/tools/office/excel-tools.d.ts.map +1 -0
- package/dist/tools/office/excel-tools.js +3 -0
- package/dist/tools/office/excel-tools.js.map +1 -0
- package/dist/tools/office/index.d.ts +6 -0
- package/dist/tools/office/index.d.ts.map +1 -0
- package/dist/tools/office/index.js +9 -0
- package/dist/tools/office/index.js.map +1 -0
- package/dist/tools/office/office-client-base.d.ts +33 -0
- package/dist/tools/office/office-client-base.d.ts.map +1 -0
- package/dist/tools/office/office-client-base.js +166 -0
- package/dist/tools/office/office-client-base.js.map +1 -0
- package/dist/tools/office/office-client.d.ts +196 -0
- package/dist/tools/office/office-client.d.ts.map +1 -0
- package/dist/tools/office/office-client.js +200 -0
- package/dist/tools/office/office-client.js.map +1 -0
- package/dist/tools/office/powerpoint-client.d.ts +148 -0
- package/dist/tools/office/powerpoint-client.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-client.js +1310 -0
- package/dist/tools/office/powerpoint-client.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/effects.d.ts +9 -0
- package/dist/tools/office/powerpoint-tools/effects.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/effects.js +246 -0
- package/dist/tools/office/powerpoint-tools/effects.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/export.d.ts +6 -0
- package/dist/tools/office/powerpoint-tools/export.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/export.js +123 -0
- package/dist/tools/office/powerpoint-tools/export.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/index.d.ts +15 -0
- package/dist/tools/office/powerpoint-tools/index.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/index.js +40 -0
- package/dist/tools/office/powerpoint-tools/index.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/launch.d.ts +9 -0
- package/dist/tools/office/powerpoint-tools/launch.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/launch.js +218 -0
- package/dist/tools/office/powerpoint-tools/launch.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/layout-builders.d.ts +12 -0
- package/dist/tools/office/powerpoint-tools/layout-builders.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/layout-builders.js +785 -0
- package/dist/tools/office/powerpoint-tools/layout-builders.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/media.d.ts +8 -0
- package/dist/tools/office/powerpoint-tools/media.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/media.js +211 -0
- package/dist/tools/office/powerpoint-tools/media.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/notes.d.ts +8 -0
- package/dist/tools/office/powerpoint-tools/notes.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/notes.js +171 -0
- package/dist/tools/office/powerpoint-tools/notes.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/sections.d.ts +6 -0
- package/dist/tools/office/powerpoint-tools/sections.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/sections.js +104 -0
- package/dist/tools/office/powerpoint-tools/sections.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/shapes.d.ts +22 -0
- package/dist/tools/office/powerpoint-tools/shapes.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/shapes.js +681 -0
- package/dist/tools/office/powerpoint-tools/shapes.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/slides.d.ts +11 -0
- package/dist/tools/office/powerpoint-tools/slides.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/slides.js +283 -0
- package/dist/tools/office/powerpoint-tools/slides.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/tables.d.ts +6 -0
- package/dist/tools/office/powerpoint-tools/tables.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/tables.js +132 -0
- package/dist/tools/office/powerpoint-tools/tables.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/text.d.ts +12 -0
- package/dist/tools/office/powerpoint-tools/text.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/text.js +379 -0
- package/dist/tools/office/powerpoint-tools/text.js.map +1 -0
- package/dist/tools/office/powerpoint-tools.d.ts +3 -0
- package/dist/tools/office/powerpoint-tools.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools.js +3 -0
- package/dist/tools/office/powerpoint-tools.js.map +1 -0
- package/dist/tools/office/word-client.d.ts +169 -0
- package/dist/tools/office/word-client.d.ts.map +1 -0
- package/dist/tools/office/word-client.js +1636 -0
- package/dist/tools/office/word-client.js.map +1 -0
- package/dist/tools/office/word-tools/bookmarks.d.ts +7 -0
- package/dist/tools/office/word-tools/bookmarks.d.ts.map +1 -0
- package/dist/tools/office/word-tools/bookmarks.js +146 -0
- package/dist/tools/office/word-tools/bookmarks.js.map +1 -0
- package/dist/tools/office/word-tools/comments.d.ts +7 -0
- package/dist/tools/office/word-tools/comments.d.ts.map +1 -0
- package/dist/tools/office/word-tools/comments.js +146 -0
- package/dist/tools/office/word-tools/comments.js.map +1 -0
- package/dist/tools/office/word-tools/content.d.ts +7 -0
- package/dist/tools/office/word-tools/content.d.ts.map +1 -0
- package/dist/tools/office/word-tools/content.js +168 -0
- package/dist/tools/office/word-tools/content.js.map +1 -0
- package/dist/tools/office/word-tools/export.d.ts +5 -0
- package/dist/tools/office/word-tools/export.d.ts.map +1 -0
- package/dist/tools/office/word-tools/export.js +73 -0
- package/dist/tools/office/word-tools/export.js.map +1 -0
- package/dist/tools/office/word-tools/formatting.d.ts +6 -0
- package/dist/tools/office/word-tools/formatting.d.ts.map +1 -0
- package/dist/tools/office/word-tools/formatting.js +129 -0
- package/dist/tools/office/word-tools/formatting.js.map +1 -0
- package/dist/tools/office/word-tools/headers-footers.d.ts +6 -0
- package/dist/tools/office/word-tools/headers-footers.d.ts.map +1 -0
- package/dist/tools/office/word-tools/headers-footers.js +117 -0
- package/dist/tools/office/word-tools/headers-footers.js.map +1 -0
- package/dist/tools/office/word-tools/index.d.ts +19 -0
- package/dist/tools/office/word-tools/index.d.ts.map +1 -0
- package/dist/tools/office/word-tools/index.js +60 -0
- package/dist/tools/office/word-tools/index.js.map +1 -0
- package/dist/tools/office/word-tools/launch.d.ts +10 -0
- package/dist/tools/office/word-tools/launch.d.ts.map +1 -0
- package/dist/tools/office/word-tools/launch.js +257 -0
- package/dist/tools/office/word-tools/launch.js.map +1 -0
- package/dist/tools/office/word-tools/lists.d.ts +5 -0
- package/dist/tools/office/word-tools/lists.d.ts.map +1 -0
- package/dist/tools/office/word-tools/lists.js +73 -0
- package/dist/tools/office/word-tools/lists.js.map +1 -0
- package/dist/tools/office/word-tools/navigation.d.ts +5 -0
- package/dist/tools/office/word-tools/navigation.d.ts.map +1 -0
- package/dist/tools/office/word-tools/navigation.js +85 -0
- package/dist/tools/office/word-tools/navigation.js.map +1 -0
- package/dist/tools/office/word-tools/page-setup.d.ts +7 -0
- package/dist/tools/office/word-tools/page-setup.d.ts.map +1 -0
- package/dist/tools/office/word-tools/page-setup.js +152 -0
- package/dist/tools/office/word-tools/page-setup.js.map +1 -0
- package/dist/tools/office/word-tools/section-builders.d.ts +12 -0
- package/dist/tools/office/word-tools/section-builders.d.ts.map +1 -0
- package/dist/tools/office/word-tools/section-builders.js +601 -0
- package/dist/tools/office/word-tools/section-builders.js.map +1 -0
- package/dist/tools/office/word-tools/tables.d.ts +8 -0
- package/dist/tools/office/word-tools/tables.d.ts.map +1 -0
- package/dist/tools/office/word-tools/tables.js +197 -0
- package/dist/tools/office/word-tools/tables.js.map +1 -0
- package/dist/tools/office/word-tools/text.d.ts +9 -0
- package/dist/tools/office/word-tools/text.d.ts.map +1 -0
- package/dist/tools/office/word-tools/text.js +245 -0
- package/dist/tools/office/word-tools/text.js.map +1 -0
- package/dist/tools/office/word-tools/undo-redo.d.ts +5 -0
- package/dist/tools/office/word-tools/undo-redo.d.ts.map +1 -0
- package/dist/tools/office/word-tools/undo-redo.js +73 -0
- package/dist/tools/office/word-tools/undo-redo.js.map +1 -0
- package/dist/tools/office/word-tools/watermarks.d.ts +5 -0
- package/dist/tools/office/word-tools/watermarks.d.ts.map +1 -0
- package/dist/tools/office/word-tools/watermarks.js +81 -0
- package/dist/tools/office/word-tools/watermarks.js.map +1 -0
- package/dist/tools/office/word-tools.d.ts +3 -0
- package/dist/tools/office/word-tools.d.ts.map +1 -0
- package/dist/tools/office/word-tools.js +3 -0
- package/dist/tools/office/word-tools.js.map +1 -0
- package/dist/tools/registry.d.ts +55 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +296 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/types.d.ts +88 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +19 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/types/index.d.ts +132 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/ui/PlanExecuteView.d.ts +11 -0
- package/dist/ui/PlanExecuteView.d.ts.map +1 -0
- package/dist/ui/PlanExecuteView.js +27 -0
- package/dist/ui/PlanExecuteView.js.map +1 -0
- package/dist/ui/TodoPanel.d.ts +13 -0
- package/dist/ui/TodoPanel.d.ts.map +1 -0
- package/dist/ui/TodoPanel.js +138 -0
- package/dist/ui/TodoPanel.js.map +1 -0
- package/dist/ui/UpdateNotification.d.ts +13 -0
- package/dist/ui/UpdateNotification.d.ts.map +1 -0
- package/dist/ui/UpdateNotification.js +42 -0
- package/dist/ui/UpdateNotification.js.map +1 -0
- package/dist/ui/components/ActivityIndicator.d.ts +25 -0
- package/dist/ui/components/ActivityIndicator.d.ts.map +1 -0
- package/dist/ui/components/ActivityIndicator.js +116 -0
- package/dist/ui/components/ActivityIndicator.js.map +1 -0
- package/dist/ui/components/CommandBrowser.d.ts +10 -0
- package/dist/ui/components/CommandBrowser.d.ts.map +1 -0
- package/dist/ui/components/CommandBrowser.js +57 -0
- package/dist/ui/components/CommandBrowser.js.map +1 -0
- package/dist/ui/components/CustomTextInput.d.ts +13 -0
- package/dist/ui/components/CustomTextInput.d.ts.map +1 -0
- package/dist/ui/components/CustomTextInput.js +246 -0
- package/dist/ui/components/CustomTextInput.js.map +1 -0
- package/dist/ui/components/FileBrowser.d.ts +11 -0
- package/dist/ui/components/FileBrowser.d.ts.map +1 -0
- package/dist/ui/components/FileBrowser.js +45 -0
- package/dist/ui/components/FileBrowser.js.map +1 -0
- package/dist/ui/components/LLMSetupWizard.d.ts +8 -0
- package/dist/ui/components/LLMSetupWizard.d.ts.map +1 -0
- package/dist/ui/components/LLMSetupWizard.js +197 -0
- package/dist/ui/components/LLMSetupWizard.js.map +1 -0
- package/dist/ui/components/Logo.d.ts +20 -0
- package/dist/ui/components/Logo.d.ts.map +1 -0
- package/dist/ui/components/Logo.js +100 -0
- package/dist/ui/components/Logo.js.map +1 -0
- package/dist/ui/components/MarkdownRenderer.d.ts +9 -0
- package/dist/ui/components/MarkdownRenderer.d.ts.map +1 -0
- package/dist/ui/components/MarkdownRenderer.js +198 -0
- package/dist/ui/components/MarkdownRenderer.js.map +1 -0
- package/dist/ui/components/ModelSelector.d.ts +8 -0
- package/dist/ui/components/ModelSelector.d.ts.map +1 -0
- package/dist/ui/components/ModelSelector.js +111 -0
- package/dist/ui/components/ModelSelector.js.map +1 -0
- package/dist/ui/components/PlanExecuteApp.d.ts +23 -0
- package/dist/ui/components/PlanExecuteApp.d.ts.map +1 -0
- package/dist/ui/components/PlanExecuteApp.js +1377 -0
- package/dist/ui/components/PlanExecuteApp.js.map +1 -0
- package/dist/ui/components/ProgressBar.d.ts +10 -0
- package/dist/ui/components/ProgressBar.d.ts.map +1 -0
- package/dist/ui/components/ProgressBar.js +26 -0
- package/dist/ui/components/ProgressBar.js.map +1 -0
- package/dist/ui/components/StatusBar.d.ts +23 -0
- package/dist/ui/components/StatusBar.d.ts.map +1 -0
- package/dist/ui/components/StatusBar.js +162 -0
- package/dist/ui/components/StatusBar.js.map +1 -0
- package/dist/ui/components/ThinkingIndicator.d.ts +14 -0
- package/dist/ui/components/ThinkingIndicator.d.ts.map +1 -0
- package/dist/ui/components/ThinkingIndicator.js +63 -0
- package/dist/ui/components/ThinkingIndicator.js.map +1 -0
- package/dist/ui/components/TodoListView.d.ts +11 -0
- package/dist/ui/components/TodoListView.d.ts.map +1 -0
- package/dist/ui/components/TodoListView.js +69 -0
- package/dist/ui/components/TodoListView.js.map +1 -0
- package/dist/ui/components/ToolSelector.d.ts +7 -0
- package/dist/ui/components/ToolSelector.d.ts.map +1 -0
- package/dist/ui/components/ToolSelector.js +112 -0
- package/dist/ui/components/ToolSelector.js.map +1 -0
- package/dist/ui/components/dialogs/ApprovalDialog.d.ts +13 -0
- package/dist/ui/components/dialogs/ApprovalDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/ApprovalDialog.js +175 -0
- package/dist/ui/components/dialogs/ApprovalDialog.js.map +1 -0
- package/dist/ui/components/dialogs/AskUserDialog.d.ts +9 -0
- package/dist/ui/components/dialogs/AskUserDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/AskUserDialog.js +111 -0
- package/dist/ui/components/dialogs/AskUserDialog.js.map +1 -0
- package/dist/ui/components/dialogs/DocsBrowser.d.ts +8 -0
- package/dist/ui/components/dialogs/DocsBrowser.d.ts.map +1 -0
- package/dist/ui/components/dialogs/DocsBrowser.js +127 -0
- package/dist/ui/components/dialogs/DocsBrowser.js.map +1 -0
- package/dist/ui/components/dialogs/SettingsDialog.d.ts +10 -0
- package/dist/ui/components/dialogs/SettingsDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/SettingsDialog.js +586 -0
- package/dist/ui/components/dialogs/SettingsDialog.js.map +1 -0
- package/dist/ui/components/dialogs/index.d.ts +3 -0
- package/dist/ui/components/dialogs/index.d.ts.map +1 -0
- package/dist/ui/components/dialogs/index.js +3 -0
- package/dist/ui/components/dialogs/index.js.map +1 -0
- package/dist/ui/components/index.d.ts +12 -0
- package/dist/ui/components/index.d.ts.map +1 -0
- package/dist/ui/components/index.js +9 -0
- package/dist/ui/components/index.js.map +1 -0
- package/dist/ui/components/panels/LogPanel.d.ts +7 -0
- package/dist/ui/components/panels/LogPanel.d.ts.map +1 -0
- package/dist/ui/components/panels/LogPanel.js +280 -0
- package/dist/ui/components/panels/LogPanel.js.map +1 -0
- package/dist/ui/components/panels/SessionPanel.d.ts +8 -0
- package/dist/ui/components/panels/SessionPanel.d.ts.map +1 -0
- package/dist/ui/components/panels/SessionPanel.js +81 -0
- package/dist/ui/components/panels/SessionPanel.js.map +1 -0
- package/dist/ui/components/panels/index.d.ts +4 -0
- package/dist/ui/components/panels/index.d.ts.map +1 -0
- package/dist/ui/components/panels/index.js +4 -0
- package/dist/ui/components/panels/index.js.map +1 -0
- package/dist/ui/components/views/ChatView.d.ts +12 -0
- package/dist/ui/components/views/ChatView.d.ts.map +1 -0
- package/dist/ui/components/views/ChatView.js +289 -0
- package/dist/ui/components/views/ChatView.js.map +1 -0
- package/dist/ui/components/views/index.d.ts +2 -0
- package/dist/ui/components/views/index.d.ts.map +1 -0
- package/dist/ui/components/views/index.js +2 -0
- package/dist/ui/components/views/index.js.map +1 -0
- package/dist/ui/contexts/TokenContext.d.ts +29 -0
- package/dist/ui/contexts/TokenContext.d.ts.map +1 -0
- package/dist/ui/contexts/TokenContext.js +79 -0
- package/dist/ui/contexts/TokenContext.js.map +1 -0
- package/dist/ui/hooks/atFileProcessor.d.ts +15 -0
- package/dist/ui/hooks/atFileProcessor.d.ts.map +1 -0
- package/dist/ui/hooks/atFileProcessor.js +88 -0
- package/dist/ui/hooks/atFileProcessor.js.map +1 -0
- package/dist/ui/hooks/index.d.ts +9 -0
- package/dist/ui/hooks/index.d.ts.map +1 -0
- package/dist/ui/hooks/index.js +9 -0
- package/dist/ui/hooks/index.js.map +1 -0
- package/dist/ui/hooks/slashCommandProcessor.d.ts +21 -0
- package/dist/ui/hooks/slashCommandProcessor.d.ts.map +1 -0
- package/dist/ui/hooks/slashCommandProcessor.js +96 -0
- package/dist/ui/hooks/slashCommandProcessor.js.map +1 -0
- package/dist/ui/hooks/useCommandBrowserState.d.ts +12 -0
- package/dist/ui/hooks/useCommandBrowserState.d.ts.map +1 -0
- package/dist/ui/hooks/useCommandBrowserState.js +66 -0
- package/dist/ui/hooks/useCommandBrowserState.js.map +1 -0
- package/dist/ui/hooks/useFileBrowserState.d.ts +15 -0
- package/dist/ui/hooks/useFileBrowserState.d.ts.map +1 -0
- package/dist/ui/hooks/useFileBrowserState.js +80 -0
- package/dist/ui/hooks/useFileBrowserState.js.map +1 -0
- package/dist/ui/hooks/useFileList.d.ts +20 -0
- package/dist/ui/hooks/useFileList.d.ts.map +1 -0
- package/dist/ui/hooks/useFileList.js +57 -0
- package/dist/ui/hooks/useFileList.js.map +1 -0
- package/dist/ui/hooks/useInputHistory.d.ts +9 -0
- package/dist/ui/hooks/useInputHistory.d.ts.map +1 -0
- package/dist/ui/hooks/useInputHistory.js +68 -0
- package/dist/ui/hooks/useInputHistory.js.map +1 -0
- package/dist/ui/hooks/usePlanExecution.d.ts +8 -0
- package/dist/ui/hooks/usePlanExecution.d.ts.map +1 -0
- package/dist/ui/hooks/usePlanExecution.js +218 -0
- package/dist/ui/hooks/usePlanExecution.js.map +1 -0
- package/dist/ui/hooks/useTerminalWidth.d.ts +4 -0
- package/dist/ui/hooks/useTerminalWidth.d.ts.map +1 -0
- package/dist/ui/hooks/useTerminalWidth.js +26 -0
- package/dist/ui/hooks/useTerminalWidth.js.map +1 -0
- package/dist/ui/index.d.ts +7 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +7 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/ink-entry.d.ts +3 -0
- package/dist/ui/ink-entry.d.ts.map +1 -0
- package/dist/ui/ink-entry.js +22 -0
- package/dist/ui/ink-entry.js.map +1 -0
- package/dist/utils/file-system.d.ts +9 -0
- package/dist/utils/file-system.d.ts.map +1 -0
- package/dist/utils/file-system.js +99 -0
- package/dist/utils/file-system.js.map +1 -0
- package/dist/utils/git-utils.d.ts +2 -0
- package/dist/utils/git-utils.d.ts.map +1 -0
- package/dist/utils/git-utils.js +16 -0
- package/dist/utils/git-utils.js.map +1 -0
- package/dist/utils/json-stream-logger.d.ts +74 -0
- package/dist/utils/json-stream-logger.d.ts.map +1 -0
- package/dist/utils/json-stream-logger.js +808 -0
- package/dist/utils/json-stream-logger.js.map +1 -0
- package/dist/utils/logger.d.ts +152 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +1672 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/platform-utils.d.ts +19 -0
- package/dist/utils/platform-utils.d.ts.map +1 -0
- package/dist/utils/platform-utils.js +134 -0
- package/dist/utils/platform-utils.js.map +1 -0
- package/dist/utils/wsl-utils.d.ts +4 -0
- package/dist/utils/wsl-utils.d.ts.map +1 -0
- package/dist/utils/wsl-utils.js +72 -0
- package/dist/utils/wsl-utils.js.map +1 -0
- package/package.json +132 -0
- package/scripts/patch-yoga.js +48 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { SubAgent } from '../common/sub-agent.js';
|
|
2
|
+
import { configManager } from '../../core/config/config-manager.js';
|
|
3
|
+
import { ensureAuthenticated, launchSubAgentBrowser, getSubAgentBrowserClient, ATLASSIAN_LOGIN_INDICATORS, } from './browser-profile-manager.js';
|
|
4
|
+
import { logger } from '../../utils/logger.js';
|
|
5
|
+
export class BrowserSubAgent {
|
|
6
|
+
llmClient;
|
|
7
|
+
serviceName;
|
|
8
|
+
tools;
|
|
9
|
+
systemPrompt;
|
|
10
|
+
config;
|
|
11
|
+
constructor(llmClient, serviceName, tools, systemPrompt, config) {
|
|
12
|
+
this.llmClient = llmClient;
|
|
13
|
+
this.serviceName = serviceName;
|
|
14
|
+
this.tools = tools;
|
|
15
|
+
this.systemPrompt = systemPrompt;
|
|
16
|
+
this.config = config;
|
|
17
|
+
}
|
|
18
|
+
async run(instruction, sourceUrl) {
|
|
19
|
+
const startTime = Date.now();
|
|
20
|
+
try {
|
|
21
|
+
const url = sourceUrl || this.resolveServiceUrl();
|
|
22
|
+
if (!url && this.config.serviceType !== 'search') {
|
|
23
|
+
return {
|
|
24
|
+
success: false,
|
|
25
|
+
error: this.getUrlNotConfiguredMessage(),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const launched = await launchSubAgentBrowser(true);
|
|
29
|
+
if (!launched) {
|
|
30
|
+
return {
|
|
31
|
+
success: false,
|
|
32
|
+
error: 'Failed to launch browser. Chrome or Edge must be installed.',
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
if (this.config.requiresAuth && url) {
|
|
36
|
+
const indicators = this.config.loginIndicators || ATLASSIAN_LOGIN_INDICATORS;
|
|
37
|
+
const authResult = await ensureAuthenticated(url, indicators);
|
|
38
|
+
if (!authResult.success) {
|
|
39
|
+
return {
|
|
40
|
+
success: false,
|
|
41
|
+
error: `Authentication failed: ${authResult.error}`,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const enrichedInstruction = url
|
|
46
|
+
? `[Target URL: ${url}]\n\n${instruction}`
|
|
47
|
+
: instruction;
|
|
48
|
+
const client = getSubAgentBrowserClient();
|
|
49
|
+
const boundTools = this.bindToolsToClient(client);
|
|
50
|
+
const agent = new SubAgent(this.llmClient, this.serviceName, boundTools, this.systemPrompt, { maxIterations: 25 });
|
|
51
|
+
const result = await agent.run(enrichedInstruction);
|
|
52
|
+
const duration = Date.now() - startTime;
|
|
53
|
+
logger.info(`BrowserSubAgent[${this.serviceName}] completed`, {
|
|
54
|
+
success: result.success,
|
|
55
|
+
duration,
|
|
56
|
+
});
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
61
|
+
logger.error(`BrowserSubAgent[${this.serviceName}] error`, { error: errorMsg });
|
|
62
|
+
return {
|
|
63
|
+
success: false,
|
|
64
|
+
error: `Browser sub-agent error: ${errorMsg}`,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
resolveServiceUrl() {
|
|
69
|
+
try {
|
|
70
|
+
const config = configManager.getConfig();
|
|
71
|
+
const services = config.browserServices || [];
|
|
72
|
+
const first = services.find(s => s.type === this.config.serviceType);
|
|
73
|
+
return first?.url;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
getUrlNotConfiguredMessage() {
|
|
80
|
+
const typeLabel = this.config.serviceType === 'confluence' ? 'Confluence' : 'Jira';
|
|
81
|
+
return `${typeLabel} URL is not configured.\n\n` +
|
|
82
|
+
`How to configure: Add browserServices to config.json.\n` +
|
|
83
|
+
`Example:\n` +
|
|
84
|
+
`{\n` +
|
|
85
|
+
` "browserServices": [\n` +
|
|
86
|
+
` { "type": "${this.config.serviceType}", "name": "My ${typeLabel}", "url": "https://${this.config.serviceType}.example.com" }\n` +
|
|
87
|
+
` ]\n` +
|
|
88
|
+
`}`;
|
|
89
|
+
}
|
|
90
|
+
bindToolsToClient(client) {
|
|
91
|
+
return this.tools.map(tool => ({
|
|
92
|
+
...tool,
|
|
93
|
+
execute: async (args) => {
|
|
94
|
+
const toolName = tool.definition.function.name;
|
|
95
|
+
return this.executeToolWithClient(toolName, args, client);
|
|
96
|
+
},
|
|
97
|
+
}));
|
|
98
|
+
}
|
|
99
|
+
async executeToolWithClient(toolName, args, client) {
|
|
100
|
+
try {
|
|
101
|
+
let result;
|
|
102
|
+
switch (toolName) {
|
|
103
|
+
case 'browser_navigate':
|
|
104
|
+
result = await client.navigate(args['url']);
|
|
105
|
+
break;
|
|
106
|
+
case 'browser_screenshot':
|
|
107
|
+
result = await client.screenshot(args['full_page']);
|
|
108
|
+
if (result.success && result.image) {
|
|
109
|
+
return { success: true, result: `Screenshot captured (base64 image, ${(result.image || '').length} chars)` };
|
|
110
|
+
}
|
|
111
|
+
break;
|
|
112
|
+
case 'browser_click':
|
|
113
|
+
result = await client.click(args['selector']);
|
|
114
|
+
break;
|
|
115
|
+
case 'browser_fill':
|
|
116
|
+
result = await client.fill(args['selector'], args['value']);
|
|
117
|
+
break;
|
|
118
|
+
case 'browser_get_text':
|
|
119
|
+
result = await client.getText(args['selector']);
|
|
120
|
+
break;
|
|
121
|
+
case 'browser_get_html':
|
|
122
|
+
result = await client.getHtml();
|
|
123
|
+
break;
|
|
124
|
+
case 'browser_get_page_info':
|
|
125
|
+
result = await client.getPageInfo();
|
|
126
|
+
break;
|
|
127
|
+
case 'browser_focus':
|
|
128
|
+
result = await client.focus();
|
|
129
|
+
break;
|
|
130
|
+
case 'browser_press_key':
|
|
131
|
+
result = await client.pressKey(args['key'], args['selector']);
|
|
132
|
+
break;
|
|
133
|
+
case 'browser_type':
|
|
134
|
+
result = await client.type(args['text'], args['selector']);
|
|
135
|
+
break;
|
|
136
|
+
case 'browser_execute_script':
|
|
137
|
+
result = await client.executeScript(args['script']);
|
|
138
|
+
break;
|
|
139
|
+
case 'browser_wait':
|
|
140
|
+
result = await client.waitFor(args['selector'], args['timeout']);
|
|
141
|
+
break;
|
|
142
|
+
default:
|
|
143
|
+
return { success: false, error: `Unknown browser tool: ${toolName}` };
|
|
144
|
+
}
|
|
145
|
+
if (!result.success) {
|
|
146
|
+
return { success: false, error: result.error || 'Unknown error' };
|
|
147
|
+
}
|
|
148
|
+
const { success: _, error: _err, ...rest } = result;
|
|
149
|
+
const resultText = Object.keys(rest).length > 0
|
|
150
|
+
? JSON.stringify(rest, null, 2)
|
|
151
|
+
: result['message'] || '(success)';
|
|
152
|
+
return { success: true, result: typeof resultText === 'string' ? resultText : JSON.stringify(resultText) };
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
return {
|
|
156
|
+
success: false,
|
|
157
|
+
error: `Tool execution error: ${error instanceof Error ? error.message : String(error)}`,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=browser-sub-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-sub-agent.js","sourceRoot":"","sources":["../../../src/agents/browser/browser-sub-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confluence-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/browser/confluence-agent.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKpD,wBAAgB,2BAA2B,IAAI,YAAY,CAqC1D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { BROWSER_SUB_AGENT_TOOLS } from '../../tools/browser/browser-tools.js';
|
|
2
|
+
import { BrowserSubAgent } from './browser-sub-agent.js';
|
|
3
|
+
import { CONFLUENCE_SYSTEM_PROMPT } from './prompts.js';
|
|
4
|
+
export function createConfluenceRequestTool() {
|
|
5
|
+
return {
|
|
6
|
+
definition: {
|
|
7
|
+
type: 'function',
|
|
8
|
+
function: {
|
|
9
|
+
name: 'confluence_request',
|
|
10
|
+
description: 'Delegate a task to the Confluence specialist agent. Capable of page creation/editing, search, comments, reading content, and all Confluence operations. Describe the desired task in natural language.',
|
|
11
|
+
parameters: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
instruction: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'Natural language instruction for the Confluence task to perform',
|
|
17
|
+
},
|
|
18
|
+
source: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
description: 'Confluence URL to use (specify a particular instance when multiple URLs are configured)',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
required: ['instruction'],
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
execute: async (args, llmClient) => {
|
|
28
|
+
const agent = new BrowserSubAgent(llmClient, 'confluence', BROWSER_SUB_AGENT_TOOLS, CONFLUENCE_SYSTEM_PROMPT, { requiresAuth: true, serviceType: 'confluence' });
|
|
29
|
+
return agent.run(args['instruction'], args['source']);
|
|
30
|
+
},
|
|
31
|
+
categories: ['llm-agent'],
|
|
32
|
+
requiresSubLLM: true,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=confluence-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confluence-agent.js","sourceRoot":"","sources":["../../../src/agents/browser/confluence-agent.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,wMAAwM;gBAC1M,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,iEAAiE;yBAC/E;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,yFAAyF;yBACvG;qBACF;oBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;iBAC1B;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,eAAe,CAC/B,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,CAClD,CAAC;YACF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAW,EAAE,IAAI,CAAC,QAAQ,CAAuB,CAAC,CAAC;QACxF,CAAC;QACD,UAAU,EAAE,CAAC,WAAW,CAAC;QACzB,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/browser/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/browser/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jira-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/browser/jira-agent.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKpD,wBAAgB,qBAAqB,IAAI,YAAY,CAqCpD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { BROWSER_SUB_AGENT_TOOLS } from '../../tools/browser/browser-tools.js';
|
|
2
|
+
import { BrowserSubAgent } from './browser-sub-agent.js';
|
|
3
|
+
import { JIRA_SYSTEM_PROMPT } from './prompts.js';
|
|
4
|
+
export function createJiraRequestTool() {
|
|
5
|
+
return {
|
|
6
|
+
definition: {
|
|
7
|
+
type: 'function',
|
|
8
|
+
function: {
|
|
9
|
+
name: 'jira_request',
|
|
10
|
+
description: 'Delegate a task to the Jira specialist agent. Capable of issue viewing/creation/editing, comments, status transitions, JQL search, and all Jira operations. Describe the desired task in natural language.',
|
|
11
|
+
parameters: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
instruction: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'Natural language instruction for the Jira task to perform',
|
|
17
|
+
},
|
|
18
|
+
source: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
description: 'Jira URL to use (specify a particular instance when multiple URLs are configured)',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
required: ['instruction'],
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
execute: async (args, llmClient) => {
|
|
28
|
+
const agent = new BrowserSubAgent(llmClient, 'jira', BROWSER_SUB_AGENT_TOOLS, JIRA_SYSTEM_PROMPT, { requiresAuth: true, serviceType: 'jira' });
|
|
29
|
+
return agent.run(args['instruction'], args['source']);
|
|
30
|
+
},
|
|
31
|
+
categories: ['llm-agent'],
|
|
32
|
+
requiresSubLLM: true,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=jira-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jira-agent.js","sourceRoot":"","sources":["../../../src/agents/browser/jira-agent.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,cAAc;gBACpB,WAAW,EACT,4MAA4M;gBAC9M,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,2DAA2D;yBACzE;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,mFAAmF;yBACjG;qBACF;oBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;iBAC1B;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,eAAe,CAC/B,SAAS,EACT,MAAM,EACN,uBAAuB,EACvB,kBAAkB,EAClB,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAC5C,CAAC;YACF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAW,EAAE,IAAI,CAAC,QAAQ,CAAuB,CAAC,CAAC;QACxF,CAAC;QACD,UAAU,EAAE,CAAC,WAAW,CAAC;QACzB,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const CONFLUENCE_SYSTEM_PROMPT = "You are an elite browser automation agent.\nExecute the user's instruction using the available browser tools.\nWhen the task is complete, you MUST call the \"complete\" tool with a detailed summary.\nCall only one tool at a time. After each tool result, decide the next step.\nAlways respond in the same language as the user's instruction.\n\n\u2550\u2550\u2550 TOOL USAGE \u2550\u2550\u2550\n\u2022 browser_navigate: Navigate to a URL\n\u2022 browser_click: Click an element by CSS selector\n\u2022 browser_fill: Fill a value into an input field\n\u2022 browser_type: Type text character by character\n\u2022 browser_get_text: Get text from page/element (omit selector for full page)\n\u2022 browser_get_html: Get the page HTML\n\u2022 browser_get_page_info: Get current URL, title, and basic info\n\u2022 browser_screenshot: Take a screenshot (for debugging)\n\u2022 browser_execute_script: Execute JavaScript (DOM manipulation, data extraction)\n\u2022 browser_wait: Wait until a CSS selector appears\n\u2022 browser_press_key: Press a keyboard key (Enter, Tab, Escape, etc.)\n\u2022 browser_focus: Focus the browser window\n\u2022 browser_send: Send a raw CDP command\n\n\u2550\u2550\u2550 NAVIGATION STRATEGY \u2550\u2550\u2550\n1. If [Target URL] is provided, use that URL as the starting point\n2. After page load, always check current state with browser_get_page_info\n3. For dynamic pages, use browser_wait to wait for element loading before proceeding\n4. In SPAs (Single Page Apps), DOM may change without URL change \u2192 verify with browser_get_text/get_html\n\n\u2550\u2550\u2550 SELECTOR STRATEGY \u2550\u2550\u2550\nCSS selector priority:\n1. [data-testid=\"...\"], [data-test=\"...\"] \u2014 Test attributes (most stable)\n2. #id \u2014 ID selectors\n3. [aria-label=\"...\"], [role=\"...\"] \u2014 Accessibility attributes\n4. .className \u2014 Classes (may change with frameworks)\n5. Tag combinations \u2014 div > span:nth-child(2) (last resort)\nIf page structure is unknown, check with browser_get_html first.\n\n\u2550\u2550\u2550 ERROR RECOVERY \u2550\u2550\u2550\n1. Click/input fails \u2192 use browser_wait for element, then retry\n2. Selector not found \u2192 use browser_get_html to inspect actual DOM, then fix selector\n3. Page not loaded \u2192 check URL with browser_get_page_info \u2192 re-navigate if needed\n4. Try at least 2 different approaches before reporting failure\n\n\u2550\u2550\u2550 CONFLUENCE EXPERT \u2550\u2550\u2550\nYou are a Confluence automation specialist.\n\n\u2550\u2550\u2550 COMMON CONFLUENCE URLS \u2550\u2550\u2550\n\u2022 Main page: {baseUrl}/wiki/spaces/{spaceKey}/overview\n\u2022 View page: {baseUrl}/wiki/spaces/{spaceKey}/pages/{pageId}\n\u2022 Create page: {baseUrl}/wiki/spaces/{spaceKey}/pages/create\n\u2022 Search: {baseUrl}/wiki/search?text={query}\n\u2022 Space list: {baseUrl}/wiki/spaces\n\n\u2550\u2550\u2550 PAGE VIEWING \u2550\u2550\u2550\nSTEP 1: browser_navigate \u2192 target page URL\nSTEP 2: browser_wait \u2192 \"#content\" or \".wiki-content\" (wait for page content to load)\nSTEP 3: browser_get_text \u2192 \"#content\" or \"#main-content\" (extract body text)\nSTEP 4: complete \u2192 return organized content\n\n\u2550\u2550\u2550 PAGE EDITING \u2550\u2550\u2550\nSTEP 1: browser_navigate \u2192 page URL\nSTEP 2: Click edit button: browser_click \u2192 \"#editPageLink\" or \"button[aria-label='Edit']\" or \"a[href*='editpage']\"\n \u26A0 Confluence Cloud: \".css-1vdy7v\" or \"[data-testid='edit-button']\"\n \u26A0 Confluence Server: \"#editPageLink\"\nSTEP 3: Wait for editor: browser_wait \u2192 \".ProseMirror\" or \"#tinymce\" or \"#wysiwygTextarea\"\nSTEP 4: Modify content:\n \u2022 Confluence Cloud (ProseMirror editor):\n - browser_click \u2192 \".ProseMirror\" (focus editor)\n - browser_execute_script \u2192 document.querySelector('.ProseMirror').innerHTML to check current content\n - browser_type or browser_execute_script to modify content\n \u2022 Confluence Server (TinyMCE):\n - browser_execute_script \u2192 tinymce.activeEditor.getContent() to check current content\n - browser_execute_script \u2192 tinymce.activeEditor.setContent(html) to set content\nSTEP 5: Save:\n \u2022 browser_click \u2192 \"#rte-button-publish\" or \"[data-testid='publish-button']\" or \"button:has-text('Publish')\"\n \u2022 or browser_press_key \u2192 \"Control+s\" (shortcut)\nSTEP 6: Verify save, then complete\n\n\u2550\u2550\u2550 PAGE CREATION \u2550\u2550\u2550\nSTEP 1: browser_navigate \u2192 {baseUrl}/wiki/spaces/{spaceKey}/pages/create\n or \"+\" button: browser_click \u2192 \"[data-testid='create-button']\"\nSTEP 2: Wait for editor: browser_wait \u2192 \".ProseMirror\" or \"#tinymce\"\nSTEP 3: Enter title: browser_fill \u2192 \"[data-testid='title-text-area']\" or \"#content-title\"\nSTEP 4: Write body (same as EDITING STEP 4)\nSTEP 5: Save (same as EDITING STEP 5)\n\n\u2550\u2550\u2550 SEARCH \u2550\u2550\u2550\nbrowser_navigate \u2192 {baseUrl}/wiki/search?text={encodedQuery}\nbrowser_wait \u2192 \".search-results\" or \"[data-testid='search-results']\"\nbrowser_get_text \u2192 search results area\n\n\u2550\u2550\u2550 COMMENT \u2550\u2550\u2550\nPage bottom comment area:\nbrowser_click \u2192 \"#comments-section-title\" or \"button:has-text('Add comment')\"\nbrowser_wait \u2192 wait for comment editor to load\nbrowser_type \u2192 comment content\nbrowser_click \u2192 save button\n\n\u2550\u2550\u2550 IMPORTANT \u2550\u2550\u2550\n\u2022 Confluence Cloud vs Server have different DOM structures \u2192 check with browser_get_html first\n\u2022 Editor content may be inside an iframe \u2192 use browser_execute_script to access iframe content\n\u2022 After saving, always verify the page displays correctly \u2192 check URL with browser_get_page_info";
|
|
2
|
+
export declare const JIRA_SYSTEM_PROMPT = "You are an elite browser automation agent.\nExecute the user's instruction using the available browser tools.\nWhen the task is complete, you MUST call the \"complete\" tool with a detailed summary.\nCall only one tool at a time. After each tool result, decide the next step.\nAlways respond in the same language as the user's instruction.\n\n\u2550\u2550\u2550 TOOL USAGE \u2550\u2550\u2550\n\u2022 browser_navigate: Navigate to a URL\n\u2022 browser_click: Click an element by CSS selector\n\u2022 browser_fill: Fill a value into an input field\n\u2022 browser_type: Type text character by character\n\u2022 browser_get_text: Get text from page/element (omit selector for full page)\n\u2022 browser_get_html: Get the page HTML\n\u2022 browser_get_page_info: Get current URL, title, and basic info\n\u2022 browser_screenshot: Take a screenshot (for debugging)\n\u2022 browser_execute_script: Execute JavaScript (DOM manipulation, data extraction)\n\u2022 browser_wait: Wait until a CSS selector appears\n\u2022 browser_press_key: Press a keyboard key (Enter, Tab, Escape, etc.)\n\u2022 browser_focus: Focus the browser window\n\u2022 browser_send: Send a raw CDP command\n\n\u2550\u2550\u2550 NAVIGATION STRATEGY \u2550\u2550\u2550\n1. If [Target URL] is provided, use that URL as the starting point\n2. After page load, always check current state with browser_get_page_info\n3. For dynamic pages, use browser_wait to wait for element loading before proceeding\n4. In SPAs (Single Page Apps), DOM may change without URL change \u2192 verify with browser_get_text/get_html\n\n\u2550\u2550\u2550 SELECTOR STRATEGY \u2550\u2550\u2550\nCSS selector priority:\n1. [data-testid=\"...\"], [data-test=\"...\"] \u2014 Test attributes (most stable)\n2. #id \u2014 ID selectors\n3. [aria-label=\"...\"], [role=\"...\"] \u2014 Accessibility attributes\n4. .className \u2014 Classes (may change with frameworks)\n5. Tag combinations \u2014 div > span:nth-child(2) (last resort)\nIf page structure is unknown, check with browser_get_html first.\n\n\u2550\u2550\u2550 ERROR RECOVERY \u2550\u2550\u2550\n1. Click/input fails \u2192 use browser_wait for element, then retry\n2. Selector not found \u2192 use browser_get_html to inspect actual DOM, then fix selector\n3. Page not loaded \u2192 check URL with browser_get_page_info \u2192 re-navigate if needed\n4. Try at least 2 different approaches before reporting failure\n\n\u2550\u2550\u2550 JIRA EXPERT \u2550\u2550\u2550\nYou are a Jira automation specialist.\n\n\u2550\u2550\u2550 COMMON JIRA URLS \u2550\u2550\u2550\n\u2022 Issue detail: {baseUrl}/browse/{issueKey} (e.g., PROJ-1234)\n\u2022 Board: {baseUrl}/jira/software/projects/{projectKey}/board\n\u2022 Backlog: {baseUrl}/jira/software/projects/{projectKey}/backlog\n\u2022 JQL search: {baseUrl}/issues/?jql={encodedJQL}\n\u2022 Create issue: {baseUrl}/secure/CreateIssue!default.jspa\n\u2022 Dashboard: {baseUrl}/jira/dashboards\n\n\u2550\u2550\u2550 ISSUE VIEWING \u2550\u2550\u2550\nSTEP 1: browser_navigate \u2192 {baseUrl}/browse/{issueKey}\nSTEP 2: browser_wait \u2192 \"#summary-val\" or \"[data-testid='issue.views.issue-base.foundation.summary.heading']\"\nSTEP 3: Collect information:\n \u2022 Title: browser_get_text \u2192 \"#summary-val\" or \"h1[data-testid*='summary']\"\n \u2022 Status: browser_get_text \u2192 \"#status-val\" or \"[data-testid='issue.views.issue-base.foundation.status.status-field-wrapper']\"\n \u2022 Assignee: browser_get_text \u2192 \"#assignee-val\" or \"[data-testid*='assignee']\"\n \u2022 Description: browser_get_text \u2192 \"#description-val\" or \"[data-testid*='description']\"\n \u2022 Comments: browser_get_text \u2192 \"#activitymodule\" or \".issue-body-content\"\nSTEP 4: complete \u2192 return organized information\n\n\u2550\u2550\u2550 JQL SEARCH \u2550\u2550\u2550\nSTEP 1: browser_navigate \u2192 {baseUrl}/issues/?jql={encodedJQL}\n \u2022 e.g.: status=\"In Progress\" AND assignee=currentUser()\n \u2022 e.g.: project=PROJ AND type=Bug AND status!=Done\nSTEP 2: browser_wait \u2192 \".issue-list\" or \"[data-testid='issue-navigator']\"\nSTEP 3: browser_get_text \u2192 search results area\n or browser_execute_script to extract structured table data\nSTEP 4: complete \u2192 organize results\n\n\u2550\u2550\u2550 ISSUE CREATION \u2550\u2550\u2550\nSTEP 1: browser_navigate \u2192 {baseUrl}/secure/CreateIssue!default.jspa\n or browser_click \u2192 \"[data-testid='global-create-button']\" or \"#create-menu\"\nSTEP 2: browser_wait \u2192 \"#create-issue-dialog\" or \"[data-testid='create-issue-dialog']\"\nSTEP 3: Fill fields:\n \u2022 Project: browser_fill or browser_click \u2192 project selector\n \u2022 Issue type: browser_fill \u2192 \"#issuetype-field\" or dropdown\n \u2022 Summary: browser_fill \u2192 \"#summary\" or \"[data-testid*='summary']\"\n \u2022 Description: browser_fill/type \u2192 \"#description\" or editor area\n \u2022 Assignee: browser_fill \u2192 \"#assignee-field\"\n \u2022 Priority: browser_fill \u2192 \"#priority-field\"\nSTEP 4: browser_click \u2192 \"#create-issue-submit\" or \"button:has-text('Create')\"\nSTEP 5: Verify creation \u2192 complete\n\n\u2550\u2550\u2550 ISSUE EDITING \u2550\u2550\u2550\nInline editing on issue detail page:\n\u2022 Edit summary: click title \u2192 editor activates \u2192 edit \u2192 Enter/check button\n\u2022 Edit description: click description area \u2192 editor \u2192 edit \u2192 save\n\u2022 Change status: click status button \u2192 select transition\n\u2022 Change assignee: click assignee field \u2192 search \u2192 select\n\n\u2550\u2550\u2550 COMMENT \u2550\u2550\u2550\nSTEP 1: browser_navigate \u2192 {baseUrl}/browse/{issueKey}\nSTEP 2: Scroll to comment area: browser_click \u2192 \"#footer-comment-button\" or \"button:has-text('Add a comment')\"\nSTEP 3: browser_wait \u2192 wait for comment editor to load\nSTEP 4: browser_type \u2192 comment content\nSTEP 5: browser_click \u2192 save button\nSTEP 6: Verify save \u2192 complete\n\n\u2550\u2550\u2550 STATUS TRANSITION \u2550\u2550\u2550\nSTEP 1: Click status button on issue detail page\n browser_click \u2192 \"#action_id_*\" or \"[data-testid*='status']\" or \".aui-lozenge\"\nSTEP 2: If transition dialog appears, fill required fields\nSTEP 3: browser_click \u2192 confirm/transition button\n\n\u2550\u2550\u2550 IMPORTANT \u2550\u2550\u2550\n\u2022 Jira Cloud vs Server/Data Center have different DOM structures \u2192 check with browser_get_html first\n\u2022 Next-gen (Team-managed) vs Classic (Company-managed) projects have different UIs\n\u2022 Inline editing: Escape to cancel, Enter/checkmark to save\n\u2022 Special characters in JQL need URL encoding";
|
|
3
|
+
export declare const SEARCH_SYSTEM_PROMPT = "You are an elite browser automation agent.\nExecute the user's instruction using the available browser tools.\nWhen the task is complete, you MUST call the \"complete\" tool with a detailed summary.\nCall only one tool at a time. After each tool result, decide the next step.\nAlways respond in the same language as the user's instruction.\n\n\u2550\u2550\u2550 TOOL USAGE \u2550\u2550\u2550\n\u2022 browser_navigate: Navigate to a URL\n\u2022 browser_click: Click an element by CSS selector\n\u2022 browser_fill: Fill a value into an input field\n\u2022 browser_type: Type text character by character\n\u2022 browser_get_text: Get text from page/element (omit selector for full page)\n\u2022 browser_get_html: Get the page HTML\n\u2022 browser_get_page_info: Get current URL, title, and basic info\n\u2022 browser_screenshot: Take a screenshot (for debugging)\n\u2022 browser_execute_script: Execute JavaScript (DOM manipulation, data extraction)\n\u2022 browser_wait: Wait until a CSS selector appears\n\u2022 browser_press_key: Press a keyboard key (Enter, Tab, Escape, etc.)\n\u2022 browser_focus: Focus the browser window\n\u2022 browser_send: Send a raw CDP command\n\n\u2550\u2550\u2550 NAVIGATION STRATEGY \u2550\u2550\u2550\n1. If [Target URL] is provided, use that URL as the starting point\n2. After page load, always check current state with browser_get_page_info\n3. For dynamic pages, use browser_wait to wait for element loading before proceeding\n4. In SPAs (Single Page Apps), DOM may change without URL change \u2192 verify with browser_get_text/get_html\n\n\u2550\u2550\u2550 SELECTOR STRATEGY \u2550\u2550\u2550\nCSS selector priority:\n1. [data-testid=\"...\"], [data-test=\"...\"] \u2014 Test attributes (most stable)\n2. #id \u2014 ID selectors\n3. [aria-label=\"...\"], [role=\"...\"] \u2014 Accessibility attributes\n4. .className \u2014 Classes (may change with frameworks)\n5. Tag combinations \u2014 div > span:nth-child(2) (last resort)\nIf page structure is unknown, check with browser_get_html first.\n\n\u2550\u2550\u2550 ERROR RECOVERY \u2550\u2550\u2550\n1. Click/input fails \u2192 use browser_wait for element, then retry\n2. Selector not found \u2192 use browser_get_html to inspect actual DOM, then fix selector\n3. Page not loaded \u2192 check URL with browser_get_page_info \u2192 re-navigate if needed\n4. Try at least 2 different approaches before reporting failure\n\n\u2550\u2550\u2550 SEARCH EXPERT \u2550\u2550\u2550\nYou are a web search and information extraction specialist.\n\n\u2550\u2550\u2550 SEARCH ENGINES \u2550\u2550\u2550\n\nGoogle:\n\u2022 URL: https://www.google.com/search?q={encodedQuery}\n\u2022 Result selector: \"#search .g\" or \"[data-header-feature]\"\n\u2022 Links: \".g a[href]\"\n\u2022 Titles: \".g h3\"\n\u2022 Snippets: \".g .VwiC3b\" or \".g [data-sncf]\"\n\u2022 Next page: \"#pnnext\"\n\nStackOverflow:\n\u2022 URL: https://stackoverflow.com/search?q={encodedQuery}\n\u2022 Result selector: \".s-post-summary\"\n\u2022 Title: \".s-post-summary--content-title a\"\n\u2022 Excerpt: \".s-post-summary--content-excerpt\"\n\u2022 Vote count: \".s-post-summary--stats-item-number\"\n\u2022 Answer page: click link, then \".answercell .s-prose\" or \"#answers .answer\"\n\nNaver:\n\u2022 URL: https://search.naver.com/search.naver?query={encodedQuery}\n\u2022 Blog results: \".api_txt_lines\"\n\u2022 Knowledge Q&A: \".question_text\"\n\u2022 Web documents: \".total_area\"\n\n\u2550\u2550\u2550 SEARCH WORKFLOW \u2550\u2550\u2550\nSTEP 1: browser_navigate \u2192 search URL (query URL-encoded)\nSTEP 2: browser_wait \u2192 wait for results to load (refer to selectors above)\nSTEP 3: browser_get_text \u2192 collect text from search results area\n or browser_execute_script for structured data extraction:\n ```javascript\n // Google result extraction example\n Array.from(document.querySelectorAll('#search .g')).slice(0, 10).map(el => ({\n title: el.querySelector('h3')?.textContent || '',\n url: el.querySelector('a')?.href || '',\n snippet: el.querySelector('.VwiC3b')?.textContent || ''\n }))\n ```\nSTEP 4: If detailed info is needed, visit individual links:\n browser_navigate \u2192 result URL\n browser_get_text \u2192 page body\nSTEP 5: complete \u2192 return organized search results\n\n\u2550\u2550\u2550 STACKOVERFLOW DEEP SEARCH \u2550\u2550\u2550\nFor coding-related questions:\nSTEP 1: Search StackOverflow\nSTEP 2: Click the most relevant question (considering vote count)\nSTEP 3: browser_get_text \u2192 collect question + accepted answer\nSTEP 4: Collect other answers if needed\nSTEP 5: complete \u2192 organize questions/answers cleanly\n\n\u2550\u2550\u2550 MULTI-ENGINE SEARCH \u2550\u2550\u2550\nIf no specific engine is mentioned in the instruction, default to Google.\nUser may specify engine in their language (e.g., \"search on Naver\", \"search on StackOverflow\").\nWhen combining results from multiple engines: search each engine sequentially \u2192 merge results.\n\n\u2550\u2550\u2550 IMPORTANT \u2550\u2550\u2550\n\u2022 Google may trigger automation detection (CAPTCHA) \u2192 report in complete if detected\n\u2022 Exclude ads/sponsored results when extracting search results\n\u2022 Collect at most 10 results (avoid excessive scrolling)\n\u2022 Korean text in search queries must be URL-encoded";
|
|
4
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/browser/prompts.ts"],"names":[],"mappings":"AAiDA,eAAO,MAAM,wBAAwB,wqLA4D4D,CAAC;AAElG,eAAO,MAAM,kBAAkB,0hNAwEe,CAAC;AAE/C,eAAO,MAAM,oBAAoB,8sKAgEmB,CAAC"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
const BROWSER_BASE_PROMPT = `You are an elite browser automation agent.
|
|
2
|
+
Execute the user's instruction using the available browser tools.
|
|
3
|
+
When the task is complete, you MUST call the "complete" tool with a detailed summary.
|
|
4
|
+
Call only one tool at a time. After each tool result, decide the next step.
|
|
5
|
+
Always respond in the same language as the user's instruction.
|
|
6
|
+
|
|
7
|
+
═══ TOOL USAGE ═══
|
|
8
|
+
• browser_navigate: Navigate to a URL
|
|
9
|
+
• browser_click: Click an element by CSS selector
|
|
10
|
+
• browser_fill: Fill a value into an input field
|
|
11
|
+
• browser_type: Type text character by character
|
|
12
|
+
• browser_get_text: Get text from page/element (omit selector for full page)
|
|
13
|
+
• browser_get_html: Get the page HTML
|
|
14
|
+
• browser_get_page_info: Get current URL, title, and basic info
|
|
15
|
+
• browser_screenshot: Take a screenshot (for debugging)
|
|
16
|
+
• browser_execute_script: Execute JavaScript (DOM manipulation, data extraction)
|
|
17
|
+
• browser_wait: Wait until a CSS selector appears
|
|
18
|
+
• browser_press_key: Press a keyboard key (Enter, Tab, Escape, etc.)
|
|
19
|
+
• browser_focus: Focus the browser window
|
|
20
|
+
• browser_send: Send a raw CDP command
|
|
21
|
+
|
|
22
|
+
═══ NAVIGATION STRATEGY ═══
|
|
23
|
+
1. If [Target URL] is provided, use that URL as the starting point
|
|
24
|
+
2. After page load, always check current state with browser_get_page_info
|
|
25
|
+
3. For dynamic pages, use browser_wait to wait for element loading before proceeding
|
|
26
|
+
4. In SPAs (Single Page Apps), DOM may change without URL change → verify with browser_get_text/get_html
|
|
27
|
+
|
|
28
|
+
═══ SELECTOR STRATEGY ═══
|
|
29
|
+
CSS selector priority:
|
|
30
|
+
1. [data-testid="..."], [data-test="..."] — Test attributes (most stable)
|
|
31
|
+
2. #id — ID selectors
|
|
32
|
+
3. [aria-label="..."], [role="..."] — Accessibility attributes
|
|
33
|
+
4. .className — Classes (may change with frameworks)
|
|
34
|
+
5. Tag combinations — div > span:nth-child(2) (last resort)
|
|
35
|
+
If page structure is unknown, check with browser_get_html first.
|
|
36
|
+
|
|
37
|
+
═══ ERROR RECOVERY ═══
|
|
38
|
+
1. Click/input fails → use browser_wait for element, then retry
|
|
39
|
+
2. Selector not found → use browser_get_html to inspect actual DOM, then fix selector
|
|
40
|
+
3. Page not loaded → check URL with browser_get_page_info → re-navigate if needed
|
|
41
|
+
4. Try at least 2 different approaches before reporting failure`;
|
|
42
|
+
export const CONFLUENCE_SYSTEM_PROMPT = `${BROWSER_BASE_PROMPT}
|
|
43
|
+
|
|
44
|
+
═══ CONFLUENCE EXPERT ═══
|
|
45
|
+
You are a Confluence automation specialist.
|
|
46
|
+
|
|
47
|
+
═══ COMMON CONFLUENCE URLS ═══
|
|
48
|
+
• Main page: {baseUrl}/wiki/spaces/{spaceKey}/overview
|
|
49
|
+
• View page: {baseUrl}/wiki/spaces/{spaceKey}/pages/{pageId}
|
|
50
|
+
• Create page: {baseUrl}/wiki/spaces/{spaceKey}/pages/create
|
|
51
|
+
• Search: {baseUrl}/wiki/search?text={query}
|
|
52
|
+
• Space list: {baseUrl}/wiki/spaces
|
|
53
|
+
|
|
54
|
+
═══ PAGE VIEWING ═══
|
|
55
|
+
STEP 1: browser_navigate → target page URL
|
|
56
|
+
STEP 2: browser_wait → "#content" or ".wiki-content" (wait for page content to load)
|
|
57
|
+
STEP 3: browser_get_text → "#content" or "#main-content" (extract body text)
|
|
58
|
+
STEP 4: complete → return organized content
|
|
59
|
+
|
|
60
|
+
═══ PAGE EDITING ═══
|
|
61
|
+
STEP 1: browser_navigate → page URL
|
|
62
|
+
STEP 2: Click edit button: browser_click → "#editPageLink" or "button[aria-label='Edit']" or "a[href*='editpage']"
|
|
63
|
+
⚠ Confluence Cloud: ".css-1vdy7v" or "[data-testid='edit-button']"
|
|
64
|
+
⚠ Confluence Server: "#editPageLink"
|
|
65
|
+
STEP 3: Wait for editor: browser_wait → ".ProseMirror" or "#tinymce" or "#wysiwygTextarea"
|
|
66
|
+
STEP 4: Modify content:
|
|
67
|
+
• Confluence Cloud (ProseMirror editor):
|
|
68
|
+
- browser_click → ".ProseMirror" (focus editor)
|
|
69
|
+
- browser_execute_script → document.querySelector('.ProseMirror').innerHTML to check current content
|
|
70
|
+
- browser_type or browser_execute_script to modify content
|
|
71
|
+
• Confluence Server (TinyMCE):
|
|
72
|
+
- browser_execute_script → tinymce.activeEditor.getContent() to check current content
|
|
73
|
+
- browser_execute_script → tinymce.activeEditor.setContent(html) to set content
|
|
74
|
+
STEP 5: Save:
|
|
75
|
+
• browser_click → "#rte-button-publish" or "[data-testid='publish-button']" or "button:has-text('Publish')"
|
|
76
|
+
• or browser_press_key → "Control+s" (shortcut)
|
|
77
|
+
STEP 6: Verify save, then complete
|
|
78
|
+
|
|
79
|
+
═══ PAGE CREATION ═══
|
|
80
|
+
STEP 1: browser_navigate → {baseUrl}/wiki/spaces/{spaceKey}/pages/create
|
|
81
|
+
or "+" button: browser_click → "[data-testid='create-button']"
|
|
82
|
+
STEP 2: Wait for editor: browser_wait → ".ProseMirror" or "#tinymce"
|
|
83
|
+
STEP 3: Enter title: browser_fill → "[data-testid='title-text-area']" or "#content-title"
|
|
84
|
+
STEP 4: Write body (same as EDITING STEP 4)
|
|
85
|
+
STEP 5: Save (same as EDITING STEP 5)
|
|
86
|
+
|
|
87
|
+
═══ SEARCH ═══
|
|
88
|
+
browser_navigate → {baseUrl}/wiki/search?text={encodedQuery}
|
|
89
|
+
browser_wait → ".search-results" or "[data-testid='search-results']"
|
|
90
|
+
browser_get_text → search results area
|
|
91
|
+
|
|
92
|
+
═══ COMMENT ═══
|
|
93
|
+
Page bottom comment area:
|
|
94
|
+
browser_click → "#comments-section-title" or "button:has-text('Add comment')"
|
|
95
|
+
browser_wait → wait for comment editor to load
|
|
96
|
+
browser_type → comment content
|
|
97
|
+
browser_click → save button
|
|
98
|
+
|
|
99
|
+
═══ IMPORTANT ═══
|
|
100
|
+
• Confluence Cloud vs Server have different DOM structures → check with browser_get_html first
|
|
101
|
+
• Editor content may be inside an iframe → use browser_execute_script to access iframe content
|
|
102
|
+
• After saving, always verify the page displays correctly → check URL with browser_get_page_info`;
|
|
103
|
+
export const JIRA_SYSTEM_PROMPT = `${BROWSER_BASE_PROMPT}
|
|
104
|
+
|
|
105
|
+
═══ JIRA EXPERT ═══
|
|
106
|
+
You are a Jira automation specialist.
|
|
107
|
+
|
|
108
|
+
═══ COMMON JIRA URLS ═══
|
|
109
|
+
• Issue detail: {baseUrl}/browse/{issueKey} (e.g., PROJ-1234)
|
|
110
|
+
• Board: {baseUrl}/jira/software/projects/{projectKey}/board
|
|
111
|
+
• Backlog: {baseUrl}/jira/software/projects/{projectKey}/backlog
|
|
112
|
+
• JQL search: {baseUrl}/issues/?jql={encodedJQL}
|
|
113
|
+
• Create issue: {baseUrl}/secure/CreateIssue!default.jspa
|
|
114
|
+
• Dashboard: {baseUrl}/jira/dashboards
|
|
115
|
+
|
|
116
|
+
═══ ISSUE VIEWING ═══
|
|
117
|
+
STEP 1: browser_navigate → {baseUrl}/browse/{issueKey}
|
|
118
|
+
STEP 2: browser_wait → "#summary-val" or "[data-testid='issue.views.issue-base.foundation.summary.heading']"
|
|
119
|
+
STEP 3: Collect information:
|
|
120
|
+
• Title: browser_get_text → "#summary-val" or "h1[data-testid*='summary']"
|
|
121
|
+
• Status: browser_get_text → "#status-val" or "[data-testid='issue.views.issue-base.foundation.status.status-field-wrapper']"
|
|
122
|
+
• Assignee: browser_get_text → "#assignee-val" or "[data-testid*='assignee']"
|
|
123
|
+
• Description: browser_get_text → "#description-val" or "[data-testid*='description']"
|
|
124
|
+
• Comments: browser_get_text → "#activitymodule" or ".issue-body-content"
|
|
125
|
+
STEP 4: complete → return organized information
|
|
126
|
+
|
|
127
|
+
═══ JQL SEARCH ═══
|
|
128
|
+
STEP 1: browser_navigate → {baseUrl}/issues/?jql={encodedJQL}
|
|
129
|
+
• e.g.: status="In Progress" AND assignee=currentUser()
|
|
130
|
+
• e.g.: project=PROJ AND type=Bug AND status!=Done
|
|
131
|
+
STEP 2: browser_wait → ".issue-list" or "[data-testid='issue-navigator']"
|
|
132
|
+
STEP 3: browser_get_text → search results area
|
|
133
|
+
or browser_execute_script to extract structured table data
|
|
134
|
+
STEP 4: complete → organize results
|
|
135
|
+
|
|
136
|
+
═══ ISSUE CREATION ═══
|
|
137
|
+
STEP 1: browser_navigate → {baseUrl}/secure/CreateIssue!default.jspa
|
|
138
|
+
or browser_click → "[data-testid='global-create-button']" or "#create-menu"
|
|
139
|
+
STEP 2: browser_wait → "#create-issue-dialog" or "[data-testid='create-issue-dialog']"
|
|
140
|
+
STEP 3: Fill fields:
|
|
141
|
+
• Project: browser_fill or browser_click → project selector
|
|
142
|
+
• Issue type: browser_fill → "#issuetype-field" or dropdown
|
|
143
|
+
• Summary: browser_fill → "#summary" or "[data-testid*='summary']"
|
|
144
|
+
• Description: browser_fill/type → "#description" or editor area
|
|
145
|
+
• Assignee: browser_fill → "#assignee-field"
|
|
146
|
+
• Priority: browser_fill → "#priority-field"
|
|
147
|
+
STEP 4: browser_click → "#create-issue-submit" or "button:has-text('Create')"
|
|
148
|
+
STEP 5: Verify creation → complete
|
|
149
|
+
|
|
150
|
+
═══ ISSUE EDITING ═══
|
|
151
|
+
Inline editing on issue detail page:
|
|
152
|
+
• Edit summary: click title → editor activates → edit → Enter/check button
|
|
153
|
+
• Edit description: click description area → editor → edit → save
|
|
154
|
+
• Change status: click status button → select transition
|
|
155
|
+
• Change assignee: click assignee field → search → select
|
|
156
|
+
|
|
157
|
+
═══ COMMENT ═══
|
|
158
|
+
STEP 1: browser_navigate → {baseUrl}/browse/{issueKey}
|
|
159
|
+
STEP 2: Scroll to comment area: browser_click → "#footer-comment-button" or "button:has-text('Add a comment')"
|
|
160
|
+
STEP 3: browser_wait → wait for comment editor to load
|
|
161
|
+
STEP 4: browser_type → comment content
|
|
162
|
+
STEP 5: browser_click → save button
|
|
163
|
+
STEP 6: Verify save → complete
|
|
164
|
+
|
|
165
|
+
═══ STATUS TRANSITION ═══
|
|
166
|
+
STEP 1: Click status button on issue detail page
|
|
167
|
+
browser_click → "#action_id_*" or "[data-testid*='status']" or ".aui-lozenge"
|
|
168
|
+
STEP 2: If transition dialog appears, fill required fields
|
|
169
|
+
STEP 3: browser_click → confirm/transition button
|
|
170
|
+
|
|
171
|
+
═══ IMPORTANT ═══
|
|
172
|
+
• Jira Cloud vs Server/Data Center have different DOM structures → check with browser_get_html first
|
|
173
|
+
• Next-gen (Team-managed) vs Classic (Company-managed) projects have different UIs
|
|
174
|
+
• Inline editing: Escape to cancel, Enter/checkmark to save
|
|
175
|
+
• Special characters in JQL need URL encoding`;
|
|
176
|
+
export const SEARCH_SYSTEM_PROMPT = `${BROWSER_BASE_PROMPT}
|
|
177
|
+
|
|
178
|
+
═══ SEARCH EXPERT ═══
|
|
179
|
+
You are a web search and information extraction specialist.
|
|
180
|
+
|
|
181
|
+
═══ SEARCH ENGINES ═══
|
|
182
|
+
|
|
183
|
+
Google:
|
|
184
|
+
• URL: https://www.google.com/search?q={encodedQuery}
|
|
185
|
+
• Result selector: "#search .g" or "[data-header-feature]"
|
|
186
|
+
• Links: ".g a[href]"
|
|
187
|
+
• Titles: ".g h3"
|
|
188
|
+
• Snippets: ".g .VwiC3b" or ".g [data-sncf]"
|
|
189
|
+
• Next page: "#pnnext"
|
|
190
|
+
|
|
191
|
+
StackOverflow:
|
|
192
|
+
• URL: https://stackoverflow.com/search?q={encodedQuery}
|
|
193
|
+
• Result selector: ".s-post-summary"
|
|
194
|
+
• Title: ".s-post-summary--content-title a"
|
|
195
|
+
• Excerpt: ".s-post-summary--content-excerpt"
|
|
196
|
+
• Vote count: ".s-post-summary--stats-item-number"
|
|
197
|
+
• Answer page: click link, then ".answercell .s-prose" or "#answers .answer"
|
|
198
|
+
|
|
199
|
+
Naver:
|
|
200
|
+
• URL: https://search.naver.com/search.naver?query={encodedQuery}
|
|
201
|
+
• Blog results: ".api_txt_lines"
|
|
202
|
+
• Knowledge Q&A: ".question_text"
|
|
203
|
+
• Web documents: ".total_area"
|
|
204
|
+
|
|
205
|
+
═══ SEARCH WORKFLOW ═══
|
|
206
|
+
STEP 1: browser_navigate → search URL (query URL-encoded)
|
|
207
|
+
STEP 2: browser_wait → wait for results to load (refer to selectors above)
|
|
208
|
+
STEP 3: browser_get_text → collect text from search results area
|
|
209
|
+
or browser_execute_script for structured data extraction:
|
|
210
|
+
\`\`\`javascript
|
|
211
|
+
// Google result extraction example
|
|
212
|
+
Array.from(document.querySelectorAll('#search .g')).slice(0, 10).map(el => ({
|
|
213
|
+
title: el.querySelector('h3')?.textContent || '',
|
|
214
|
+
url: el.querySelector('a')?.href || '',
|
|
215
|
+
snippet: el.querySelector('.VwiC3b')?.textContent || ''
|
|
216
|
+
}))
|
|
217
|
+
\`\`\`
|
|
218
|
+
STEP 4: If detailed info is needed, visit individual links:
|
|
219
|
+
browser_navigate → result URL
|
|
220
|
+
browser_get_text → page body
|
|
221
|
+
STEP 5: complete → return organized search results
|
|
222
|
+
|
|
223
|
+
═══ STACKOVERFLOW DEEP SEARCH ═══
|
|
224
|
+
For coding-related questions:
|
|
225
|
+
STEP 1: Search StackOverflow
|
|
226
|
+
STEP 2: Click the most relevant question (considering vote count)
|
|
227
|
+
STEP 3: browser_get_text → collect question + accepted answer
|
|
228
|
+
STEP 4: Collect other answers if needed
|
|
229
|
+
STEP 5: complete → organize questions/answers cleanly
|
|
230
|
+
|
|
231
|
+
═══ MULTI-ENGINE SEARCH ═══
|
|
232
|
+
If no specific engine is mentioned in the instruction, default to Google.
|
|
233
|
+
User may specify engine in their language (e.g., "search on Naver", "search on StackOverflow").
|
|
234
|
+
When combining results from multiple engines: search each engine sequentially → merge results.
|
|
235
|
+
|
|
236
|
+
═══ IMPORTANT ═══
|
|
237
|
+
• Google may trigger automation detection (CAPTCHA) → report in complete if detected
|
|
238
|
+
• Exclude ads/sponsored results when extracting search results
|
|
239
|
+
• Collect at most 10 results (avoid excessive scrolling)
|
|
240
|
+
• Korean text in search queries must be URL-encoded`;
|
|
241
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agents/browser/prompts.ts"],"names":[],"mappings":"AAOA,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAwCoC,CAAC;AAEjE,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iGA4DmC,CAAC;AAElG,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAwEV,CAAC;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDAgEN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/browser/search-agent.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKpD,wBAAgB,uBAAuB,IAAI,YAAY,CAiCtD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BROWSER_SUB_AGENT_TOOLS } from '../../tools/browser/browser-tools.js';
|
|
2
|
+
import { BrowserSubAgent } from './browser-sub-agent.js';
|
|
3
|
+
import { SEARCH_SYSTEM_PROMPT } from './prompts.js';
|
|
4
|
+
export function createSearchRequestTool() {
|
|
5
|
+
return {
|
|
6
|
+
definition: {
|
|
7
|
+
type: 'function',
|
|
8
|
+
function: {
|
|
9
|
+
name: 'search_request',
|
|
10
|
+
description: 'Delegate a task to the web search specialist agent. Searches Google, StackOverflow, Naver, etc. for information and collects results. Describe what to search for in natural language.',
|
|
11
|
+
parameters: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
instruction: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'Natural language instruction for the search (can specify engine: "on Google", "on Naver", "on StackOverflow")',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
required: ['instruction'],
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
execute: async (args, llmClient) => {
|
|
24
|
+
const agent = new BrowserSubAgent(llmClient, 'search', BROWSER_SUB_AGENT_TOOLS, SEARCH_SYSTEM_PROMPT, { requiresAuth: false, serviceType: 'search' });
|
|
25
|
+
return agent.run(args['instruction']);
|
|
26
|
+
},
|
|
27
|
+
categories: ['llm-agent'],
|
|
28
|
+
requiresSubLLM: true,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=search-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-agent.js","sourceRoot":"","sources":["../../../src/agents/browser/search-agent.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EACT,wLAAwL;gBAC1L,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,+GAA+G;yBAC7H;qBACF;oBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;iBAC1B;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,eAAe,CAC/B,SAAS,EACT,QAAQ,EACR,uBAAuB,EACvB,oBAAoB,EACpB,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,CAC/C,CAAC;YACF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAW,CAAC,CAAC;QAClD,CAAC;QACD,UAAU,EAAE,CAAC,WAAW,CAAC;QACzB,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC"}
|