From 55a15ff8d65f1f0b22cbf5216df801e946bbbc13 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 13 Mar 2026 08:20:53 +0000 Subject: [PATCH] feat: Add Alpaca Financial Persona Integration Co-authored-by: hobbyistlabs-coder <267281733+hobbyistlabs-coder@users.noreply.github.com> --- .gitignore | 2 + .../internal/config/store.go | 2 +- cmd/picoclaw-launcher-tui/internal/ui/app.go | 4 +- .../internal/ui/channel.go | 2 +- .../internal/ui/model.go | 2 +- cmd/picoclaw-launcher-tui/main.go | 2 +- cmd/picoclaw/internal/agent/helpers.go | 10 +- cmd/picoclaw/internal/auth/helpers.go | 8 +- cmd/picoclaw/internal/cron/add.go | 2 +- cmd/picoclaw/internal/cron/command.go | 2 +- cmd/picoclaw/internal/cron/helpers.go | 2 +- cmd/picoclaw/internal/gateway/command.go | 4 +- cmd/picoclaw/internal/gateway/helpers.go | 60 +-- cmd/picoclaw/internal/helpers.go | 2 +- cmd/picoclaw/internal/migrate/command.go | 2 +- cmd/picoclaw/internal/onboard/helpers.go | 4 +- cmd/picoclaw/internal/skills/command.go | 4 +- cmd/picoclaw/internal/skills/helpers.go | 8 +- cmd/picoclaw/internal/skills/install.go | 4 +- cmd/picoclaw/internal/skills/list.go | 2 +- cmd/picoclaw/internal/skills/remove.go | 2 +- cmd/picoclaw/internal/skills/show.go | 2 +- cmd/picoclaw/internal/status/helpers.go | 6 +- cmd/picoclaw/internal/version/command.go | 4 +- cmd/picoclaw/main.go | 22 +- cmd/picoclaw/main_test.go | 4 +- go.mod | 11 +- go.sum | 399 ------------------ pkg/agent/context.go | 10 +- pkg/agent/context_cache_test.go | 2 +- pkg/agent/context_test.go | 2 +- pkg/agent/instance.go | 21 +- pkg/agent/instance_test.go | 2 +- pkg/agent/loop.go | 28 +- pkg/agent/loop_mcp.go | 6 +- pkg/agent/loop_media.go | 6 +- pkg/agent/loop_test.go | 14 +- pkg/agent/memory.go | 2 +- pkg/agent/mock_provider_test.go | 2 +- pkg/agent/registry.go | 10 +- pkg/agent/registry_test.go | 4 +- pkg/auth/store.go | 2 +- pkg/bus/bus.go | 2 +- pkg/channels/base.go | 10 +- pkg/channels/base_test.go | 4 +- pkg/channels/dingtalk/dingtalk.go | 12 +- pkg/channels/dingtalk/init.go | 6 +- pkg/channels/discord/discord.go | 14 +- pkg/channels/discord/init.go | 6 +- pkg/channels/feishu/feishu_32.go | 6 +- pkg/channels/feishu/feishu_64.go | 14 +- pkg/channels/feishu/init.go | 6 +- pkg/channels/interfaces.go | 2 +- pkg/channels/interfaces_command_test.go | 2 +- pkg/channels/irc/handler.go | 6 +- pkg/channels/irc/init.go | 6 +- pkg/channels/irc/irc.go | 8 +- pkg/channels/irc/irc_test.go | 4 +- pkg/channels/line/init.go | 6 +- pkg/channels/line/line.go | 14 +- pkg/channels/maixcam/init.go | 6 +- pkg/channels/maixcam/maixcam.go | 10 +- pkg/channels/manager.go | 12 +- pkg/channels/manager_test.go | 2 +- pkg/channels/matrix/init.go | 6 +- pkg/channels/matrix/matrix.go | 12 +- pkg/channels/matrix/matrix_test.go | 2 +- pkg/channels/media.go | 2 +- pkg/channels/onebot/init.go | 6 +- pkg/channels/onebot/onebot.go | 14 +- pkg/channels/pico/init.go | 6 +- pkg/channels/pico/pico.go | 10 +- pkg/channels/qq/init.go | 6 +- pkg/channels/qq/qq.go | 10 +- pkg/channels/registry.go | 4 +- pkg/channels/slack/init.go | 6 +- pkg/channels/slack/slack.go | 14 +- pkg/channels/slack/slack_test.go | 4 +- pkg/channels/telegram/command_registration.go | 4 +- .../telegram/command_registration_test.go | 2 +- pkg/channels/telegram/init.go | 6 +- pkg/channels/telegram/telegram.go | 16 +- .../telegram/telegram_dispatch_test.go | 4 +- .../telegram_group_command_filter_test.go | 6 +- pkg/channels/telegram/telegram_test.go | 4 +- pkg/channels/wecom/aibot.go | 12 +- pkg/channels/wecom/aibot_test.go | 4 +- pkg/channels/wecom/app.go | 12 +- pkg/channels/wecom/app_test.go | 4 +- pkg/channels/wecom/bot.go | 12 +- pkg/channels/wecom/bot_test.go | 4 +- pkg/channels/wecom/init.go | 6 +- pkg/channels/whatsapp/init.go | 6 +- pkg/channels/whatsapp/whatsapp.go | 12 +- .../whatsapp/whatsapp_command_test.go | 6 +- pkg/channels/whatsapp_native/init.go | 6 +- .../whatsapp_native/whatsapp_command_test.go | 6 +- .../whatsapp_native/whatsapp_native.go | 12 +- .../whatsapp_native/whatsapp_native_stub.go | 6 +- pkg/commands/runtime.go | 2 +- pkg/config/config.go | 9 +- pkg/config/version.go | 8 +- pkg/cron/service.go | 2 +- pkg/devices/service.go | 12 +- pkg/devices/source.go | 2 +- pkg/devices/sources/usb_linux.go | 4 +- pkg/devices/sources/usb_stub.go | 2 +- pkg/heartbeat/service.go | 12 +- pkg/heartbeat/service_test.go | 2 +- pkg/identity/identity.go | 2 +- pkg/identity/identity_test.go | 2 +- pkg/mcp/manager.go | 4 +- pkg/mcp/manager_test.go | 2 +- pkg/media/store.go | 2 +- pkg/memory/jsonl.go | 4 +- pkg/memory/jsonl_test.go | 2 +- pkg/memory/migration.go | 2 +- pkg/memory/migration_test.go | 2 +- pkg/memory/store.go | 2 +- pkg/migrate/migrate.go | 4 +- .../sources/openclaw/openclaw_config.go | 2 +- .../sources/openclaw/openclaw_handler.go | 4 +- pkg/providers/anthropic/provider.go | 2 +- pkg/providers/antigravity_provider.go | 4 +- pkg/providers/claude_cli_provider_test.go | 2 +- pkg/providers/claude_provider.go | 2 +- pkg/providers/claude_provider_test.go | 2 +- pkg/providers/codex_provider.go | 4 +- pkg/providers/factory.go | 4 +- pkg/providers/factory_provider.go | 2 +- pkg/providers/factory_provider_test.go | 2 +- pkg/providers/factory_test.go | 4 +- pkg/providers/http_provider.go | 2 +- pkg/providers/legacy_provider.go | 2 +- pkg/providers/openai_compat/provider.go | 2 +- pkg/providers/openai_compat/provider_test.go | 2 +- pkg/providers/types.go | 2 +- pkg/routing/features.go | 2 +- pkg/routing/route.go | 2 +- pkg/routing/route_test.go | 2 +- pkg/routing/router.go | 2 +- pkg/routing/router_test.go | 2 +- pkg/session/jsonl_backend.go | 4 +- pkg/session/jsonl_backend_test.go | 6 +- pkg/session/manager.go | 2 +- pkg/session/session_store.go | 2 +- pkg/skills/clawhub_registry.go | 2 +- pkg/skills/clawhub_registry_test.go | 2 +- pkg/skills/installer.go | 4 +- pkg/skills/loader.go | 2 +- pkg/skills/registry_test.go | 2 +- pkg/state/state.go | 2 +- pkg/tools/alpaca/alpaca.go | 130 ++++++ pkg/tools/cron.go | 10 +- pkg/tools/cron_test.go | 6 +- pkg/tools/filesystem.go | 4 +- pkg/tools/registry.go | 4 +- pkg/tools/registry_test.go | 2 +- pkg/tools/search_tool.go | 4 +- pkg/tools/send_file.go | 4 +- pkg/tools/send_file_test.go | 4 +- pkg/tools/shell.go | 4 +- pkg/tools/shell_test.go | 2 +- pkg/tools/skills_install.go | 8 +- pkg/tools/skills_install_test.go | 2 +- pkg/tools/skills_search.go | 2 +- pkg/tools/skills_search_test.go | 2 +- pkg/tools/subagent.go | 2 +- pkg/tools/subagent_tool_test.go | 2 +- pkg/tools/toolloop.go | 6 +- pkg/tools/web_test.go | 2 +- pkg/utils/download.go | 2 +- pkg/utils/media.go | 2 +- pkg/utils/zip.go | 2 +- pkg/voice/transcriber.go | 6 +- pkg/voice/transcriber_test.go | 2 +- web/backend/api/config.go | 2 +- web/backend/api/config_test.go | 2 +- web/backend/api/gateway.go | 4 +- web/backend/api/gateway_host.go | 2 +- web/backend/api/gateway_host_test.go | 4 +- web/backend/api/gateway_test.go | 6 +- web/backend/api/launcher_config.go | 2 +- web/backend/api/launcher_config_test.go | 2 +- web/backend/api/model_status.go | 2 +- web/backend/api/models.go | 2 +- web/backend/api/models_test.go | 4 +- web/backend/api/oauth.go | 6 +- web/backend/api/oauth_test.go | 4 +- web/backend/api/pico.go | 2 +- web/backend/api/router.go | 2 +- web/backend/api/session.go | 4 +- web/backend/api/session_test.go | 8 +- web/backend/api/skills.go | 4 +- web/backend/api/skills_test.go | 2 +- web/backend/api/startup_test.go | 2 +- web/backend/api/tools.go | 2 +- web/backend/api/tools_test.go | 2 +- web/backend/main.go | 8 +- 199 files changed, 655 insertions(+), 901 deletions(-) delete mode 100644 go.sum create mode 100644 pkg/tools/alpaca/alpaca.go diff --git a/.gitignore b/.gitignore index 61fe494ca..4a4c3588a 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,5 @@ dist/ !web/backend/dist/ web/backend/dist/* !web/backend/dist/.gitkeep +/go.sum +go.sum diff --git a/cmd/picoclaw-launcher-tui/internal/config/store.go b/cmd/picoclaw-launcher-tui/internal/config/store.go index 0236de19f..e726ae3b7 100644 --- a/cmd/picoclaw-launcher-tui/internal/config/store.go +++ b/cmd/picoclaw-launcher-tui/internal/config/store.go @@ -5,7 +5,7 @@ import ( "os" "path/filepath" - picoclawconfig "github.com/sipeed/picoclaw/pkg/config" + picoclawconfig "jane/pkg/config" ) const ( diff --git a/cmd/picoclaw-launcher-tui/internal/ui/app.go b/cmd/picoclaw-launcher-tui/internal/ui/app.go index a2ccddf70..a59d00303 100644 --- a/cmd/picoclaw-launcher-tui/internal/ui/app.go +++ b/cmd/picoclaw-launcher-tui/internal/ui/app.go @@ -10,8 +10,8 @@ import ( "github.com/gdamore/tcell/v2" "github.com/rivo/tview" - configstore "github.com/sipeed/picoclaw/cmd/picoclaw-launcher-tui/internal/config" - picoclawconfig "github.com/sipeed/picoclaw/pkg/config" + configstore "jane/cmd/picoclaw-launcher-tui/internal/config" + picoclawconfig "jane/pkg/config" ) type appState struct { diff --git a/cmd/picoclaw-launcher-tui/internal/ui/channel.go b/cmd/picoclaw-launcher-tui/internal/ui/channel.go index 2f28af123..e2afc5c94 100644 --- a/cmd/picoclaw-launcher-tui/internal/ui/channel.go +++ b/cmd/picoclaw-launcher-tui/internal/ui/channel.go @@ -7,7 +7,7 @@ import ( "github.com/gdamore/tcell/v2" "github.com/rivo/tview" - picoclawconfig "github.com/sipeed/picoclaw/pkg/config" + picoclawconfig "jane/pkg/config" ) func (s *appState) buildChannelMenuItems() []MenuItem { diff --git a/cmd/picoclaw-launcher-tui/internal/ui/model.go b/cmd/picoclaw-launcher-tui/internal/ui/model.go index 698502058..d198de313 100644 --- a/cmd/picoclaw-launcher-tui/internal/ui/model.go +++ b/cmd/picoclaw-launcher-tui/internal/ui/model.go @@ -10,7 +10,7 @@ import ( "github.com/gdamore/tcell/v2" "github.com/rivo/tview" - picoclawconfig "github.com/sipeed/picoclaw/pkg/config" + picoclawconfig "jane/pkg/config" ) func (s *appState) modelMenu() tview.Primitive { diff --git a/cmd/picoclaw-launcher-tui/main.go b/cmd/picoclaw-launcher-tui/main.go index 0e8cce415..1857e00fd 100644 --- a/cmd/picoclaw-launcher-tui/main.go +++ b/cmd/picoclaw-launcher-tui/main.go @@ -4,7 +4,7 @@ import ( "fmt" "os" - "github.com/sipeed/picoclaw/cmd/picoclaw-launcher-tui/internal/ui" + "jane/cmd/picoclaw-launcher-tui/internal/ui" ) func main() { diff --git a/cmd/picoclaw/internal/agent/helpers.go b/cmd/picoclaw/internal/agent/helpers.go index a995945d2..55a7016e3 100644 --- a/cmd/picoclaw/internal/agent/helpers.go +++ b/cmd/picoclaw/internal/agent/helpers.go @@ -11,11 +11,11 @@ import ( "github.com/chzyer/readline" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal" - "github.com/sipeed/picoclaw/pkg/agent" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/cmd/picoclaw/internal" + "jane/pkg/agent" + "jane/pkg/bus" + "jane/pkg/logger" + "jane/pkg/providers" ) func agentCmd(message, sessionKey, model string, debug bool) error { diff --git a/cmd/picoclaw/internal/auth/helpers.go b/cmd/picoclaw/internal/auth/helpers.go index 4bf132685..d17df9931 100644 --- a/cmd/picoclaw/internal/auth/helpers.go +++ b/cmd/picoclaw/internal/auth/helpers.go @@ -10,10 +10,10 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal" - "github.com/sipeed/picoclaw/pkg/auth" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/cmd/picoclaw/internal" + "jane/pkg/auth" + "jane/pkg/config" + "jane/pkg/providers" ) const ( diff --git a/cmd/picoclaw/internal/cron/add.go b/cmd/picoclaw/internal/cron/add.go index 947557d5a..aa9a5db5c 100644 --- a/cmd/picoclaw/internal/cron/add.go +++ b/cmd/picoclaw/internal/cron/add.go @@ -5,7 +5,7 @@ import ( "github.com/spf13/cobra" - "github.com/sipeed/picoclaw/pkg/cron" + "jane/pkg/cron" ) func newAddCommand(storePath func() string) *cobra.Command { diff --git a/cmd/picoclaw/internal/cron/command.go b/cmd/picoclaw/internal/cron/command.go index 39f8ccf28..3b706f62f 100644 --- a/cmd/picoclaw/internal/cron/command.go +++ b/cmd/picoclaw/internal/cron/command.go @@ -6,7 +6,7 @@ import ( "github.com/spf13/cobra" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal" + "jane/cmd/picoclaw/internal" ) func NewCronCommand() *cobra.Command { diff --git a/cmd/picoclaw/internal/cron/helpers.go b/cmd/picoclaw/internal/cron/helpers.go index 88bdf1bf7..60c74b957 100644 --- a/cmd/picoclaw/internal/cron/helpers.go +++ b/cmd/picoclaw/internal/cron/helpers.go @@ -4,7 +4,7 @@ import ( "fmt" "time" - "github.com/sipeed/picoclaw/pkg/cron" + "jane/pkg/cron" ) func cronListCmd(storePath string) { diff --git a/cmd/picoclaw/internal/gateway/command.go b/cmd/picoclaw/internal/gateway/command.go index bfa69f072..130b59119 100644 --- a/cmd/picoclaw/internal/gateway/command.go +++ b/cmd/picoclaw/internal/gateway/command.go @@ -5,8 +5,8 @@ import ( "github.com/spf13/cobra" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/logger" + "jane/pkg/utils" ) func NewGatewayCommand() *cobra.Command { diff --git a/cmd/picoclaw/internal/gateway/helpers.go b/cmd/picoclaw/internal/gateway/helpers.go index fed3d5ffb..ff09e6f05 100644 --- a/cmd/picoclaw/internal/gateway/helpers.go +++ b/cmd/picoclaw/internal/gateway/helpers.go @@ -9,36 +9,36 @@ import ( "path/filepath" "time" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal" - "github.com/sipeed/picoclaw/pkg/agent" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - _ "github.com/sipeed/picoclaw/pkg/channels/dingtalk" - _ "github.com/sipeed/picoclaw/pkg/channels/discord" - _ "github.com/sipeed/picoclaw/pkg/channels/feishu" - _ "github.com/sipeed/picoclaw/pkg/channels/irc" - _ "github.com/sipeed/picoclaw/pkg/channels/line" - _ "github.com/sipeed/picoclaw/pkg/channels/maixcam" - _ "github.com/sipeed/picoclaw/pkg/channels/matrix" - _ "github.com/sipeed/picoclaw/pkg/channels/onebot" - _ "github.com/sipeed/picoclaw/pkg/channels/pico" - _ "github.com/sipeed/picoclaw/pkg/channels/qq" - _ "github.com/sipeed/picoclaw/pkg/channels/slack" - _ "github.com/sipeed/picoclaw/pkg/channels/telegram" - _ "github.com/sipeed/picoclaw/pkg/channels/wecom" - _ "github.com/sipeed/picoclaw/pkg/channels/whatsapp" - _ "github.com/sipeed/picoclaw/pkg/channels/whatsapp_native" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/cron" - "github.com/sipeed/picoclaw/pkg/devices" - "github.com/sipeed/picoclaw/pkg/health" - "github.com/sipeed/picoclaw/pkg/heartbeat" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/media" - "github.com/sipeed/picoclaw/pkg/providers" - "github.com/sipeed/picoclaw/pkg/state" - "github.com/sipeed/picoclaw/pkg/tools" - "github.com/sipeed/picoclaw/pkg/voice" + "jane/cmd/picoclaw/internal" + "jane/pkg/agent" + "jane/pkg/bus" + "jane/pkg/channels" + _ "jane/pkg/channels/dingtalk" + _ "jane/pkg/channels/discord" + _ "jane/pkg/channels/feishu" + _ "jane/pkg/channels/irc" + _ "jane/pkg/channels/line" + _ "jane/pkg/channels/maixcam" + _ "jane/pkg/channels/matrix" + _ "jane/pkg/channels/onebot" + _ "jane/pkg/channels/pico" + _ "jane/pkg/channels/qq" + _ "jane/pkg/channels/slack" + _ "jane/pkg/channels/telegram" + _ "jane/pkg/channels/wecom" + _ "jane/pkg/channels/whatsapp" + _ "jane/pkg/channels/whatsapp_native" + "jane/pkg/config" + "jane/pkg/cron" + "jane/pkg/devices" + "jane/pkg/health" + "jane/pkg/heartbeat" + "jane/pkg/logger" + "jane/pkg/media" + "jane/pkg/providers" + "jane/pkg/state" + "jane/pkg/tools" + "jane/pkg/voice" ) func gatewayCmd(debug bool) error { diff --git a/cmd/picoclaw/internal/helpers.go b/cmd/picoclaw/internal/helpers.go index e04bccffb..b6ab2413c 100644 --- a/cmd/picoclaw/internal/helpers.go +++ b/cmd/picoclaw/internal/helpers.go @@ -4,7 +4,7 @@ import ( "os" "path/filepath" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) const Logo = "๐Ÿฆž" diff --git a/cmd/picoclaw/internal/migrate/command.go b/cmd/picoclaw/internal/migrate/command.go index 76352c9db..72d9412c6 100644 --- a/cmd/picoclaw/internal/migrate/command.go +++ b/cmd/picoclaw/internal/migrate/command.go @@ -3,7 +3,7 @@ package migrate import ( "github.com/spf13/cobra" - "github.com/sipeed/picoclaw/pkg/migrate" + "jane/pkg/migrate" ) func NewMigrateCommand() *cobra.Command { diff --git a/cmd/picoclaw/internal/onboard/helpers.go b/cmd/picoclaw/internal/onboard/helpers.go index 4db8bdc8b..fe03daf0c 100644 --- a/cmd/picoclaw/internal/onboard/helpers.go +++ b/cmd/picoclaw/internal/onboard/helpers.go @@ -6,8 +6,8 @@ import ( "os" "path/filepath" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal" - "github.com/sipeed/picoclaw/pkg/config" + "jane/cmd/picoclaw/internal" + "jane/pkg/config" ) func onboard() { diff --git a/cmd/picoclaw/internal/skills/command.go b/cmd/picoclaw/internal/skills/command.go index 65eb127b9..909255911 100644 --- a/cmd/picoclaw/internal/skills/command.go +++ b/cmd/picoclaw/internal/skills/command.go @@ -6,8 +6,8 @@ import ( "github.com/spf13/cobra" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal" - "github.com/sipeed/picoclaw/pkg/skills" + "jane/cmd/picoclaw/internal" + "jane/pkg/skills" ) type deps struct { diff --git a/cmd/picoclaw/internal/skills/helpers.go b/cmd/picoclaw/internal/skills/helpers.go index a59a2013a..271d4870c 100644 --- a/cmd/picoclaw/internal/skills/helpers.go +++ b/cmd/picoclaw/internal/skills/helpers.go @@ -9,10 +9,10 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/skills" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/cmd/picoclaw/internal" + "jane/pkg/config" + "jane/pkg/skills" + "jane/pkg/utils" ) const skillsSearchMaxResults = 20 diff --git a/cmd/picoclaw/internal/skills/install.go b/cmd/picoclaw/internal/skills/install.go index 78bc421db..a653cca57 100644 --- a/cmd/picoclaw/internal/skills/install.go +++ b/cmd/picoclaw/internal/skills/install.go @@ -5,8 +5,8 @@ import ( "github.com/spf13/cobra" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal" - "github.com/sipeed/picoclaw/pkg/skills" + "jane/cmd/picoclaw/internal" + "jane/pkg/skills" ) func newInstallCommand(installerFn func() (*skills.SkillInstaller, error)) *cobra.Command { diff --git a/cmd/picoclaw/internal/skills/list.go b/cmd/picoclaw/internal/skills/list.go index 7d89ff8ed..171fb1328 100644 --- a/cmd/picoclaw/internal/skills/list.go +++ b/cmd/picoclaw/internal/skills/list.go @@ -3,7 +3,7 @@ package skills import ( "github.com/spf13/cobra" - "github.com/sipeed/picoclaw/pkg/skills" + "jane/pkg/skills" ) func newListCommand(loaderFn func() (*skills.SkillsLoader, error)) *cobra.Command { diff --git a/cmd/picoclaw/internal/skills/remove.go b/cmd/picoclaw/internal/skills/remove.go index cd7d3a8b4..1955049b8 100644 --- a/cmd/picoclaw/internal/skills/remove.go +++ b/cmd/picoclaw/internal/skills/remove.go @@ -3,7 +3,7 @@ package skills import ( "github.com/spf13/cobra" - "github.com/sipeed/picoclaw/pkg/skills" + "jane/pkg/skills" ) func newRemoveCommand(installerFn func() (*skills.SkillInstaller, error)) *cobra.Command { diff --git a/cmd/picoclaw/internal/skills/show.go b/cmd/picoclaw/internal/skills/show.go index e484f3f28..97a2cc399 100644 --- a/cmd/picoclaw/internal/skills/show.go +++ b/cmd/picoclaw/internal/skills/show.go @@ -3,7 +3,7 @@ package skills import ( "github.com/spf13/cobra" - "github.com/sipeed/picoclaw/pkg/skills" + "jane/pkg/skills" ) func newShowCommand(loaderFn func() (*skills.SkillsLoader, error)) *cobra.Command { diff --git a/cmd/picoclaw/internal/status/helpers.go b/cmd/picoclaw/internal/status/helpers.go index dd7063fe6..9d3dede3c 100644 --- a/cmd/picoclaw/internal/status/helpers.go +++ b/cmd/picoclaw/internal/status/helpers.go @@ -4,9 +4,9 @@ import ( "fmt" "os" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal" - "github.com/sipeed/picoclaw/pkg/auth" - "github.com/sipeed/picoclaw/pkg/config" + "jane/cmd/picoclaw/internal" + "jane/pkg/auth" + "jane/pkg/config" ) func statusCmd() { diff --git a/cmd/picoclaw/internal/version/command.go b/cmd/picoclaw/internal/version/command.go index 71c7dd2f8..72d61dec9 100644 --- a/cmd/picoclaw/internal/version/command.go +++ b/cmd/picoclaw/internal/version/command.go @@ -5,8 +5,8 @@ import ( "github.com/spf13/cobra" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal" - "github.com/sipeed/picoclaw/pkg/config" + "jane/cmd/picoclaw/internal" + "jane/pkg/config" ) func NewVersionCommand() *cobra.Command { diff --git a/cmd/picoclaw/main.go b/cmd/picoclaw/main.go index b82475905..9ba2287c7 100644 --- a/cmd/picoclaw/main.go +++ b/cmd/picoclaw/main.go @@ -12,17 +12,17 @@ import ( "github.com/spf13/cobra" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal/agent" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal/auth" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal/cron" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal/gateway" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal/migrate" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal/onboard" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal/skills" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal/status" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal/version" - "github.com/sipeed/picoclaw/pkg/config" + "jane/cmd/picoclaw/internal" + "jane/cmd/picoclaw/internal/agent" + "jane/cmd/picoclaw/internal/auth" + "jane/cmd/picoclaw/internal/cron" + "jane/cmd/picoclaw/internal/gateway" + "jane/cmd/picoclaw/internal/migrate" + "jane/cmd/picoclaw/internal/onboard" + "jane/cmd/picoclaw/internal/skills" + "jane/cmd/picoclaw/internal/status" + "jane/cmd/picoclaw/internal/version" + "jane/pkg/config" ) func NewPicoclawCommand() *cobra.Command { diff --git a/cmd/picoclaw/main_test.go b/cmd/picoclaw/main_test.go index e622675ee..6e39b2e19 100644 --- a/cmd/picoclaw/main_test.go +++ b/cmd/picoclaw/main_test.go @@ -8,8 +8,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/sipeed/picoclaw/cmd/picoclaw/internal" - "github.com/sipeed/picoclaw/pkg/config" + "jane/cmd/picoclaw/internal" + "jane/pkg/config" ) func TestNewPicoclawCommand(t *testing.T) { diff --git a/go.mod b/go.mod index 3762015e9..2d9efa48b 100644 --- a/go.mod +++ b/go.mod @@ -1,17 +1,18 @@ -module github.com/sipeed/picoclaw +module jane go 1.25.7 require ( github.com/adhocore/gronx v1.19.6 + github.com/alpacahq/alpaca-trade-api-go/v3 v3.9.1 github.com/anthropics/anthropic-sdk-go v1.22.1 github.com/bwmarrin/discordgo v0.29.0 github.com/caarlos0/env/v11 v11.3.1 github.com/chzyer/readline v1.5.1 github.com/ergochat/irc-go v0.5.0 github.com/gdamore/tcell/v2 v2.13.8 - github.com/google/uuid v1.6.0 github.com/gomarkdown/markdown v0.0.0-20260217112301-37c66b85d6ab + github.com/google/uuid v1.6.0 github.com/gorilla/websocket v1.5.3 github.com/h2non/filetype v1.1.3 github.com/larksuite/oapi-sdk-go/v3 v3.5.3 @@ -30,11 +31,13 @@ require ( golang.org/x/oauth2 v0.35.0 golang.org/x/time v0.14.0 google.golang.org/protobuf v1.36.11 + gopkg.in/yaml.v3 v3.0.1 maunium.net/go/mautrix v0.26.3 modernc.org/sqlite v1.46.1 ) require ( + cloud.google.com/go v0.118.0 // indirect filippo.io/edwards25519 v1.1.1 // indirect github.com/beeper/argo-go v1.1.2 // indirect github.com/coder/websocket v1.8.14 // indirect @@ -43,7 +46,9 @@ require ( github.com/elliotchance/orderedmap/v3 v3.1.0 // indirect github.com/gdamore/encoding v1.0.1 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/josharian/intern v1.0.0 // indirect github.com/lucasb-eyer/go-colorful v1.3.0 // indirect + github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/ncruces/go-strftime v1.0.0 // indirect @@ -53,6 +58,7 @@ require ( github.com/rivo/uniseg v0.4.7 // indirect github.com/segmentio/asm v1.1.3 // indirect github.com/segmentio/encoding v0.5.3 // indirect + github.com/shopspring/decimal v1.3.1 // indirect github.com/spf13/pflag v1.0.10 // indirect github.com/vektah/gqlparser/v2 v2.5.27 // indirect go.mau.fi/libsignal v0.2.1 // indirect @@ -60,7 +66,6 @@ require ( golang.org/x/exp v0.0.0-20260212183809-81e46e3db34a // indirect golang.org/x/term v0.40.0 // indirect golang.org/x/text v0.34.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect modernc.org/libc v1.67.6 // indirect modernc.org/mathutil v1.7.1 // indirect modernc.org/memory v1.11.0 // indirect diff --git a/go.sum b/go.sum deleted file mode 100644 index 2e2b1a1ec..000000000 --- a/go.sum +++ /dev/null @@ -1,399 +0,0 @@ -cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= -filippo.io/edwards25519 v1.1.1 h1:YpjwWWlNmGIDyXOn8zLzqiD+9TyIlPhGFG96P39uBpw= -filippo.io/edwards25519 v1.1.1/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= -github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= -github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= -github.com/adhocore/gronx v1.19.6 h1:5KNVcoR9ACgL9HhEqCm5QXsab/gI4QDIybTAWcXDKDc= -github.com/adhocore/gronx v1.19.6/go.mod h1:7oUY1WAU8rEJWmAxXR2DN0JaO4gi9khSgKjiRypqteg= -github.com/agnivade/levenshtein v1.2.1 h1:EHBY3UOn1gwdy/VbFwgo4cxecRznFk7fKWN1KOX7eoM= -github.com/agnivade/levenshtein v1.2.1/go.mod h1:QVVI16kDrtSuwcpd0p1+xMC6Z/VfhtCyDIjcwga4/DU= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwToPjQ= -github.com/andybalholm/brotli v1.2.0/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= -github.com/anthropics/anthropic-sdk-go v1.22.1 h1:xbsc3vJKCX/ELDZSpTNfz9wCgrFsamwFewPb1iI0Xh0= -github.com/anthropics/anthropic-sdk-go v1.22.1/go.mod h1:WTz31rIUHUHqai2UslPpw5CwXrQP3geYBioRV4WOLvE= -github.com/beeper/argo-go v1.1.2 h1:UQI2G8F+NLfGTOmTUI0254pGKx/HUU/etbUGTJv91Fs= -github.com/beeper/argo-go v1.1.2/go.mod h1:M+LJAnyowKVQ6Rdj6XYGEn+qcVFkb3R/MUpqkGR0hM4= -github.com/bwmarrin/discordgo v0.29.0 h1:FmWeXFaKUwrcL3Cx65c20bTRW+vOb6k8AnaP+EgjDno= -github.com/bwmarrin/discordgo v0.29.0/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY= -github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= -github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM= -github.com/bytedance/sonic v1.15.0 h1:/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE= -github.com/bytedance/sonic v1.15.0/go.mod h1:tFkWrPz0/CUCLEF4ri4UkHekCIcdnkqXw9VduqpJh0k= -github.com/bytedance/sonic/loader v0.5.0 h1:gXH3KVnatgY7loH5/TkeVyXPfESoqSBSBEiDd5VjlgE= -github.com/bytedance/sonic/loader v0.5.0/go.mod h1:AR4NYCk5DdzZizZ5djGqQ92eEhCCcdf5x77udYiSJRo= -github.com/caarlos0/env/v11 v11.3.1 h1:cArPWC15hWmEt+gWk7YBi7lEXTXCvpaSdCiZE2X5mCA= -github.com/caarlos0/env/v11 v11.3.1/go.mod h1:qupehSf/Y0TUTsxKywqRt/vJjN5nz6vauiYEUUr8P4U= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= -github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= -github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= -github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= -github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= -github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= -github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M= -github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU= -github.com/coder/websocket v1.8.14 h1:9L0p0iKiNOibykf283eHkKUHHrpG7f65OE3BhhO7v9g= -github.com/coder/websocket v1.8.14/go.mod h1:NX3SzP+inril6yawo5CQXx8+fk145lPDC6pumgx0mVg= -github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= -github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= -github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/elliotchance/orderedmap/v3 v3.1.0 h1:j4DJ5ObEmMBt/lcwIecKcoRxIQUEnw0L804lXYDt/pg= -github.com/elliotchance/orderedmap/v3 v3.1.0/go.mod h1:G+Hc2RwaZvJMcS4JpGCOyViCnGeKf0bTYCGTO4uhjSo= -github.com/ergochat/irc-go v0.5.0 h1:woQ1RS9YbfgqPgSpPBBQeczXGIGzR0aC7dEgk469fTw= -github.com/ergochat/irc-go v0.5.0/go.mod h1:2vi7KNpIPWnReB5hmLpl92eMywQvuIeIIGdt/FQCph0= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/gdamore/encoding v1.0.1 h1:YzKZckdBL6jVt2Gc+5p82qhrGiqMdG/eNs6Wy0u3Uhw= -github.com/gdamore/encoding v1.0.1/go.mod h1:0Z0cMFinngz9kS1QfMjCP8TY7em3bZYeeklsSDPivEo= -github.com/gdamore/tcell/v2 v2.13.8 h1:Mys/Kl5wfC/GcC5Cx4C2BIQH9dbnhnkPgS9/wF3RlfU= -github.com/gdamore/tcell/v2 v2.13.8/go.mod h1:+Wfe208WDdB7INEtCsNrAN6O2m+wsTPk1RAovjaILlo= -github.com/github/copilot-sdk/go v0.1.23 h1:uExtO/inZQndCZMiSAA1hvXINiz9tqo/MZgQzFzurxw= -github.com/github/copilot-sdk/go v0.1.23/go.mod h1:GdwwBfMbm9AABLEM3x5IZKw4ZfwCYxZ1BgyytmZenQ0= -github.com/go-redis/redis/v8 v8.11.4/go.mod h1:2Z2wHZXdQpCDXEGzqMockDpNyYvi2l4Pxt6RJr792+w= -github.com/go-resty/resty/v2 v2.6.0/go.mod h1:PwvJS6hvaPkjtjNg9ph+VrSD92bi5Zq73w/BIH7cC3Q= -github.com/go-resty/resty/v2 v2.17.1 h1:x3aMpHK1YM9e4va/TMDRlusDDoZiQ+ViDu/WpA6xTM4= -github.com/go-resty/resty/v2 v2.17.1/go.mod h1:kCKZ3wWmwJaNc7S29BRtUhJwy7iqmn+2mLtQrOyQlVA= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-test/deep v1.1.1 h1:0r/53hagsehfO4bzD2Pgr/+RgHqhmf+k1Bpse2cTu1U= -github.com/go-test/deep v1.1.1/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8= -github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/gomarkdown/markdown v0.0.0-20260217112301-37c66b85d6ab h1:VYNivV7P8IRHUam2swVUNkhIdp0LRRFKe4hXNnoZKTc= -github.com/gomarkdown/markdown v0.0.0-20260217112301-37c66b85d6ab/go.mod h1:JDGcbDT52eL4fju3sZ4TeHGsQwhG9nbDV21aMyhwPoA= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= -github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= -github.com/google/jsonschema-go v0.4.2 h1:tmrUohrwoLZZS/P3x7ex0WAVknEkBZM46iALbcqoRA8= -github.com/google/jsonschema-go v0.4.2/go.mod h1:r5quNTdLOYEz95Ru18zA0ydNbBuYoo9tgaYcxEYhJVE= -github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs= -github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= -github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grbit/go-json v0.11.0 h1:bAbyMdYrYl/OjYsSqLH99N2DyQ291mHy726Mx+sYrnc= -github.com/grbit/go-json v0.11.0/go.mod h1:IYpHsdybQ386+6g3VE6AXQ3uTGa5mquBme5/ZWmtzek= -github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= -github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= -github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= -github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= -github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.18.4 h1:RPhnKRAQ4Fh8zU2FY/6ZFDwTVTxgJ/EMydqSTzE9a2c= -github.com/klauspost/compress v1.18.4/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= -github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= -github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/larksuite/oapi-sdk-go/v3 v3.5.3 h1:xvf8Dv29kBXC5/DNDCLhHkAFW8l/0LlQJimO5Zn+JUk= -github.com/larksuite/oapi-sdk-go/v3 v3.5.3/go.mod h1:ZEplY+kwuIrj/nqw5uSCINNATcH3KdxSN7y+UxYY5fI= -github.com/lucasb-eyer/go-colorful v1.3.0 h1:2/yBRLdWBZKrf7gB40FoiKfAWYQ0lqNcbuQwVHXptag= -github.com/lucasb-eyer/go-colorful v1.3.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= -github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= -github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-sqlite3 v1.14.34 h1:3NtcvcUnFBPsuRcno8pUtupspG/GM+9nZ88zgJcp6Zk= -github.com/mattn/go-sqlite3 v1.14.34/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= -github.com/mdp/qrterminal/v3 v3.2.1 h1:6+yQjiiOsSuXT5n9/m60E54vdgFsw0zhADHhHLrFet4= -github.com/mdp/qrterminal/v3 v3.2.1/go.mod h1:jOTmXvnBsMy5xqLniO0R++Jmjs2sTm9dFSuQ5kpz/SU= -github.com/modelcontextprotocol/go-sdk v1.3.1 h1:TfqtNKOIWN4Z1oqmPAiWDC2Jq7K9OdJaooe0teoXASI= -github.com/modelcontextprotocol/go-sdk v1.3.1/go.mod h1:DgVX498dMD8UJlseK1S5i1T4tFz2fkBk4xogC3D15nw= -github.com/mymmrac/telego v1.6.0 h1:Zc8rgyHozvd/7ZgyrigyHdAF9koHYMfilYfyB6wlFC0= -github.com/mymmrac/telego v1.6.0/go.mod h1:xt6ZWA8zi8KmuzryE1ImEdl9JSwjHNpM4yhC7D8hU4Y= -github.com/ncruces/go-strftime v1.0.0 h1:HMFp8mLCTPp341M/ZnA4qaf7ZlsbTc+miZjCLOFAw7w= -github.com/ncruces/go-strftime v1.0.0/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/open-dingtalk/dingtalk-stream-sdk-go v0.9.1 h1:Lb/Uzkiw2Ugt2Xf03J5wmv81PdkYOiWbI8CNBi1boC8= -github.com/open-dingtalk/dingtalk-stream-sdk-go v0.9.1/go.mod h1:ln3IqPYYocZbYvl9TAOrG/cxGR9xcn4pnZRLdCTEGEU= -github.com/openai/openai-go/v3 v3.22.0 h1:6MEoNoV8sbjOVmXdvhmuX3BjVbVdcExbVyGixiyJ8ys= -github.com/openai/openai-go/v3 v3.22.0/go.mod h1:cdufnVK14cWcT9qA1rRtrXx4FTRsgbDPW7Ia7SS5cZo= -github.com/petermattis/goid v0.0.0-20260113132338-7c7de50cc741 h1:KPpdlQLZcHfTMQRi6bFQ7ogNO0ltFT4PmtwTLW4W+14= -github.com/petermattis/goid v0.0.0-20260113132338-7c7de50cc741/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= -github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= -github.com/rivo/tview v0.42.0 h1:b/ftp+RxtDsHSaynXTbJb+/n/BxDEi+W3UfF5jILK6c= -github.com/rivo/tview v0.42.0/go.mod h1:cSfIYfhpSGCjp3r/ECJb+GKS7cGJnqV8vfjQPwoXyfY= -github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= -github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= -github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0= -github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY= -github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= -github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= -github.com/segmentio/encoding v0.5.3 h1:OjMgICtcSFuNvQCdwqMCv9Tg7lEOXGwm1J5RPQccx6w= -github.com/segmentio/encoding v0.5.3/go.mod h1:HS1ZKa3kSN32ZHVZ7ZLPLXWvOVIiZtyJnO1gPH1sKt0= -github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= -github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= -github.com/slack-go/slack v0.17.3 h1:zV5qO3Q+WJAQ/XwbGfNFrRMaJ5T/naqaonyPV/1TP4g= -github.com/slack-go/slack v0.17.3/go.mod h1:X+UqOufi3LYQHDnMG1vxf0J8asC6+WllXrVrhl8/Prk= -github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= -github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= -github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= -github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= -github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= -github.com/tencent-connect/botgo v0.2.1 h1:+BrTt9Zh+awL28GWC4g5Na3nQaGRWb0N5IctS8WqBCk= -github.com/tencent-connect/botgo v0.2.1/go.mod h1:oO1sG9ybhXNickvt+CVym5khwQ+uKhTR+IhTqEfOVsI= -github.com/tidwall/gjson v1.9.3/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= -github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/match v1.2.0 h1:0pt8FlkOwjN2fPt4bIl4BoNxb98gGHN2ObFEDkrfZnM= -github.com/tidwall/match v1.2.0/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= -github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= -github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= -github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= -github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= -github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.69.0 h1:fNLLESD2SooWeh2cidsuFtOcrEi4uB4m1mPrkJMZyVI= -github.com/valyala/fasthttp v1.69.0/go.mod h1:4wA4PfAraPlAsJ5jMSqCE2ug5tqUPwKXxVj8oNECGcw= -github.com/valyala/fastjson v1.6.7 h1:ZE4tRy0CIkh+qDc5McjatheGX2czdn8slQjomexVpBM= -github.com/valyala/fastjson v1.6.7/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= -github.com/vektah/gqlparser/v2 v2.5.27 h1:RHPD3JOplpk5mP5JGX8RKZkt2/Vwj/PZv0HxTdwFp0s= -github.com/vektah/gqlparser/v2 v2.5.27/go.mod h1:D1/VCZtV3LPnQrcPBeR/q5jkSQIPti0uYCP/RI0gIeo= -github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU= -github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E= -github.com/yosida95/uritemplate/v3 v3.0.2 h1:Ed3Oyj9yrmi9087+NczuL5BwkIc4wvTb5zIM+UJPGz4= -github.com/yosida95/uritemplate/v3 v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT040gmv5BQTMR2HP4= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.mau.fi/libsignal v0.2.1 h1:vRZG4EzTn70XY6Oh/pVKrQGuMHBkAWlGRC22/85m9L0= -go.mau.fi/libsignal v0.2.1/go.mod h1:iVvjrHyfQqWajOUaMEsIfo3IqgVMrhWcPiiEzk7NgoU= -go.mau.fi/util v0.9.6 h1:2nsvxm49KhI3wrFltr0+wSUBlnQ4CMtykuELjpIU+ts= -go.mau.fi/util v0.9.6/go.mod h1:sIJpRH7Iy5Ad1SBuxQoatxtIeErgzxCtjd/2hCMkYMI= -go.mau.fi/whatsmeow v0.0.0-20260219150138-7ae702b1eed4 h1:hsmlwsM+VqfF70cpdZEeIUKer2XWCQmQPK0u0tHy3ZQ= -go.mau.fi/whatsmeow v0.0.0-20260219150138-7ae702b1eed4/go.mod h1:mXCRFyPEPn4jqWz6Afirn8vY7DpHCPnlKq6I2cWwFHM= -go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= -go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= -go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/arch v0.24.0 h1:qlJ3M9upxvFfwRM51tTg3Yl+8CP9vCC1E7vlFpgv99Y= -golang.org/x/arch v0.24.0/go.mod h1:dNHoOeKiyja7GTvF9NJS1l3Z2yntpQNzgrjh1cU103A= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= -golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= -golang.org/x/exp v0.0.0-20260212183809-81e46e3db34a h1:ovFr6Z0MNmU7nH8VaX5xqw+05ST2uO1exVfZPVqRC5o= -golang.org/x/exp v0.0.0-20260212183809-81e46e3db34a/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= -golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= -golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= -golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= -golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo= -golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y= -golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= -golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ= -golang.org/x/oauth2 v0.35.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= -golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg= -golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= -golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= -golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= -golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= -golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= -google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -maunium.net/go/mautrix v0.26.3 h1:tWZih6Vjw0qGTWuPmg9JUrQPzViTNDPGQLVc5UXC4nk= -maunium.net/go/mautrix v0.26.3/go.mod h1:v5ZdDoCwUpNqEj5OrhEoUa3L1kEddKPaAya9TgGXN38= -modernc.org/cc/v4 v4.27.1 h1:9W30zRlYrefrDV2JE2O8VDtJ1yPGownxciz5rrbQZis= -modernc.org/cc/v4 v4.27.1/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0= -modernc.org/ccgo/v4 v4.30.1 h1:4r4U1J6Fhj98NKfSjnPUN7Ze2c6MnAdL0hWw6+LrJpc= -modernc.org/ccgo/v4 v4.30.1/go.mod h1:bIOeI1JL54Utlxn+LwrFyjCx2n2RDiYEaJVSrgdrRfM= -modernc.org/fileutil v1.3.40 h1:ZGMswMNc9JOCrcrakF1HrvmergNLAmxOPjizirpfqBA= -modernc.org/fileutil v1.3.40/go.mod h1:HxmghZSZVAz/LXcMNwZPA/DRrQZEVP9VX0V4LQGQFOc= -modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI= -modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito= -modernc.org/gc/v3 v3.1.1 h1:k8T3gkXWY9sEiytKhcgyiZ2L0DTyCQ/nvX+LoCljoRE= -modernc.org/gc/v3 v3.1.1/go.mod h1:HFK/6AGESC7Ex+EZJhJ2Gni6cTaYpSMmU/cT9RmlfYY= -modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks= -modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI= -modernc.org/libc v1.67.6 h1:eVOQvpModVLKOdT+LvBPjdQqfrZq+pC39BygcT+E7OI= -modernc.org/libc v1.67.6/go.mod h1:JAhxUVlolfYDErnwiqaLvUqc8nfb2r6S6slAgZOnaiE= -modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU= -modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg= -modernc.org/memory v1.11.0 h1:o4QC8aMQzmcwCK3t3Ux/ZHmwFPzE6hf2Y5LbkRs+hbI= -modernc.org/memory v1.11.0/go.mod h1:/JP4VbVC+K5sU2wZi9bHoq2MAkCnrt2r98UGeSK7Mjw= -modernc.org/opt v0.1.4 h1:2kNGMRiUjrp4LcaPuLY2PzUfqM/w9N23quVwhKt5Qm8= -modernc.org/opt v0.1.4/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns= -modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w= -modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE= -modernc.org/sqlite v1.46.1 h1:eFJ2ShBLIEnUWlLy12raN0Z1plqmFX9Qe3rjQTKt6sU= -modernc.org/sqlite v1.46.1/go.mod h1:CzbrU2lSB1DKUusvwGz7rqEKIq+NUd8GWuBBZDs9/nA= -modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0= -modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A= -modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= -modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= -rsc.io/qr v0.2.0 h1:6vBLea5/NRMVTz8V66gipeLycZMl/+UlFmk8DvqQ6WY= -rsc.io/qr v0.2.0/go.mod h1:IF+uZjkb9fqyeF/4tlBoynqmQxUoPfWEKh921coOuXs= diff --git a/pkg/agent/context.go b/pkg/agent/context.go index 5a84c45e2..2bcced2c9 100644 --- a/pkg/agent/context.go +++ b/pkg/agent/context.go @@ -12,11 +12,11 @@ import ( "sync" "time" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/providers" - "github.com/sipeed/picoclaw/pkg/skills" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/config" + "jane/pkg/logger" + "jane/pkg/providers" + "jane/pkg/skills" + "jane/pkg/utils" ) type ContextBuilder struct { diff --git a/pkg/agent/context_cache_test.go b/pkg/agent/context_cache_test.go index 707510820..92a4dc521 100644 --- a/pkg/agent/context_cache_test.go +++ b/pkg/agent/context_cache_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) // setupWorkspace creates a temporary workspace with standard directories and optional files. diff --git a/pkg/agent/context_test.go b/pkg/agent/context_test.go index 5756ed911..eed56625e 100644 --- a/pkg/agent/context_test.go +++ b/pkg/agent/context_test.go @@ -3,7 +3,7 @@ package agent import ( "testing" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) func msg(role, content string) providers.Message { diff --git a/pkg/agent/instance.go b/pkg/agent/instance.go index 0c7baa1ee..590b18d10 100644 --- a/pkg/agent/instance.go +++ b/pkg/agent/instance.go @@ -9,12 +9,13 @@ import ( "regexp" "strings" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/memory" - "github.com/sipeed/picoclaw/pkg/providers" - "github.com/sipeed/picoclaw/pkg/routing" - "github.com/sipeed/picoclaw/pkg/session" - "github.com/sipeed/picoclaw/pkg/tools" + "jane/pkg/config" + "jane/pkg/memory" + "jane/pkg/providers" + "jane/pkg/routing" + "jane/pkg/session" + "jane/pkg/tools" + "jane/pkg/tools/alpaca" ) // AgentInstance represents a fully configured agent with its own workspace, @@ -94,6 +95,14 @@ func NewAgentInstance( } if cfg.Tools.IsToolEnabled("append_file") { toolsRegistry.Register(tools.NewAppendFileTool(workspace, restrict, allowWritePaths)) + + if cfg.Tools.IsToolEnabled("alpaca_finance") { + toolsRegistry.Register(alpaca.NewAlpacaTool( + cfg.Tools.Alpaca.KeyID, + cfg.Tools.Alpaca.SecretKey, + cfg.Tools.Alpaca.BaseURL, + )) + } } sessionsDir := filepath.Join(workspace, "sessions") diff --git a/pkg/agent/instance_test.go b/pkg/agent/instance_test.go index 4f41ecd1c..2918295e9 100644 --- a/pkg/agent/instance_test.go +++ b/pkg/agent/instance_test.go @@ -4,7 +4,7 @@ import ( "os" "testing" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) func TestNewAgentInstance_UsesDefaultsTemperatureAndMaxTokens(t *testing.T) { diff --git a/pkg/agent/loop.go b/pkg/agent/loop.go index 28e549ce0..7108e3927 100644 --- a/pkg/agent/loop.go +++ b/pkg/agent/loop.go @@ -19,20 +19,20 @@ import ( "time" "unicode/utf8" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/commands" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/constants" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/media" - "github.com/sipeed/picoclaw/pkg/providers" - "github.com/sipeed/picoclaw/pkg/routing" - "github.com/sipeed/picoclaw/pkg/skills" - "github.com/sipeed/picoclaw/pkg/state" - "github.com/sipeed/picoclaw/pkg/tools" - "github.com/sipeed/picoclaw/pkg/utils" - "github.com/sipeed/picoclaw/pkg/voice" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/commands" + "jane/pkg/config" + "jane/pkg/constants" + "jane/pkg/logger" + "jane/pkg/media" + "jane/pkg/providers" + "jane/pkg/routing" + "jane/pkg/skills" + "jane/pkg/state" + "jane/pkg/tools" + "jane/pkg/utils" + "jane/pkg/voice" ) type AgentLoop struct { diff --git a/pkg/agent/loop_mcp.go b/pkg/agent/loop_mcp.go index 2795db52a..6f3158af5 100644 --- a/pkg/agent/loop_mcp.go +++ b/pkg/agent/loop_mcp.go @@ -11,9 +11,9 @@ import ( "fmt" "sync" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/mcp" - "github.com/sipeed/picoclaw/pkg/tools" + "jane/pkg/logger" + "jane/pkg/mcp" + "jane/pkg/tools" ) type mcpRuntime struct { diff --git a/pkg/agent/loop_media.go b/pkg/agent/loop_media.go index 82547a008..29ab88d8b 100644 --- a/pkg/agent/loop_media.go +++ b/pkg/agent/loop_media.go @@ -15,9 +15,9 @@ import ( "github.com/h2non/filetype" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/media" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/logger" + "jane/pkg/media" + "jane/pkg/providers" ) // resolveMediaRefs replaces media:// refs in message Media fields with base64 data URLs. diff --git a/pkg/agent/loop_test.go b/pkg/agent/loop_test.go index cab82e176..d6b6197d5 100644 --- a/pkg/agent/loop_test.go +++ b/pkg/agent/loop_test.go @@ -10,13 +10,13 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/media" - "github.com/sipeed/picoclaw/pkg/providers" - "github.com/sipeed/picoclaw/pkg/routing" - "github.com/sipeed/picoclaw/pkg/tools" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/media" + "jane/pkg/providers" + "jane/pkg/routing" + "jane/pkg/tools" ) type fakeChannel struct{ id string } diff --git a/pkg/agent/memory.go b/pkg/agent/memory.go index 01e682f3b..e2738ffe4 100644 --- a/pkg/agent/memory.go +++ b/pkg/agent/memory.go @@ -13,7 +13,7 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/pkg/fileutil" + "jane/pkg/fileutil" ) // MemoryStore manages persistent memory for the agent. diff --git a/pkg/agent/mock_provider_test.go b/pkg/agent/mock_provider_test.go index 4962810dc..22e3ecadf 100644 --- a/pkg/agent/mock_provider_test.go +++ b/pkg/agent/mock_provider_test.go @@ -3,7 +3,7 @@ package agent import ( "context" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) type mockProvider struct{} diff --git a/pkg/agent/registry.go b/pkg/agent/registry.go index 58b7ce440..92f1c8145 100644 --- a/pkg/agent/registry.go +++ b/pkg/agent/registry.go @@ -3,11 +3,11 @@ package agent import ( "sync" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/providers" - "github.com/sipeed/picoclaw/pkg/routing" - "github.com/sipeed/picoclaw/pkg/tools" + "jane/pkg/config" + "jane/pkg/logger" + "jane/pkg/providers" + "jane/pkg/routing" + "jane/pkg/tools" ) // AgentRegistry manages multiple agent instances and routes messages to them. diff --git a/pkg/agent/registry_test.go b/pkg/agent/registry_test.go index 518bb441f..d733b09d6 100644 --- a/pkg/agent/registry_test.go +++ b/pkg/agent/registry_test.go @@ -4,8 +4,8 @@ import ( "context" "testing" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/config" + "jane/pkg/providers" ) type mockRegistryProvider struct{} diff --git a/pkg/auth/store.go b/pkg/auth/store.go index 2e55d4877..b7ebe945a 100644 --- a/pkg/auth/store.go +++ b/pkg/auth/store.go @@ -6,7 +6,7 @@ import ( "path/filepath" "time" - "github.com/sipeed/picoclaw/pkg/fileutil" + "jane/pkg/fileutil" ) type AuthCredential struct { diff --git a/pkg/bus/bus.go b/pkg/bus/bus.go index f5ff9587d..5a647d042 100644 --- a/pkg/bus/bus.go +++ b/pkg/bus/bus.go @@ -5,7 +5,7 @@ import ( "errors" "sync/atomic" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/logger" ) // ErrBusClosed is returned when publishing to a closed MessageBus. diff --git a/pkg/channels/base.go b/pkg/channels/base.go index edb5b6f08..52d100400 100644 --- a/pkg/channels/base.go +++ b/pkg/channels/base.go @@ -11,11 +11,11 @@ import ( "sync/atomic" "time" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/media" + "jane/pkg/bus" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/media" ) var ( diff --git a/pkg/channels/base_test.go b/pkg/channels/base_test.go index 6132b8bf9..757efe65e 100644 --- a/pkg/channels/base_test.go +++ b/pkg/channels/base_test.go @@ -3,8 +3,8 @@ package channels import ( "testing" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/config" ) func TestBaseChannelIsAllowed(t *testing.T) { diff --git a/pkg/channels/dingtalk/dingtalk.go b/pkg/channels/dingtalk/dingtalk.go index c03122892..3a5c6e5d7 100644 --- a/pkg/channels/dingtalk/dingtalk.go +++ b/pkg/channels/dingtalk/dingtalk.go @@ -12,12 +12,12 @@ import ( "github.com/open-dingtalk/dingtalk-stream-sdk-go/client" dinglog "github.com/open-dingtalk/dingtalk-stream-sdk-go/logger" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/utils" ) // DingTalkChannel implements the Channel interface for DingTalk (้’‰้’‰) diff --git a/pkg/channels/dingtalk/init.go b/pkg/channels/dingtalk/init.go index 5f49bce8c..56978a451 100644 --- a/pkg/channels/dingtalk/init.go +++ b/pkg/channels/dingtalk/init.go @@ -1,9 +1,9 @@ package dingtalk import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/discord/discord.go b/pkg/channels/discord/discord.go index 83a04907c..f7e3b7bfd 100644 --- a/pkg/channels/discord/discord.go +++ b/pkg/channels/discord/discord.go @@ -14,13 +14,13 @@ import ( "github.com/bwmarrin/discordgo" "github.com/gorilla/websocket" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/media" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/media" + "jane/pkg/utils" ) const ( diff --git a/pkg/channels/discord/init.go b/pkg/channels/discord/init.go index 15a539804..8a2947410 100644 --- a/pkg/channels/discord/init.go +++ b/pkg/channels/discord/init.go @@ -1,9 +1,9 @@ package discord import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/feishu/feishu_32.go b/pkg/channels/feishu/feishu_32.go index f5e3aa224..35f170e57 100644 --- a/pkg/channels/feishu/feishu_32.go +++ b/pkg/channels/feishu/feishu_32.go @@ -6,9 +6,9 @@ import ( "context" "errors" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) // FeishuChannel is a stub implementation for 32-bit architectures diff --git a/pkg/channels/feishu/feishu_64.go b/pkg/channels/feishu/feishu_64.go index 5dbbcf0af..9a8a637db 100644 --- a/pkg/channels/feishu/feishu_64.go +++ b/pkg/channels/feishu/feishu_64.go @@ -20,13 +20,13 @@ import ( larkim "github.com/larksuite/oapi-sdk-go/v3/service/im/v1" larkws "github.com/larksuite/oapi-sdk-go/v3/ws" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/media" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/media" + "jane/pkg/utils" ) type FeishuChannel struct { diff --git a/pkg/channels/feishu/init.go b/pkg/channels/feishu/init.go index 7e5a62dae..2bbdd5b95 100644 --- a/pkg/channels/feishu/init.go +++ b/pkg/channels/feishu/init.go @@ -1,9 +1,9 @@ package feishu import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/interfaces.go b/pkg/channels/interfaces.go index b3a493761..4781c1a2e 100644 --- a/pkg/channels/interfaces.go +++ b/pkg/channels/interfaces.go @@ -3,7 +3,7 @@ package channels import ( "context" - "github.com/sipeed/picoclaw/pkg/commands" + "jane/pkg/commands" ) // TypingCapable โ€” channels that can show a typing/thinking indicator. diff --git a/pkg/channels/interfaces_command_test.go b/pkg/channels/interfaces_command_test.go index de5502644..e89e20eb2 100644 --- a/pkg/channels/interfaces_command_test.go +++ b/pkg/channels/interfaces_command_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - "github.com/sipeed/picoclaw/pkg/commands" + "jane/pkg/commands" ) type mockRegistrar struct{} diff --git a/pkg/channels/irc/handler.go b/pkg/channels/irc/handler.go index aca4ddd11..151545e8a 100644 --- a/pkg/channels/irc/handler.go +++ b/pkg/channels/irc/handler.go @@ -9,9 +9,9 @@ import ( "github.com/ergochat/irc-go/ircevent" "github.com/ergochat/irc-go/ircmsg" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/bus" + "jane/pkg/identity" + "jane/pkg/logger" ) // onConnect is called after a successful connection (and on reconnect). diff --git a/pkg/channels/irc/init.go b/pkg/channels/irc/init.go index 221d41b62..aab65992e 100644 --- a/pkg/channels/irc/init.go +++ b/pkg/channels/irc/init.go @@ -1,9 +1,9 @@ package irc import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/irc/irc.go b/pkg/channels/irc/irc.go index 28c59b540..4040e841a 100644 --- a/pkg/channels/irc/irc.go +++ b/pkg/channels/irc/irc.go @@ -9,10 +9,10 @@ import ( "github.com/ergochat/irc-go/ircevent" "github.com/ergochat/irc-go/ircmsg" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/logger" ) // IRCChannel implements the Channel interface for IRC servers. diff --git a/pkg/channels/irc/irc_test.go b/pkg/channels/irc/irc_test.go index 168252a4d..1c4d3f90c 100644 --- a/pkg/channels/irc/irc_test.go +++ b/pkg/channels/irc/irc_test.go @@ -3,8 +3,8 @@ package irc import ( "testing" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/config" ) func TestNewIRCChannel(t *testing.T) { diff --git a/pkg/channels/line/init.go b/pkg/channels/line/init.go index 9265575cc..23d64359e 100644 --- a/pkg/channels/line/init.go +++ b/pkg/channels/line/init.go @@ -1,9 +1,9 @@ package line import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/line/line.go b/pkg/channels/line/line.go index 56ba02183..253501596 100644 --- a/pkg/channels/line/line.go +++ b/pkg/channels/line/line.go @@ -14,13 +14,13 @@ import ( "sync" "time" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/media" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/media" + "jane/pkg/utils" ) const ( diff --git a/pkg/channels/maixcam/init.go b/pkg/channels/maixcam/init.go index 5a269b22b..f5410d61c 100644 --- a/pkg/channels/maixcam/init.go +++ b/pkg/channels/maixcam/init.go @@ -1,9 +1,9 @@ package maixcam import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/maixcam/maixcam.go b/pkg/channels/maixcam/maixcam.go index ff9a3ed1a..89c112899 100644 --- a/pkg/channels/maixcam/maixcam.go +++ b/pkg/channels/maixcam/maixcam.go @@ -8,11 +8,11 @@ import ( "sync" "time" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" ) type MaixCamChannel struct { diff --git a/pkg/channels/manager.go b/pkg/channels/manager.go index df430e4d3..051dec6ed 100644 --- a/pkg/channels/manager.go +++ b/pkg/channels/manager.go @@ -17,12 +17,12 @@ import ( "golang.org/x/time/rate" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/constants" - "github.com/sipeed/picoclaw/pkg/health" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/media" + "jane/pkg/bus" + "jane/pkg/config" + "jane/pkg/constants" + "jane/pkg/health" + "jane/pkg/logger" + "jane/pkg/media" ) const ( diff --git a/pkg/channels/manager_test.go b/pkg/channels/manager_test.go index e0f55288a..d316021a8 100644 --- a/pkg/channels/manager_test.go +++ b/pkg/channels/manager_test.go @@ -11,7 +11,7 @@ import ( "golang.org/x/time/rate" - "github.com/sipeed/picoclaw/pkg/bus" + "jane/pkg/bus" ) // mockChannel is a test double that delegates Send to a configurable function. diff --git a/pkg/channels/matrix/init.go b/pkg/channels/matrix/init.go index 6677f855e..0bf1a0bc4 100644 --- a/pkg/channels/matrix/init.go +++ b/pkg/channels/matrix/init.go @@ -1,9 +1,9 @@ package matrix import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/matrix/matrix.go b/pkg/channels/matrix/matrix.go index bec5dfdac..9025639bb 100644 --- a/pkg/channels/matrix/matrix.go +++ b/pkg/channels/matrix/matrix.go @@ -21,12 +21,12 @@ import ( "maunium.net/go/mautrix/event" "maunium.net/go/mautrix/id" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/media" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/media" ) const ( diff --git a/pkg/channels/matrix/matrix_test.go b/pkg/channels/matrix/matrix_test.go index 07a35c021..26d24814c 100644 --- a/pkg/channels/matrix/matrix_test.go +++ b/pkg/channels/matrix/matrix_test.go @@ -14,7 +14,7 @@ import ( "maunium.net/go/mautrix/event" "maunium.net/go/mautrix/id" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) func TestMatrixLocalpartMentionRegexp(t *testing.T) { diff --git a/pkg/channels/media.go b/pkg/channels/media.go index c645a6180..811d89e96 100644 --- a/pkg/channels/media.go +++ b/pkg/channels/media.go @@ -3,7 +3,7 @@ package channels import ( "context" - "github.com/sipeed/picoclaw/pkg/bus" + "jane/pkg/bus" ) // MediaSender is an optional interface for channels that can send diff --git a/pkg/channels/onebot/init.go b/pkg/channels/onebot/init.go index 84c06dfd6..6ae72c514 100644 --- a/pkg/channels/onebot/init.go +++ b/pkg/channels/onebot/init.go @@ -1,9 +1,9 @@ package onebot import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/onebot/onebot.go b/pkg/channels/onebot/onebot.go index 62a9eb34a..3c35a9d32 100644 --- a/pkg/channels/onebot/onebot.go +++ b/pkg/channels/onebot/onebot.go @@ -12,13 +12,13 @@ import ( "github.com/gorilla/websocket" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/media" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/media" + "jane/pkg/utils" ) type OneBotChannel struct { diff --git a/pkg/channels/pico/init.go b/pkg/channels/pico/init.go index 96d764418..4d1c49aeb 100644 --- a/pkg/channels/pico/init.go +++ b/pkg/channels/pico/init.go @@ -1,9 +1,9 @@ package pico import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/pico/pico.go b/pkg/channels/pico/pico.go index 8d8b62a67..bf5650976 100644 --- a/pkg/channels/pico/pico.go +++ b/pkg/channels/pico/pico.go @@ -13,11 +13,11 @@ import ( "github.com/google/uuid" "github.com/gorilla/websocket" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" ) // picoConn represents a single WebSocket connection. diff --git a/pkg/channels/qq/init.go b/pkg/channels/qq/init.go index 15b955089..aca39bf64 100644 --- a/pkg/channels/qq/init.go +++ b/pkg/channels/qq/init.go @@ -1,9 +1,9 @@ package qq import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/qq/qq.go b/pkg/channels/qq/qq.go index 73200f64e..771b0c3f4 100644 --- a/pkg/channels/qq/qq.go +++ b/pkg/channels/qq/qq.go @@ -16,11 +16,11 @@ import ( "github.com/tencent-connect/botgo/token" "golang.org/x/oauth2" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" ) const ( diff --git a/pkg/channels/registry.go b/pkg/channels/registry.go index 36a05bf3e..d38d04f6a 100644 --- a/pkg/channels/registry.go +++ b/pkg/channels/registry.go @@ -3,8 +3,8 @@ package channels import ( "sync" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/config" ) // ChannelFactory is a constructor function that creates a Channel from config and message bus. diff --git a/pkg/channels/slack/init.go b/pkg/channels/slack/init.go index c131bb291..2adf4edd3 100644 --- a/pkg/channels/slack/init.go +++ b/pkg/channels/slack/init.go @@ -1,9 +1,9 @@ package slack import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/slack/slack.go b/pkg/channels/slack/slack.go index 3ee849621..fa55d57df 100644 --- a/pkg/channels/slack/slack.go +++ b/pkg/channels/slack/slack.go @@ -10,13 +10,13 @@ import ( "github.com/slack-go/slack/slackevents" "github.com/slack-go/slack/socketmode" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/media" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/media" + "jane/pkg/utils" ) type SlackChannel struct { diff --git a/pkg/channels/slack/slack_test.go b/pkg/channels/slack/slack_test.go index 30e0d2d73..6cdd15cde 100644 --- a/pkg/channels/slack/slack_test.go +++ b/pkg/channels/slack/slack_test.go @@ -3,8 +3,8 @@ package slack import ( "testing" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/config" ) func TestParseSlackChatID(t *testing.T) { diff --git a/pkg/channels/telegram/command_registration.go b/pkg/channels/telegram/command_registration.go index d3152ec3d..fb0b83e98 100644 --- a/pkg/channels/telegram/command_registration.go +++ b/pkg/channels/telegram/command_registration.go @@ -8,8 +8,8 @@ import ( "github.com/mymmrac/telego" - "github.com/sipeed/picoclaw/pkg/commands" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/commands" + "jane/pkg/logger" ) var commandRegistrationBackoff = []time.Duration{ diff --git a/pkg/channels/telegram/command_registration_test.go b/pkg/channels/telegram/command_registration_test.go index 26f891b2e..c0a46d6a0 100644 --- a/pkg/channels/telegram/command_registration_test.go +++ b/pkg/channels/telegram/command_registration_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/commands" + "jane/pkg/commands" ) func TestStartCommandRegistration_DoesNotBlock(t *testing.T) { diff --git a/pkg/channels/telegram/init.go b/pkg/channels/telegram/init.go index ac87bb805..c28d4f0f9 100644 --- a/pkg/channels/telegram/init.go +++ b/pkg/channels/telegram/init.go @@ -1,9 +1,9 @@ package telegram import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/telegram/telegram.go b/pkg/channels/telegram/telegram.go index 34ee46b7b..33c501a2b 100644 --- a/pkg/channels/telegram/telegram.go +++ b/pkg/channels/telegram/telegram.go @@ -15,14 +15,14 @@ import ( th "github.com/mymmrac/telego/telegohandler" tu "github.com/mymmrac/telego/telegoutil" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/commands" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/media" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/commands" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/media" + "jane/pkg/utils" ) var ( diff --git a/pkg/channels/telegram/telegram_dispatch_test.go b/pkg/channels/telegram/telegram_dispatch_test.go index 1ea4a4824..c88152004 100644 --- a/pkg/channels/telegram/telegram_dispatch_test.go +++ b/pkg/channels/telegram/telegram_dispatch_test.go @@ -7,8 +7,8 @@ import ( "github.com/mymmrac/telego" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" + "jane/pkg/bus" + "jane/pkg/channels" ) func TestHandleMessage_DoesNotConsumeGenericCommandsLocally(t *testing.T) { diff --git a/pkg/channels/telegram/telegram_group_command_filter_test.go b/pkg/channels/telegram/telegram_group_command_filter_test.go index 0d5b985fe..8dcecddb9 100644 --- a/pkg/channels/telegram/telegram_group_command_filter_test.go +++ b/pkg/channels/telegram/telegram_group_command_filter_test.go @@ -10,9 +10,9 @@ import ( "github.com/mymmrac/telego" ta "github.com/mymmrac/telego/telegoapi" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) type getMeCaller struct { diff --git a/pkg/channels/telegram/telegram_test.go b/pkg/channels/telegram/telegram_test.go index c2186d0a3..88744d955 100644 --- a/pkg/channels/telegram/telegram_test.go +++ b/pkg/channels/telegram/telegram_test.go @@ -13,8 +13,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" + "jane/pkg/bus" + "jane/pkg/channels" ) const testToken = "1234567890:aaaabbbbaaaabbbbaaaabbbbaaaabbbbccc" diff --git a/pkg/channels/wecom/aibot.go b/pkg/channels/wecom/aibot.go index 93fe8c36d..a0565dd3c 100644 --- a/pkg/channels/wecom/aibot.go +++ b/pkg/channels/wecom/aibot.go @@ -14,12 +14,12 @@ import ( "sync" "time" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/utils" ) // WeComAIBotChannel implements the Channel interface for WeCom AI Bot (ไผไธšๅพฎไฟกๆ™บ่ƒฝๆœบๅ™จไบบ) diff --git a/pkg/channels/wecom/aibot_test.go b/pkg/channels/wecom/aibot_test.go index 6f0664187..6abb9b886 100644 --- a/pkg/channels/wecom/aibot_test.go +++ b/pkg/channels/wecom/aibot_test.go @@ -4,8 +4,8 @@ import ( "context" "testing" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/config" ) func TestNewWeComAIBotChannel(t *testing.T) { diff --git a/pkg/channels/wecom/app.go b/pkg/channels/wecom/app.go index 2098fcd4e..99939a09d 100644 --- a/pkg/channels/wecom/app.go +++ b/pkg/channels/wecom/app.go @@ -16,12 +16,12 @@ import ( "sync" "time" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/utils" ) const ( diff --git a/pkg/channels/wecom/app_test.go b/pkg/channels/wecom/app_test.go index 7d07041ad..648c038a8 100644 --- a/pkg/channels/wecom/app_test.go +++ b/pkg/channels/wecom/app_test.go @@ -18,8 +18,8 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/config" ) // generateTestAESKeyApp generates a valid test AES key for WeCom App diff --git a/pkg/channels/wecom/bot.go b/pkg/channels/wecom/bot.go index 96d5a961f..27351d531 100644 --- a/pkg/channels/wecom/bot.go +++ b/pkg/channels/wecom/bot.go @@ -11,12 +11,12 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/utils" ) // WeComBotChannel implements the Channel interface for WeCom Bot (ไผไธšๅพฎไฟกๆ™บ่ƒฝๆœบๅ™จไบบ) diff --git a/pkg/channels/wecom/bot_test.go b/pkg/channels/wecom/bot_test.go index d223bb6b6..adfdd6d56 100644 --- a/pkg/channels/wecom/bot_test.go +++ b/pkg/channels/wecom/bot_test.go @@ -17,8 +17,8 @@ import ( "strings" "testing" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/config" ) // generateTestAESKey generates a valid test AES key diff --git a/pkg/channels/wecom/init.go b/pkg/channels/wecom/init.go index bc5a70fa3..8f2513399 100644 --- a/pkg/channels/wecom/init.go +++ b/pkg/channels/wecom/init.go @@ -1,9 +1,9 @@ package wecom import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/whatsapp/init.go b/pkg/channels/whatsapp/init.go index d9c2669c3..283d25b56 100644 --- a/pkg/channels/whatsapp/init.go +++ b/pkg/channels/whatsapp/init.go @@ -1,9 +1,9 @@ package whatsapp import ( - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/whatsapp/whatsapp.go b/pkg/channels/whatsapp/whatsapp.go index 70b3e02bf..7126a9a28 100644 --- a/pkg/channels/whatsapp/whatsapp.go +++ b/pkg/channels/whatsapp/whatsapp.go @@ -9,12 +9,12 @@ import ( "github.com/gorilla/websocket" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/utils" ) type WhatsAppChannel struct { diff --git a/pkg/channels/whatsapp/whatsapp_command_test.go b/pkg/channels/whatsapp/whatsapp_command_test.go index ee8aa4a52..76a28c6c1 100644 --- a/pkg/channels/whatsapp/whatsapp_command_test.go +++ b/pkg/channels/whatsapp/whatsapp_command_test.go @@ -5,9 +5,9 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func TestHandleIncomingMessage_DoesNotConsumeGenericCommandsLocally(t *testing.T) { diff --git a/pkg/channels/whatsapp_native/init.go b/pkg/channels/whatsapp_native/init.go index df13e8539..2a275baaf 100644 --- a/pkg/channels/whatsapp_native/init.go +++ b/pkg/channels/whatsapp_native/init.go @@ -3,9 +3,9 @@ package whatsapp import ( "path/filepath" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func init() { diff --git a/pkg/channels/whatsapp_native/whatsapp_command_test.go b/pkg/channels/whatsapp_native/whatsapp_command_test.go index cc2dcb619..a3cb4b2ac 100644 --- a/pkg/channels/whatsapp_native/whatsapp_command_test.go +++ b/pkg/channels/whatsapp_native/whatsapp_command_test.go @@ -12,9 +12,9 @@ import ( "go.mau.fi/whatsmeow/types/events" "google.golang.org/protobuf/proto" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) func TestHandleIncoming_DoesNotConsumeGenericCommandsLocally(t *testing.T) { diff --git a/pkg/channels/whatsapp_native/whatsapp_native.go b/pkg/channels/whatsapp_native/whatsapp_native.go index 188a7c8fa..ae284cb7b 100644 --- a/pkg/channels/whatsapp_native/whatsapp_native.go +++ b/pkg/channels/whatsapp_native/whatsapp_native.go @@ -28,12 +28,12 @@ import ( "google.golang.org/protobuf/proto" _ "modernc.org/sqlite" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/identity" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" + "jane/pkg/identity" + "jane/pkg/logger" + "jane/pkg/utils" ) const ( diff --git a/pkg/channels/whatsapp_native/whatsapp_native_stub.go b/pkg/channels/whatsapp_native/whatsapp_native_stub.go index 984af23e7..ca92811bc 100644 --- a/pkg/channels/whatsapp_native/whatsapp_native_stub.go +++ b/pkg/channels/whatsapp_native/whatsapp_native_stub.go @@ -5,9 +5,9 @@ package whatsapp import ( "fmt" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/channels" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/bus" + "jane/pkg/channels" + "jane/pkg/config" ) // NewWhatsAppNativeChannel returns an error when the binary was not built with -tags whatsapp_native. diff --git a/pkg/commands/runtime.go b/pkg/commands/runtime.go index 037184686..98dcc452a 100644 --- a/pkg/commands/runtime.go +++ b/pkg/commands/runtime.go @@ -1,6 +1,6 @@ package commands -import "github.com/sipeed/picoclaw/pkg/config" +import "jane/pkg/config" // Runtime provides runtime dependencies to command handlers. It is constructed // per-request by the agent loop so that per-request state (like session scope) diff --git a/pkg/config/config.go b/pkg/config/config.go index 7a7edb489..9e3552cda 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -9,7 +9,7 @@ import ( "github.com/caarlos0/env/v11" - "github.com/sipeed/picoclaw/pkg/fileutil" + "jane/pkg/fileutil" ) // rrCounter is a global counter for round-robin load balancing across models. @@ -727,6 +727,7 @@ type ReadFileToolConfig struct { } type ToolsConfig struct { + Alpaca AlpacaConfig `json:"alpaca,omitempty"` AllowReadPaths []string `json:"allow_read_paths" env:"PICOCLAW_TOOLS_ALLOW_READ_PATHS"` AllowWritePaths []string `json:"allow_write_paths" env:"PICOCLAW_TOOLS_ALLOW_WRITE_PATHS"` Web WebToolsConfig `json:"web"` @@ -1051,3 +1052,9 @@ func (t *ToolsConfig) IsToolEnabled(name string) bool { return true } } + +type AlpacaConfig struct { + KeyID string `json:"key_id,omitempty"` + SecretKey string `json:"secret_key,omitempty"` + BaseURL string `json:"base_url,omitempty"` +} diff --git a/pkg/config/version.go b/pkg/config/version.go index b65d3cf33..57ec53708 100644 --- a/pkg/config/version.go +++ b/pkg/config/version.go @@ -8,10 +8,10 @@ import ( // Build-time variables injected via ldflags during build process. // These are set by the Makefile or .goreleaser.yaml using the -X flag: // -// -X github.com/sipeed/picoclaw/pkg/config.Version= -// -X github.com/sipeed/picoclaw/pkg/config.GitCommit= -// -X github.com/sipeed/picoclaw/pkg/config.BuildTime= -// -X github.com/sipeed/picoclaw/pkg/config.GoVersion= +// -X jane/pkg/config.Version= +// -X jane/pkg/config.GitCommit= +// -X jane/pkg/config.BuildTime= +// -X jane/pkg/config.GoVersion= var ( Version = "dev" // Default value when not built with ldflags GitCommit string // Git commit SHA (short) diff --git a/pkg/cron/service.go b/pkg/cron/service.go index 04775ac42..340fc1d76 100644 --- a/pkg/cron/service.go +++ b/pkg/cron/service.go @@ -12,7 +12,7 @@ import ( "github.com/adhocore/gronx" - "github.com/sipeed/picoclaw/pkg/fileutil" + "jane/pkg/fileutil" ) type CronSchedule struct { diff --git a/pkg/devices/service.go b/pkg/devices/service.go index 1bafe6085..0eb334f58 100644 --- a/pkg/devices/service.go +++ b/pkg/devices/service.go @@ -6,12 +6,12 @@ import ( "sync" "time" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/constants" - "github.com/sipeed/picoclaw/pkg/devices/events" - "github.com/sipeed/picoclaw/pkg/devices/sources" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/state" + "jane/pkg/bus" + "jane/pkg/constants" + "jane/pkg/devices/events" + "jane/pkg/devices/sources" + "jane/pkg/logger" + "jane/pkg/state" ) type Service struct { diff --git a/pkg/devices/source.go b/pkg/devices/source.go index cbf0a7d88..f6c28bc0d 100644 --- a/pkg/devices/source.go +++ b/pkg/devices/source.go @@ -1,5 +1,5 @@ package devices -import "github.com/sipeed/picoclaw/pkg/devices/events" +import "jane/pkg/devices/events" type EventSource = events.EventSource diff --git a/pkg/devices/sources/usb_linux.go b/pkg/devices/sources/usb_linux.go index 2bb38941f..b32a7b701 100644 --- a/pkg/devices/sources/usb_linux.go +++ b/pkg/devices/sources/usb_linux.go @@ -10,8 +10,8 @@ import ( "strings" "sync" - "github.com/sipeed/picoclaw/pkg/devices/events" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/devices/events" + "jane/pkg/logger" ) var usbClassToCapability = map[string]string{ diff --git a/pkg/devices/sources/usb_stub.go b/pkg/devices/sources/usb_stub.go index f08c2d406..f1ef4bcf1 100644 --- a/pkg/devices/sources/usb_stub.go +++ b/pkg/devices/sources/usb_stub.go @@ -5,7 +5,7 @@ package sources import ( "context" - "github.com/sipeed/picoclaw/pkg/devices/events" + "jane/pkg/devices/events" ) type USBMonitor struct{} diff --git a/pkg/heartbeat/service.go b/pkg/heartbeat/service.go index 09c93fc6b..d928c9667 100644 --- a/pkg/heartbeat/service.go +++ b/pkg/heartbeat/service.go @@ -15,12 +15,12 @@ import ( "sync" "time" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/constants" - "github.com/sipeed/picoclaw/pkg/fileutil" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/state" - "github.com/sipeed/picoclaw/pkg/tools" + "jane/pkg/bus" + "jane/pkg/constants" + "jane/pkg/fileutil" + "jane/pkg/logger" + "jane/pkg/state" + "jane/pkg/tools" ) const ( diff --git a/pkg/heartbeat/service_test.go b/pkg/heartbeat/service_test.go index 3b7eeeefb..4fcea5b13 100644 --- a/pkg/heartbeat/service_test.go +++ b/pkg/heartbeat/service_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/tools" + "jane/pkg/tools" ) func TestExecuteHeartbeat_Async(t *testing.T) { diff --git a/pkg/identity/identity.go b/pkg/identity/identity.go index 6bc09c210..ca9065cad 100644 --- a/pkg/identity/identity.go +++ b/pkg/identity/identity.go @@ -6,7 +6,7 @@ package identity import ( "strings" - "github.com/sipeed/picoclaw/pkg/bus" + "jane/pkg/bus" ) // BuildCanonicalID constructs a canonical "platform:id" identifier. diff --git a/pkg/identity/identity_test.go b/pkg/identity/identity_test.go index 3d24bd794..7ea8b1a06 100644 --- a/pkg/identity/identity_test.go +++ b/pkg/identity/identity_test.go @@ -3,7 +3,7 @@ package identity import ( "testing" - "github.com/sipeed/picoclaw/pkg/bus" + "jane/pkg/bus" ) func TestBuildCanonicalID(t *testing.T) { diff --git a/pkg/mcp/manager.go b/pkg/mcp/manager.go index 7b63cc979..d95a127ec 100644 --- a/pkg/mcp/manager.go +++ b/pkg/mcp/manager.go @@ -15,8 +15,8 @@ import ( "github.com/modelcontextprotocol/go-sdk/mcp" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/config" + "jane/pkg/logger" ) // headerTransport is an http.RoundTripper that adds custom headers to requests diff --git a/pkg/mcp/manager_test.go b/pkg/mcp/manager_test.go index f353942ab..125873cb6 100644 --- a/pkg/mcp/manager_test.go +++ b/pkg/mcp/manager_test.go @@ -9,7 +9,7 @@ import ( sdkmcp "github.com/modelcontextprotocol/go-sdk/mcp" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) func TestLoadEnvFile(t *testing.T) { diff --git a/pkg/media/store.go b/pkg/media/store.go index 30220986c..977f89e74 100644 --- a/pkg/media/store.go +++ b/pkg/media/store.go @@ -8,7 +8,7 @@ import ( "github.com/google/uuid" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/logger" ) // MediaMeta holds metadata about a stored media file. diff --git a/pkg/memory/jsonl.go b/pkg/memory/jsonl.go index afe374166..a7a9a73ac 100644 --- a/pkg/memory/jsonl.go +++ b/pkg/memory/jsonl.go @@ -14,8 +14,8 @@ import ( "sync" "time" - "github.com/sipeed/picoclaw/pkg/fileutil" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/fileutil" + "jane/pkg/providers" ) const ( diff --git a/pkg/memory/jsonl_test.go b/pkg/memory/jsonl_test.go index 356ff14ff..dfe5af17b 100644 --- a/pkg/memory/jsonl_test.go +++ b/pkg/memory/jsonl_test.go @@ -7,7 +7,7 @@ import ( "sync" "testing" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) func newTestStore(t *testing.T) *JSONLStore { diff --git a/pkg/memory/migration.go b/pkg/memory/migration.go index b64c62a9f..491e46e3d 100644 --- a/pkg/memory/migration.go +++ b/pkg/memory/migration.go @@ -10,7 +10,7 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) // jsonSession mirrors pkg/session.Session for migration purposes. diff --git a/pkg/memory/migration_test.go b/pkg/memory/migration_test.go index 4466c96f9..d4d1d21e0 100644 --- a/pkg/memory/migration_test.go +++ b/pkg/memory/migration_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) func writeJSONSession( diff --git a/pkg/memory/store.go b/pkg/memory/store.go index b6e11707d..e50787384 100644 --- a/pkg/memory/store.go +++ b/pkg/memory/store.go @@ -3,7 +3,7 @@ package memory import ( "context" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) // Store defines an interface for persistent session storage. diff --git a/pkg/migrate/migrate.go b/pkg/migrate/migrate.go index 51fecf438..4b329db93 100644 --- a/pkg/migrate/migrate.go +++ b/pkg/migrate/migrate.go @@ -6,8 +6,8 @@ import ( "path/filepath" "strings" - "github.com/sipeed/picoclaw/pkg/migrate/internal" - "github.com/sipeed/picoclaw/pkg/migrate/sources/openclaw" + "jane/pkg/migrate/internal" + "jane/pkg/migrate/sources/openclaw" ) type ( diff --git a/pkg/migrate/sources/openclaw/openclaw_config.go b/pkg/migrate/sources/openclaw/openclaw_config.go index e95c2f3ec..3a5032eda 100644 --- a/pkg/migrate/sources/openclaw/openclaw_config.go +++ b/pkg/migrate/sources/openclaw/openclaw_config.go @@ -7,7 +7,7 @@ import ( "path/filepath" "strings" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) type OpenClawConfig struct { diff --git a/pkg/migrate/sources/openclaw/openclaw_handler.go b/pkg/migrate/sources/openclaw/openclaw_handler.go index aaff119f1..1606ebc03 100644 --- a/pkg/migrate/sources/openclaw/openclaw_handler.go +++ b/pkg/migrate/sources/openclaw/openclaw_handler.go @@ -6,8 +6,8 @@ import ( "path/filepath" "strings" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/migrate/internal" + "jane/pkg/config" + "jane/pkg/migrate/internal" ) var providerMapping = map[string]string{ diff --git a/pkg/providers/anthropic/provider.go b/pkg/providers/anthropic/provider.go index 242ded175..57d0f690e 100644 --- a/pkg/providers/anthropic/provider.go +++ b/pkg/providers/anthropic/provider.go @@ -10,7 +10,7 @@ import ( "github.com/anthropics/anthropic-sdk-go" "github.com/anthropics/anthropic-sdk-go/option" - "github.com/sipeed/picoclaw/pkg/providers/protocoltypes" + "jane/pkg/providers/protocoltypes" ) type ( diff --git a/pkg/providers/antigravity_provider.go b/pkg/providers/antigravity_provider.go index 8a1890212..ac8d8f73e 100644 --- a/pkg/providers/antigravity_provider.go +++ b/pkg/providers/antigravity_provider.go @@ -12,8 +12,8 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/pkg/auth" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/auth" + "jane/pkg/logger" ) const ( diff --git a/pkg/providers/claude_cli_provider_test.go b/pkg/providers/claude_cli_provider_test.go index d4d648f5a..d11fb1350 100644 --- a/pkg/providers/claude_cli_provider_test.go +++ b/pkg/providers/claude_cli_provider_test.go @@ -10,7 +10,7 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) // --- Compile-time interface check --- diff --git a/pkg/providers/claude_provider.go b/pkg/providers/claude_provider.go index 60639ca18..0dc33e545 100644 --- a/pkg/providers/claude_provider.go +++ b/pkg/providers/claude_provider.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - anthropicprovider "github.com/sipeed/picoclaw/pkg/providers/anthropic" + anthropicprovider "jane/pkg/providers/anthropic" ) type ClaudeProvider struct { diff --git a/pkg/providers/claude_provider_test.go b/pkg/providers/claude_provider_test.go index 98e07bb80..c35724fa0 100644 --- a/pkg/providers/claude_provider_test.go +++ b/pkg/providers/claude_provider_test.go @@ -9,7 +9,7 @@ import ( "github.com/anthropics/anthropic-sdk-go" anthropicoption "github.com/anthropics/anthropic-sdk-go/option" - anthropicprovider "github.com/sipeed/picoclaw/pkg/providers/anthropic" + anthropicprovider "jane/pkg/providers/anthropic" ) func TestClaudeProvider_ChatRoundTrip(t *testing.T) { diff --git a/pkg/providers/codex_provider.go b/pkg/providers/codex_provider.go index cf5c2d876..85909e549 100644 --- a/pkg/providers/codex_provider.go +++ b/pkg/providers/codex_provider.go @@ -11,8 +11,8 @@ import ( "github.com/openai/openai-go/v3/option" "github.com/openai/openai-go/v3/responses" - "github.com/sipeed/picoclaw/pkg/auth" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/auth" + "jane/pkg/logger" ) const ( diff --git a/pkg/providers/factory.go b/pkg/providers/factory.go index d2afe2943..2c292c786 100644 --- a/pkg/providers/factory.go +++ b/pkg/providers/factory.go @@ -4,8 +4,8 @@ import ( "fmt" "strings" - "github.com/sipeed/picoclaw/pkg/auth" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/auth" + "jane/pkg/config" ) const defaultAnthropicAPIBase = "https://api.anthropic.com/v1" diff --git a/pkg/providers/factory_provider.go b/pkg/providers/factory_provider.go index 9749e7a15..9b709e7e3 100644 --- a/pkg/providers/factory_provider.go +++ b/pkg/providers/factory_provider.go @@ -9,7 +9,7 @@ import ( "fmt" "strings" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) // createClaudeAuthProvider creates a Claude provider using OAuth credentials from auth store. diff --git a/pkg/providers/factory_provider_test.go b/pkg/providers/factory_provider_test.go index 6c7bb4795..09ee4bdb5 100644 --- a/pkg/providers/factory_provider_test.go +++ b/pkg/providers/factory_provider_test.go @@ -12,7 +12,7 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) func TestExtractProtocol(t *testing.T) { diff --git a/pkg/providers/factory_test.go b/pkg/providers/factory_test.go index 91469f25b..8566a5093 100644 --- a/pkg/providers/factory_test.go +++ b/pkg/providers/factory_test.go @@ -4,8 +4,8 @@ import ( "strings" "testing" - "github.com/sipeed/picoclaw/pkg/auth" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/auth" + "jane/pkg/config" ) func TestResolveProviderSelection(t *testing.T) { diff --git a/pkg/providers/http_provider.go b/pkg/providers/http_provider.go index 5c328f418..6691c7607 100644 --- a/pkg/providers/http_provider.go +++ b/pkg/providers/http_provider.go @@ -10,7 +10,7 @@ import ( "context" "time" - "github.com/sipeed/picoclaw/pkg/providers/openai_compat" + "jane/pkg/providers/openai_compat" ) type HTTPProvider struct { diff --git a/pkg/providers/legacy_provider.go b/pkg/providers/legacy_provider.go index 26905159f..f48b9767e 100644 --- a/pkg/providers/legacy_provider.go +++ b/pkg/providers/legacy_provider.go @@ -8,7 +8,7 @@ package providers import ( "fmt" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) // CreateProvider creates a provider based on the configuration. diff --git a/pkg/providers/openai_compat/provider.go b/pkg/providers/openai_compat/provider.go index f97bf3acd..73fdd398c 100644 --- a/pkg/providers/openai_compat/provider.go +++ b/pkg/providers/openai_compat/provider.go @@ -13,7 +13,7 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/pkg/providers/protocoltypes" + "jane/pkg/providers/protocoltypes" ) type ( diff --git a/pkg/providers/openai_compat/provider_test.go b/pkg/providers/openai_compat/provider_test.go index 41f278a1b..1ef51359a 100644 --- a/pkg/providers/openai_compat/provider_test.go +++ b/pkg/providers/openai_compat/provider_test.go @@ -12,7 +12,7 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/providers/protocoltypes" + "jane/pkg/providers/protocoltypes" ) func TestProviderChat_UsesMaxCompletionTokensForGLM(t *testing.T) { diff --git a/pkg/providers/types.go b/pkg/providers/types.go index 68bbd1e65..11114f3df 100644 --- a/pkg/providers/types.go +++ b/pkg/providers/types.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/sipeed/picoclaw/pkg/providers/protocoltypes" + "jane/pkg/providers/protocoltypes" ) type ( diff --git a/pkg/routing/features.go b/pkg/routing/features.go index c371e21aa..74fb1706a 100644 --- a/pkg/routing/features.go +++ b/pkg/routing/features.go @@ -4,7 +4,7 @@ import ( "strings" "unicode/utf8" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) // lookbackWindow is the number of recent history entries scanned for tool calls. diff --git a/pkg/routing/route.go b/pkg/routing/route.go index 9eb060c53..c5a273e92 100644 --- a/pkg/routing/route.go +++ b/pkg/routing/route.go @@ -3,7 +3,7 @@ package routing import ( "strings" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) // RouteInput contains the routing context from an inbound message. diff --git a/pkg/routing/route_test.go b/pkg/routing/route_test.go index 8255db5f9..a216609e5 100644 --- a/pkg/routing/route_test.go +++ b/pkg/routing/route_test.go @@ -3,7 +3,7 @@ package routing import ( "testing" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) func testConfig(agents []config.AgentConfig, bindings []config.AgentBinding) *config.Config { diff --git a/pkg/routing/router.go b/pkg/routing/router.go index b1fa347e9..f068e934b 100644 --- a/pkg/routing/router.go +++ b/pkg/routing/router.go @@ -1,7 +1,7 @@ package routing import ( - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) // defaultThreshold is used when the config threshold is zero or negative. diff --git a/pkg/routing/router_test.go b/pkg/routing/router_test.go index 2824d10ab..04685bd2c 100644 --- a/pkg/routing/router_test.go +++ b/pkg/routing/router_test.go @@ -4,7 +4,7 @@ import ( "strings" "testing" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) // โ”€โ”€ ExtractFeatures โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ diff --git a/pkg/session/jsonl_backend.go b/pkg/session/jsonl_backend.go index 7f470de15..f2d41f66c 100644 --- a/pkg/session/jsonl_backend.go +++ b/pkg/session/jsonl_backend.go @@ -4,8 +4,8 @@ import ( "context" "log" - "github.com/sipeed/picoclaw/pkg/memory" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/memory" + "jane/pkg/providers" ) // JSONLBackend adapts a memory.Store into the SessionStore interface. diff --git a/pkg/session/jsonl_backend_test.go b/pkg/session/jsonl_backend_test.go index 40fa019cb..c8691a59f 100644 --- a/pkg/session/jsonl_backend_test.go +++ b/pkg/session/jsonl_backend_test.go @@ -4,9 +4,9 @@ import ( "fmt" "testing" - "github.com/sipeed/picoclaw/pkg/memory" - "github.com/sipeed/picoclaw/pkg/providers" - "github.com/sipeed/picoclaw/pkg/session" + "jane/pkg/memory" + "jane/pkg/providers" + "jane/pkg/session" ) // Compile-time interface satisfaction checks. diff --git a/pkg/session/manager.go b/pkg/session/manager.go index ef720b7c5..d116fd4f9 100644 --- a/pkg/session/manager.go +++ b/pkg/session/manager.go @@ -8,7 +8,7 @@ import ( "sync" "time" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) type Session struct { diff --git a/pkg/session/session_store.go b/pkg/session/session_store.go index 1d1a2f967..3c3f65480 100644 --- a/pkg/session/session_store.go +++ b/pkg/session/session_store.go @@ -1,6 +1,6 @@ package session -import "github.com/sipeed/picoclaw/pkg/providers" +import "jane/pkg/providers" // SessionStore defines the persistence operations used by the agent loop. // Both SessionManager (legacy JSON backend) and JSONLBackend satisfy this diff --git a/pkg/skills/clawhub_registry.go b/pkg/skills/clawhub_registry.go index bd4bed8fb..ccba241f3 100644 --- a/pkg/skills/clawhub_registry.go +++ b/pkg/skills/clawhub_registry.go @@ -10,7 +10,7 @@ import ( "os" "time" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/utils" ) const ( diff --git a/pkg/skills/clawhub_registry_test.go b/pkg/skills/clawhub_registry_test.go index 055da22dc..f4dbd3e80 100644 --- a/pkg/skills/clawhub_registry_test.go +++ b/pkg/skills/clawhub_registry_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/utils" ) func newTestRegistry(serverURL, authToken string) *ClawHubRegistry { diff --git a/pkg/skills/installer.go b/pkg/skills/installer.go index c9f19f25d..1c481a25f 100644 --- a/pkg/skills/installer.go +++ b/pkg/skills/installer.go @@ -9,8 +9,8 @@ import ( "path/filepath" "time" - "github.com/sipeed/picoclaw/pkg/fileutil" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/fileutil" + "jane/pkg/utils" ) type SkillInstaller struct { diff --git a/pkg/skills/loader.go b/pkg/skills/loader.go index f5985a662..6daf1f886 100644 --- a/pkg/skills/loader.go +++ b/pkg/skills/loader.go @@ -15,7 +15,7 @@ import ( "github.com/gomarkdown/markdown/parser" "gopkg.in/yaml.v3" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/logger" ) var namePattern = regexp.MustCompile(`^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$`) diff --git a/pkg/skills/registry_test.go b/pkg/skills/registry_test.go index a4694bd43..83a7e0e3e 100644 --- a/pkg/skills/registry_test.go +++ b/pkg/skills/registry_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/assert" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/utils" ) // mockRegistry is a test double implementing SkillRegistry. diff --git a/pkg/state/state.go b/pkg/state/state.go index 5da7bbde1..cfb258618 100644 --- a/pkg/state/state.go +++ b/pkg/state/state.go @@ -9,7 +9,7 @@ import ( "sync" "time" - "github.com/sipeed/picoclaw/pkg/fileutil" + "jane/pkg/fileutil" ) // State represents the persistent state for a workspace. diff --git a/pkg/tools/alpaca/alpaca.go b/pkg/tools/alpaca/alpaca.go new file mode 100644 index 000000000..b45f99351 --- /dev/null +++ b/pkg/tools/alpaca/alpaca.go @@ -0,0 +1,130 @@ +package alpaca + +import ( + "context" + "fmt" + "strings" + + "github.com/alpacahq/alpaca-trade-api-go/v3/alpaca" + "github.com/alpacahq/alpaca-trade-api-go/v3/marketdata" + "jane/pkg/tools" +) + +type AlpacaTool struct { + client *alpaca.Client + marketData *marketdata.Client +} + +func NewAlpacaTool(keyID, secretKey, baseURL string) *AlpacaTool { + client := alpaca.NewClient(alpaca.ClientOpts{ + APIKey: keyID, + APISecret: secretKey, + BaseURL: baseURL, + }) + marketData := marketdata.NewClient(marketdata.ClientOpts{ + APIKey: keyID, + APISecret: secretKey, + }) + return &AlpacaTool{ + client: client, + marketData: marketData, + } +} + +func (t *AlpacaTool) Name() string { + return "alpaca_finance" +} + +func (t *AlpacaTool) Description() string { + return "Provides financial market data and account information via Alpaca API." +} + +func (t *AlpacaTool) Parameters() map[string]any { + return map[string]any{ + "type": "object", + "properties": map[string]any{ + "action": map[string]any{ + "type": "string", + "description": "The action to perform: 'equity', 'price', or 'sma'.", + "enum": []string{"equity", "price", "sma"}, + }, + "symbol": map[string]any{ + "type": "string", + "description": "Stock symbol (e.g., AAPL). Required for 'price' and 'sma'.", + }, + }, + "required": []string{"action"}, + } +} + +func (t *AlpacaTool) Execute(ctx context.Context, args map[string]any) *tools.ToolResult { + action, ok := args["action"].(string) + if !ok { + return tools.ErrorResult("missing or invalid ction\ parameter") + } + + if !ok { + return tools.ErrorResult("missing or invalid 'action' parameter") + } + + switch action { + case "equity": + return t.getEquity() + case "price": + symbol, ok := args["symbol"].(string) + if !ok || symbol == "" { + return tools.ErrorResult("missing or invalid 'symbol' parameter for price action") + } + return t.getPrice(symbol) + case "sma": + symbol, ok := args["symbol"].(string) + if !ok || symbol == "" { + return tools.ErrorResult("missing or invalid 'symbol' parameter for sma action") + } + return t.getSMA(symbol) + default: + return tools.ErrorResult(fmt.Sprintf("unknown action: %s", action)) + } +} + +func (t *AlpacaTool) getEquity() *tools.ToolResult { + acct, err := t.client.GetAccount() + if err != nil { + return tools.ErrorResult(fmt.Sprintf("failed to get account: %v", err)) + } + return tools.TextResult(fmt.Sprintf("Account Equity: $%s", acct.Equity.String())) +} + +func (t *AlpacaTool) getPrice(symbol string) *tools.ToolResult { + req := marketdata.GetLatestTradeRequest{ + Feed: marketdata.IEX, + } + trade, err := t.marketData.GetLatestTrade(symbol, req) + if err != nil { + return tools.ErrorResult(fmt.Sprintf("failed to get latest trade for %s: %v", symbol, err)) + } + return tools.TextResult(fmt.Sprintf("Latest price for %s: $%.2f", symbol, trade.Price)) +} + +func (t *AlpacaTool) getSMA(symbol string) *tools.ToolResult { + req := marketdata.GetBarsRequest{ + TimeFrame: marketdata.OneDay, + Limit: 10, // 10-day simple moving average + } + bars, err := t.marketData.GetBars(symbol, req) + if err != nil { + return tools.ErrorResult(fmt.Sprintf("failed to get bars for %s: %v", symbol, err)) + } + if len(bars) == 0 { + return tools.ErrorResult(fmt.Sprintf("no data found for %s", symbol)) + } + var sum float64 + for _, bar := range bars { + sum += bar.Close + } + sma := sum / float64(len(bars)) + return tools.TextResult(fmt.Sprintf("10-Day SMA for %s: $%.2f", symbol, sma)) +} +func init() { + // tools.Register(&AlpacaTool{}) // We will register it manually where we have access to config. +} diff --git a/pkg/tools/cron.go b/pkg/tools/cron.go index 648cc3c6c..666ce43d1 100644 --- a/pkg/tools/cron.go +++ b/pkg/tools/cron.go @@ -6,11 +6,11 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/constants" - "github.com/sipeed/picoclaw/pkg/cron" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/bus" + "jane/pkg/config" + "jane/pkg/constants" + "jane/pkg/cron" + "jane/pkg/utils" ) // JobExecutor is the interface for executing cron jobs through the agent diff --git a/pkg/tools/cron_test.go b/pkg/tools/cron_test.go index 1776abc65..1e04e58c6 100644 --- a/pkg/tools/cron_test.go +++ b/pkg/tools/cron_test.go @@ -6,9 +6,9 @@ import ( "strings" "testing" - "github.com/sipeed/picoclaw/pkg/bus" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/cron" + "jane/pkg/bus" + "jane/pkg/config" + "jane/pkg/cron" ) func newTestCronTool(t *testing.T) *CronTool { diff --git a/pkg/tools/filesystem.go b/pkg/tools/filesystem.go index 6b1cb1475..0d677ae52 100644 --- a/pkg/tools/filesystem.go +++ b/pkg/tools/filesystem.go @@ -14,8 +14,8 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/pkg/fileutil" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/fileutil" + "jane/pkg/logger" ) const MaxReadFileSize = 64 * 1024 // 64KB limit to avoid context overflow diff --git a/pkg/tools/registry.go b/pkg/tools/registry.go index 0635f47d7..eefd1172e 100644 --- a/pkg/tools/registry.go +++ b/pkg/tools/registry.go @@ -8,8 +8,8 @@ import ( "sync/atomic" "time" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/logger" + "jane/pkg/providers" ) type ToolEntry struct { diff --git a/pkg/tools/registry_test.go b/pkg/tools/registry_test.go index 92d7d5abd..e9f9e6325 100644 --- a/pkg/tools/registry_test.go +++ b/pkg/tools/registry_test.go @@ -6,7 +6,7 @@ import ( "sync" "testing" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) // --- mock types --- diff --git a/pkg/tools/search_tool.go b/pkg/tools/search_tool.go index f41c80d90..1a2d5549c 100644 --- a/pkg/tools/search_tool.go +++ b/pkg/tools/search_tool.go @@ -8,8 +8,8 @@ import ( "strings" "sync" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/logger" + "jane/pkg/utils" ) const ( diff --git a/pkg/tools/send_file.go b/pkg/tools/send_file.go index 1a03e58ed..9eb75496f 100644 --- a/pkg/tools/send_file.go +++ b/pkg/tools/send_file.go @@ -10,8 +10,8 @@ import ( "github.com/h2non/filetype" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/media" + "jane/pkg/config" + "jane/pkg/media" ) // SendFileTool allows the LLM to send a local file (image, document, etc.) diff --git a/pkg/tools/send_file_test.go b/pkg/tools/send_file_test.go index 08d129674..9a2152a5d 100644 --- a/pkg/tools/send_file_test.go +++ b/pkg/tools/send_file_test.go @@ -7,8 +7,8 @@ import ( "strings" "testing" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/media" + "jane/pkg/config" + "jane/pkg/media" ) func TestSendFileTool_MissingPath(t *testing.T) { diff --git a/pkg/tools/shell.go b/pkg/tools/shell.go index 67e2ad257..ff986d4e5 100644 --- a/pkg/tools/shell.go +++ b/pkg/tools/shell.go @@ -13,8 +13,8 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/constants" + "jane/pkg/config" + "jane/pkg/constants" ) type ExecTool struct { diff --git a/pkg/tools/shell_test.go b/pkg/tools/shell_test.go index 90265e5bd..05e839c62 100644 --- a/pkg/tools/shell_test.go +++ b/pkg/tools/shell_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) // TestShellTool_Success verifies successful command execution diff --git a/pkg/tools/skills_install.go b/pkg/tools/skills_install.go index 71bfe730b..8d5d0ae4d 100644 --- a/pkg/tools/skills_install.go +++ b/pkg/tools/skills_install.go @@ -9,10 +9,10 @@ import ( "sync" "time" - "github.com/sipeed/picoclaw/pkg/fileutil" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/skills" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/fileutil" + "jane/pkg/logger" + "jane/pkg/skills" + "jane/pkg/utils" ) // InstallSkillTool allows the LLM agent to install skills from registries. diff --git a/pkg/tools/skills_install_test.go b/pkg/tools/skills_install_test.go index 676fcecc0..e724a5a43 100644 --- a/pkg/tools/skills_install_test.go +++ b/pkg/tools/skills_install_test.go @@ -9,7 +9,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/sipeed/picoclaw/pkg/skills" + "jane/pkg/skills" ) func TestInstallSkillToolName(t *testing.T) { diff --git a/pkg/tools/skills_search.go b/pkg/tools/skills_search.go index 2b6cffd38..a996d1c8d 100644 --- a/pkg/tools/skills_search.go +++ b/pkg/tools/skills_search.go @@ -5,7 +5,7 @@ import ( "fmt" "strings" - "github.com/sipeed/picoclaw/pkg/skills" + "jane/pkg/skills" ) // FindSkillsTool allows the LLM agent to search for installable skills from registries. diff --git a/pkg/tools/skills_search_test.go b/pkg/tools/skills_search_test.go index 0e5387cf5..de5ceef79 100644 --- a/pkg/tools/skills_search_test.go +++ b/pkg/tools/skills_search_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/assert" - "github.com/sipeed/picoclaw/pkg/skills" + "jane/pkg/skills" ) func TestFindSkillsToolName(t *testing.T) { diff --git a/pkg/tools/subagent.go b/pkg/tools/subagent.go index e51cbaafa..3341d98cb 100644 --- a/pkg/tools/subagent.go +++ b/pkg/tools/subagent.go @@ -6,7 +6,7 @@ import ( "sync" "time" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) type SubagentTask struct { diff --git a/pkg/tools/subagent_tool_test.go b/pkg/tools/subagent_tool_test.go index 4b6f130a5..eea131876 100644 --- a/pkg/tools/subagent_tool_test.go +++ b/pkg/tools/subagent_tool_test.go @@ -5,7 +5,7 @@ import ( "strings" "testing" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/providers" ) // MockLLMProvider is a test implementation of LLMProvider diff --git a/pkg/tools/toolloop.go b/pkg/tools/toolloop.go index 244f0d4a2..6d78448c7 100644 --- a/pkg/tools/toolloop.go +++ b/pkg/tools/toolloop.go @@ -12,9 +12,9 @@ import ( "fmt" "sync" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/providers" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/logger" + "jane/pkg/providers" + "jane/pkg/utils" ) // ToolLoopConfig configures the tool execution loop. diff --git a/pkg/tools/web_test.go b/pkg/tools/web_test.go index 0737d2087..2de41eedd 100644 --- a/pkg/tools/web_test.go +++ b/pkg/tools/web_test.go @@ -12,7 +12,7 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/logger" ) const testFetchLimit = int64(10 * 1024 * 1024) diff --git a/pkg/utils/download.go b/pkg/utils/download.go index 5d9a13a30..78ee464b7 100644 --- a/pkg/utils/download.go +++ b/pkg/utils/download.go @@ -7,7 +7,7 @@ import ( "net/http" "os" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/logger" ) // DownloadToFile streams an HTTP response body to a temporary file in small diff --git a/pkg/utils/media.go b/pkg/utils/media.go index 3e1c5d88e..8eacdf3dd 100644 --- a/pkg/utils/media.go +++ b/pkg/utils/media.go @@ -11,7 +11,7 @@ import ( "github.com/google/uuid" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/logger" ) // IsAudioFile checks if a file is an audio file based on its filename extension and content type. diff --git a/pkg/utils/zip.go b/pkg/utils/zip.go index 919ce5a20..8f61207ff 100644 --- a/pkg/utils/zip.go +++ b/pkg/utils/zip.go @@ -8,7 +8,7 @@ import ( "path/filepath" "strings" - "github.com/sipeed/picoclaw/pkg/logger" + "jane/pkg/logger" ) // ExtractZipFile extracts a ZIP archive from disk to targetDir. diff --git a/pkg/voice/transcriber.go b/pkg/voice/transcriber.go index e949d7a22..7f9444554 100644 --- a/pkg/voice/transcriber.go +++ b/pkg/voice/transcriber.go @@ -13,9 +13,9 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/logger" - "github.com/sipeed/picoclaw/pkg/utils" + "jane/pkg/config" + "jane/pkg/logger" + "jane/pkg/utils" ) type Transcriber interface { diff --git a/pkg/voice/transcriber_test.go b/pkg/voice/transcriber_test.go index 9b6add333..8afa8dfdd 100644 --- a/pkg/voice/transcriber_test.go +++ b/pkg/voice/transcriber_test.go @@ -9,7 +9,7 @@ import ( "path/filepath" "testing" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) // Ensure GroqTranscriber satisfies the Transcriber interface at compile time. diff --git a/web/backend/api/config.go b/web/backend/api/config.go index 091e3fbae..ba831ea41 100644 --- a/web/backend/api/config.go +++ b/web/backend/api/config.go @@ -6,7 +6,7 @@ import ( "io" "net/http" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) // registerConfigRoutes binds configuration management endpoints to the ServeMux. diff --git a/web/backend/api/config_test.go b/web/backend/api/config_test.go index 29811e37e..4d5635ea4 100644 --- a/web/backend/api/config_test.go +++ b/web/backend/api/config_test.go @@ -6,7 +6,7 @@ import ( "net/http/httptest" "testing" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) func TestHandleUpdateConfig_PreservesExecAllowRemoteDefaultWhenOmitted(t *testing.T) { diff --git a/web/backend/api/gateway.go b/web/backend/api/gateway.go index 41f702e32..f52faf3c5 100644 --- a/web/backend/api/gateway.go +++ b/web/backend/api/gateway.go @@ -17,8 +17,8 @@ import ( "syscall" "time" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/web/backend/utils" + "jane/pkg/config" + "jane/web/backend/utils" ) // gateway holds the state for the managed gateway process. diff --git a/web/backend/api/gateway_host.go b/web/backend/api/gateway_host.go index a499c1ea2..cb0487a09 100644 --- a/web/backend/api/gateway_host.go +++ b/web/backend/api/gateway_host.go @@ -6,7 +6,7 @@ import ( "strconv" "strings" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) func (h *Handler) effectiveLauncherPublic() bool { diff --git a/web/backend/api/gateway_host_test.go b/web/backend/api/gateway_host_test.go index afd600359..40513e27c 100644 --- a/web/backend/api/gateway_host_test.go +++ b/web/backend/api/gateway_host_test.go @@ -5,8 +5,8 @@ import ( "path/filepath" "testing" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/web/backend/launcherconfig" + "jane/pkg/config" + "jane/web/backend/launcherconfig" ) func TestGatewayHostOverrideUsesExplicitRuntimePublic(t *testing.T) { diff --git a/web/backend/api/gateway_test.go b/web/backend/api/gateway_test.go index d4265776a..ad5dbc643 100644 --- a/web/backend/api/gateway_test.go +++ b/web/backend/api/gateway_test.go @@ -10,9 +10,9 @@ import ( "strings" "testing" - "github.com/sipeed/picoclaw/pkg/auth" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/web/backend/utils" + "jane/pkg/auth" + "jane/pkg/config" + "jane/web/backend/utils" ) func TestGatewayStartReady_NoDefaultModel(t *testing.T) { diff --git a/web/backend/api/launcher_config.go b/web/backend/api/launcher_config.go index e149d5671..23e92fa6c 100644 --- a/web/backend/api/launcher_config.go +++ b/web/backend/api/launcher_config.go @@ -5,7 +5,7 @@ import ( "fmt" "net/http" - "github.com/sipeed/picoclaw/web/backend/launcherconfig" + "jane/web/backend/launcherconfig" ) type launcherConfigPayload struct { diff --git a/web/backend/api/launcher_config_test.go b/web/backend/api/launcher_config_test.go index 0d6af823c..d008d9448 100644 --- a/web/backend/api/launcher_config_test.go +++ b/web/backend/api/launcher_config_test.go @@ -8,7 +8,7 @@ import ( "strings" "testing" - "github.com/sipeed/picoclaw/web/backend/launcherconfig" + "jane/web/backend/launcherconfig" ) func TestGetLauncherConfigUsesRuntimeFallback(t *testing.T) { diff --git a/web/backend/api/model_status.go b/web/backend/api/model_status.go index 22bf5c15b..aef4fe426 100644 --- a/web/backend/api/model_status.go +++ b/web/backend/api/model_status.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) const modelProbeTimeout = 800 * time.Millisecond diff --git a/web/backend/api/models.go b/web/backend/api/models.go index 7f3d29c77..683235534 100644 --- a/web/backend/api/models.go +++ b/web/backend/api/models.go @@ -8,7 +8,7 @@ import ( "strconv" "sync" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) // registerModelRoutes binds model list management endpoints to the ServeMux. diff --git a/web/backend/api/models_test.go b/web/backend/api/models_test.go index 2377b5b66..4af8e0e8c 100644 --- a/web/backend/api/models_test.go +++ b/web/backend/api/models_test.go @@ -8,8 +8,8 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/auth" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/auth" + "jane/pkg/config" ) func resetModelProbeHooks(t *testing.T) { diff --git a/web/backend/api/oauth.go b/web/backend/api/oauth.go index 919b47fbc..c734fad73 100644 --- a/web/backend/api/oauth.go +++ b/web/backend/api/oauth.go @@ -12,9 +12,9 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/pkg/auth" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/auth" + "jane/pkg/config" + "jane/pkg/providers" ) const ( diff --git a/web/backend/api/oauth_test.go b/web/backend/api/oauth_test.go index 7d63abbd4..01616507e 100644 --- a/web/backend/api/oauth_test.go +++ b/web/backend/api/oauth_test.go @@ -11,8 +11,8 @@ import ( "testing" "time" - "github.com/sipeed/picoclaw/pkg/auth" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/auth" + "jane/pkg/config" ) func TestOAuthLoginRejectsUnsupportedMethod(t *testing.T) { diff --git a/web/backend/api/pico.go b/web/backend/api/pico.go index a4590dcde..61d7df9e9 100644 --- a/web/backend/api/pico.go +++ b/web/backend/api/pico.go @@ -8,7 +8,7 @@ import ( "net/http" "time" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) // registerPicoRoutes binds Pico Channel management endpoints to the ServeMux. diff --git a/web/backend/api/router.go b/web/backend/api/router.go index 5f081dee9..f9a346abb 100644 --- a/web/backend/api/router.go +++ b/web/backend/api/router.go @@ -4,7 +4,7 @@ import ( "net/http" "sync" - "github.com/sipeed/picoclaw/web/backend/launcherconfig" + "jane/web/backend/launcherconfig" ) // Handler serves HTTP API requests. diff --git a/web/backend/api/session.go b/web/backend/api/session.go index 42d451a05..1064f81bd 100644 --- a/web/backend/api/session.go +++ b/web/backend/api/session.go @@ -12,8 +12,8 @@ import ( "strings" "time" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/providers" + "jane/pkg/config" + "jane/pkg/providers" ) // registerSessionRoutes binds session list and detail endpoints to the ServeMux. diff --git a/web/backend/api/session_test.go b/web/backend/api/session_test.go index 21ef5b5b8..8e21f8b1e 100644 --- a/web/backend/api/session_test.go +++ b/web/backend/api/session_test.go @@ -8,10 +8,10 @@ import ( "path/filepath" "testing" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/memory" - "github.com/sipeed/picoclaw/pkg/providers" - "github.com/sipeed/picoclaw/pkg/session" + "jane/pkg/config" + "jane/pkg/memory" + "jane/pkg/providers" + "jane/pkg/session" ) func sessionsTestDir(t *testing.T, configPath string) string { diff --git a/web/backend/api/skills.go b/web/backend/api/skills.go index 936074fee..2d1efd34b 100644 --- a/web/backend/api/skills.go +++ b/web/backend/api/skills.go @@ -10,8 +10,8 @@ import ( "regexp" "strings" - "github.com/sipeed/picoclaw/pkg/config" - "github.com/sipeed/picoclaw/pkg/skills" + "jane/pkg/config" + "jane/pkg/skills" ) type skillSupportResponse struct { diff --git a/web/backend/api/skills_test.go b/web/backend/api/skills_test.go index 3289d5b33..da7eb7da3 100644 --- a/web/backend/api/skills_test.go +++ b/web/backend/api/skills_test.go @@ -11,7 +11,7 @@ import ( "path/filepath" "testing" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) func TestHandleListSkills(t *testing.T) { diff --git a/web/backend/api/startup_test.go b/web/backend/api/startup_test.go index cfa9b4c53..616cbb6bb 100644 --- a/web/backend/api/startup_test.go +++ b/web/backend/api/startup_test.go @@ -5,7 +5,7 @@ import ( "strings" "testing" - "github.com/sipeed/picoclaw/web/backend/launcherconfig" + "jane/web/backend/launcherconfig" ) func TestResolveLaunchCommandUsesConfigFileDefaults(t *testing.T) { diff --git a/web/backend/api/tools.go b/web/backend/api/tools.go index 373a3be12..ec5e12ea1 100644 --- a/web/backend/api/tools.go +++ b/web/backend/api/tools.go @@ -6,7 +6,7 @@ import ( "net/http" "runtime" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) type toolCatalogEntry struct { diff --git a/web/backend/api/tools_test.go b/web/backend/api/tools_test.go index 646cefbe2..a248462c0 100644 --- a/web/backend/api/tools_test.go +++ b/web/backend/api/tools_test.go @@ -8,7 +8,7 @@ import ( "runtime" "testing" - "github.com/sipeed/picoclaw/pkg/config" + "jane/pkg/config" ) func TestHandleListTools(t *testing.T) { diff --git a/web/backend/main.go b/web/backend/main.go index 650540ea8..7a575cc47 100644 --- a/web/backend/main.go +++ b/web/backend/main.go @@ -22,10 +22,10 @@ import ( "strconv" "time" - "github.com/sipeed/picoclaw/web/backend/api" - "github.com/sipeed/picoclaw/web/backend/launcherconfig" - "github.com/sipeed/picoclaw/web/backend/middleware" - "github.com/sipeed/picoclaw/web/backend/utils" + "jane/web/backend/api" + "jane/web/backend/launcherconfig" + "jane/web/backend/middleware" + "jane/web/backend/utils" ) func main() {