profclaw 0.0.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +215 -0
- package/CHANGELOG.md +49 -0
- package/CONTRIBUTING.md +119 -0
- package/Dockerfile +107 -0
- package/LICENSE +661 -0
- package/README.md +196 -0
- package/config/agents.yml +55 -0
- package/config/budget.yml +15 -0
- package/config/pricing.yml +46 -0
- package/config/settings.yml +168 -0
- package/dist/adapters/claude-code.d.ts +46 -0
- package/dist/adapters/claude-code.js +215 -0
- package/dist/adapters/index.d.ts +4 -0
- package/dist/adapters/index.js +4 -0
- package/dist/adapters/ollama.d.ts +45 -0
- package/dist/adapters/ollama.js +277 -0
- package/dist/adapters/openclaw.d.ts +60 -0
- package/dist/adapters/openclaw.js +289 -0
- package/dist/adapters/registry.d.ts +56 -0
- package/dist/adapters/registry.js +163 -0
- package/dist/agents/executor.d.ts +78 -0
- package/dist/agents/executor.js +657 -0
- package/dist/agents/index.d.ts +10 -0
- package/dist/agents/index.js +27 -0
- package/dist/agents/stop-conditions.d.ts +108 -0
- package/dist/agents/stop-conditions.js +299 -0
- package/dist/agents/types.d.ts +185 -0
- package/dist/agents/types.js +14 -0
- package/dist/ai/embedding-service.d.ts +96 -0
- package/dist/ai/embedding-service.js +333 -0
- package/dist/auth/api-tokens.d.ts +71 -0
- package/dist/auth/api-tokens.js +235 -0
- package/dist/auth/auth-service.d.ts +75 -0
- package/dist/auth/auth-service.js +557 -0
- package/dist/auth/device-identity.d.ts +96 -0
- package/dist/auth/device-identity.js +250 -0
- package/dist/auth/github-oauth.d.ts +20 -0
- package/dist/auth/github-oauth.js +59 -0
- package/dist/auth/jira-oauth.d.ts +25 -0
- package/dist/auth/jira-oauth.js +75 -0
- package/dist/auth/linear-oauth.d.ts +21 -0
- package/dist/auth/linear-oauth.js +59 -0
- package/dist/auth/middleware.d.ts +44 -0
- package/dist/auth/middleware.js +190 -0
- package/dist/auth/pairing-codes.d.ts +109 -0
- package/dist/auth/pairing-codes.js +274 -0
- package/dist/auth/password.d.ts +53 -0
- package/dist/auth/password.js +126 -0
- package/dist/auth/qr-pairing.d.ts +36 -0
- package/dist/auth/qr-pairing.js +138 -0
- package/dist/auth/slack-oauth.d.ts +31 -0
- package/dist/auth/slack-oauth.js +80 -0
- package/dist/backup/index.d.ts +50 -0
- package/dist/backup/index.js +184 -0
- package/dist/browser/adapters.d.ts +25 -0
- package/dist/browser/adapters.js +32 -0
- package/dist/browser/cli.d.ts +19 -0
- package/dist/browser/cli.js +277 -0
- package/dist/browser/compression.d.ts +32 -0
- package/dist/browser/compression.js +269 -0
- package/dist/browser/extensions.d.ts +144 -0
- package/dist/browser/extensions.js +251 -0
- package/dist/browser/index.d.ts +37 -0
- package/dist/browser/index.js +43 -0
- package/dist/browser/refs.d.ts +46 -0
- package/dist/browser/refs.js +120 -0
- package/dist/browser/search.d.ts +36 -0
- package/dist/browser/search.js +193 -0
- package/dist/browser/service.d.ts +94 -0
- package/dist/browser/service.js +358 -0
- package/dist/browser/snapshot.d.ts +19 -0
- package/dist/browser/snapshot.js +250 -0
- package/dist/browser/tools.d.ts +259 -0
- package/dist/browser/tools.js +463 -0
- package/dist/browser/types.d.ts +134 -0
- package/dist/browser/types.js +17 -0
- package/dist/chat/agentic-executor.d.ts +108 -0
- package/dist/chat/agentic-executor.js +739 -0
- package/dist/chat/api-key-detector.d.ts +41 -0
- package/dist/chat/api-key-detector.js +290 -0
- package/dist/chat/auto-reply.d.ts +90 -0
- package/dist/chat/auto-reply.js +272 -0
- package/dist/chat/conversations.d.ts +91 -0
- package/dist/chat/conversations.js +297 -0
- package/dist/chat/execution/audit.d.ts +192 -0
- package/dist/chat/execution/audit.js +323 -0
- package/dist/chat/execution/executor.d.ts +56 -0
- package/dist/chat/execution/executor.js +654 -0
- package/dist/chat/execution/guardrails.d.ts +98 -0
- package/dist/chat/execution/guardrails.js +571 -0
- package/dist/chat/execution/index.d.ts +61 -0
- package/dist/chat/execution/index.js +129 -0
- package/dist/chat/execution/model-capability.d.ts +34 -0
- package/dist/chat/execution/model-capability.js +96 -0
- package/dist/chat/execution/process-pool.d.ts +110 -0
- package/dist/chat/execution/process-pool.js +290 -0
- package/dist/chat/execution/pty.d.ts +92 -0
- package/dist/chat/execution/pty.js +285 -0
- package/dist/chat/execution/rate-limiter.d.ts +87 -0
- package/dist/chat/execution/rate-limiter.js +305 -0
- package/dist/chat/execution/registry.d.ts +54 -0
- package/dist/chat/execution/registry.js +220 -0
- package/dist/chat/execution/sandbox.d.ts +109 -0
- package/dist/chat/execution/sandbox.js +684 -0
- package/dist/chat/execution/secrets.d.ts +45 -0
- package/dist/chat/execution/secrets.js +338 -0
- package/dist/chat/execution/security.d.ts +179 -0
- package/dist/chat/execution/security.js +739 -0
- package/dist/chat/execution/self-correction.d.ts +162 -0
- package/dist/chat/execution/self-correction.js +557 -0
- package/dist/chat/execution/session-manager.d.ts +79 -0
- package/dist/chat/execution/session-manager.js +356 -0
- package/dist/chat/execution/session-spawn/config.d.ts +37 -0
- package/dist/chat/execution/session-spawn/config.js +83 -0
- package/dist/chat/execution/session-spawn/index.d.ts +10 -0
- package/dist/chat/execution/session-spawn/index.js +10 -0
- package/dist/chat/execution/session-spawn/manager.d.ts +35 -0
- package/dist/chat/execution/session-spawn/manager.js +418 -0
- package/dist/chat/execution/session-spawn/types.d.ts +117 -0
- package/dist/chat/execution/session-spawn/types.js +16 -0
- package/dist/chat/execution/smart-prompts.d.ts +34 -0
- package/dist/chat/execution/smart-prompts.js +151 -0
- package/dist/chat/execution/stream-results.d.ts +65 -0
- package/dist/chat/execution/stream-results.js +156 -0
- package/dist/chat/execution/tool-router.d.ts +76 -0
- package/dist/chat/execution/tool-router.js +296 -0
- package/dist/chat/execution/tools/agents-list.d.ts +49 -0
- package/dist/chat/execution/tools/agents-list.js +165 -0
- package/dist/chat/execution/tools/browser.d.ts +12 -0
- package/dist/chat/execution/tools/browser.js +14 -0
- package/dist/chat/execution/tools/canvas.d.ts +61 -0
- package/dist/chat/execution/tools/canvas.js +150 -0
- package/dist/chat/execution/tools/complete-task.d.ts +72 -0
- package/dist/chat/execution/tools/complete-task.js +104 -0
- package/dist/chat/execution/tools/cron-tool.d.ts +204 -0
- package/dist/chat/execution/tools/cron-tool.js +680 -0
- package/dist/chat/execution/tools/discord-actions.d.ts +120 -0
- package/dist/chat/execution/tools/discord-actions.js +361 -0
- package/dist/chat/execution/tools/exec.d.ts +43 -0
- package/dist/chat/execution/tools/exec.js +223 -0
- package/dist/chat/execution/tools/file-ops.d.ts +175 -0
- package/dist/chat/execution/tools/file-ops.js +723 -0
- package/dist/chat/execution/tools/git.d.ts +143 -0
- package/dist/chat/execution/tools/git.js +395 -0
- package/dist/chat/execution/tools/github.d.ts +42 -0
- package/dist/chat/execution/tools/github.js +184 -0
- package/dist/chat/execution/tools/glinr-ops.d.ts +202 -0
- package/dist/chat/execution/tools/glinr-ops.js +694 -0
- package/dist/chat/execution/tools/image-analyze.d.ts +29 -0
- package/dist/chat/execution/tools/image-analyze.js +127 -0
- package/dist/chat/execution/tools/index.d.ts +64 -0
- package/dist/chat/execution/tools/index.js +245 -0
- package/dist/chat/execution/tools/integrations.d.ts +109 -0
- package/dist/chat/execution/tools/integrations.js +237 -0
- package/dist/chat/execution/tools/link-understand.d.ts +34 -0
- package/dist/chat/execution/tools/link-understand.js +307 -0
- package/dist/chat/execution/tools/maintenance.d.ts +29 -0
- package/dist/chat/execution/tools/maintenance.js +105 -0
- package/dist/chat/execution/tools/memory-tools.d.ts +76 -0
- package/dist/chat/execution/tools/memory-tools.js +278 -0
- package/dist/chat/execution/tools/openai-image-gen.d.ts +51 -0
- package/dist/chat/execution/tools/openai-image-gen.js +212 -0
- package/dist/chat/execution/tools/profclaw-ops.d.ts +204 -0
- package/dist/chat/execution/tools/profclaw-ops.js +665 -0
- package/dist/chat/execution/tools/session-spawn.d.ts +146 -0
- package/dist/chat/execution/tools/session-spawn.js +544 -0
- package/dist/chat/execution/tools/session-status.d.ts +38 -0
- package/dist/chat/execution/tools/session-status.js +185 -0
- package/dist/chat/execution/tools/sessions-list.d.ts +49 -0
- package/dist/chat/execution/tools/sessions-list.js +153 -0
- package/dist/chat/execution/tools/sessions-send.d.ts +48 -0
- package/dist/chat/execution/tools/sessions-send.js +207 -0
- package/dist/chat/execution/tools/sessions-spawn.d.ts +51 -0
- package/dist/chat/execution/tools/sessions-spawn.js +137 -0
- package/dist/chat/execution/tools/slack-actions.d.ts +90 -0
- package/dist/chat/execution/tools/slack-actions.js +272 -0
- package/dist/chat/execution/tools/subagent-orchestrate.d.ts +66 -0
- package/dist/chat/execution/tools/subagent-orchestrate.js +313 -0
- package/dist/chat/execution/tools/system.d.ts +121 -0
- package/dist/chat/execution/tools/system.js +415 -0
- package/dist/chat/execution/tools/telegram-actions.d.ts +126 -0
- package/dist/chat/execution/tools/telegram-actions.js +339 -0
- package/dist/chat/execution/tools/test-run.d.ts +43 -0
- package/dist/chat/execution/tools/test-run.js +391 -0
- package/dist/chat/execution/tools/tts-speak.d.ts +39 -0
- package/dist/chat/execution/tools/tts-speak.js +199 -0
- package/dist/chat/execution/tools/web-fetch.d.ts +42 -0
- package/dist/chat/execution/tools/web-fetch.js +247 -0
- package/dist/chat/execution/tools/web-search.d.ts +53 -0
- package/dist/chat/execution/tools/web-search.js +130 -0
- package/dist/chat/execution/types.d.ts +337 -0
- package/dist/chat/execution/types.js +8 -0
- package/dist/chat/execution/workflows/built-in.d.ts +10 -0
- package/dist/chat/execution/workflows/built-in.js +249 -0
- package/dist/chat/execution/workflows/executor.d.ts +13 -0
- package/dist/chat/execution/workflows/executor.js +259 -0
- package/dist/chat/execution/workflows/index.d.ts +5 -0
- package/dist/chat/execution/workflows/index.js +5 -0
- package/dist/chat/execution/workflows/trigger.d.ts +15 -0
- package/dist/chat/execution/workflows/trigger.js +111 -0
- package/dist/chat/execution/workflows/types.d.ts +80 -0
- package/dist/chat/execution/workflows/types.js +2 -0
- package/dist/chat/failover/error.d.ts +73 -0
- package/dist/chat/failover/error.js +412 -0
- package/dist/chat/failover/index.d.ts +10 -0
- package/dist/chat/failover/index.js +11 -0
- package/dist/chat/failover/model-fallback.d.ts +97 -0
- package/dist/chat/failover/model-fallback.js +328 -0
- package/dist/chat/failover/types.d.ts +47 -0
- package/dist/chat/failover/types.js +8 -0
- package/dist/chat/format/chunk.d.ts +59 -0
- package/dist/chat/format/chunk.js +253 -0
- package/dist/chat/format/index.d.ts +7 -0
- package/dist/chat/format/index.js +7 -0
- package/dist/chat/format/tool-result-formatter.d.ts +30 -0
- package/dist/chat/format/tool-result-formatter.js +177 -0
- package/dist/chat/group.d.ts +232 -0
- package/dist/chat/group.js +311 -0
- package/dist/chat/index.d.ts +21 -0
- package/dist/chat/index.js +30 -0
- package/dist/chat/memory.d.ts +108 -0
- package/dist/chat/memory.js +343 -0
- package/dist/chat/message-handler.d.ts +38 -0
- package/dist/chat/message-handler.js +274 -0
- package/dist/chat/proactive/index.d.ts +167 -0
- package/dist/chat/proactive/index.js +721 -0
- package/dist/chat/prompt-adapter.d.ts +52 -0
- package/dist/chat/prompt-adapter.js +245 -0
- package/dist/chat/providers/dingtalk/index.d.ts +69 -0
- package/dist/chat/providers/dingtalk/index.js +225 -0
- package/dist/chat/providers/discord/index.d.ts +264 -0
- package/dist/chat/providers/discord/index.js +657 -0
- package/dist/chat/providers/feishu/index.d.ts +97 -0
- package/dist/chat/providers/feishu/index.js +362 -0
- package/dist/chat/providers/googlechat/index.d.ts +269 -0
- package/dist/chat/providers/googlechat/index.js +634 -0
- package/dist/chat/providers/imessage/index.d.ts +61 -0
- package/dist/chat/providers/imessage/index.js +166 -0
- package/dist/chat/providers/index.d.ts +76 -0
- package/dist/chat/providers/index.js +430 -0
- package/dist/chat/providers/irc/index.d.ts +101 -0
- package/dist/chat/providers/irc/index.js +557 -0
- package/dist/chat/providers/line/index.d.ts +113 -0
- package/dist/chat/providers/line/index.js +434 -0
- package/dist/chat/providers/matrix/index.d.ts +161 -0
- package/dist/chat/providers/matrix/index.js +559 -0
- package/dist/chat/providers/mattermost/index.d.ts +106 -0
- package/dist/chat/providers/mattermost/index.js +425 -0
- package/dist/chat/providers/msteams/index.d.ts +198 -0
- package/dist/chat/providers/msteams/index.js +694 -0
- package/dist/chat/providers/nextcloud/index.d.ts +52 -0
- package/dist/chat/providers/nextcloud/index.js +156 -0
- package/dist/chat/providers/nostr/index.d.ts +60 -0
- package/dist/chat/providers/nostr/index.js +200 -0
- package/dist/chat/providers/qq/index.d.ts +57 -0
- package/dist/chat/providers/qq/index.js +260 -0
- package/dist/chat/providers/registry.d.ts +89 -0
- package/dist/chat/providers/registry.js +213 -0
- package/dist/chat/providers/signal/index.d.ts +88 -0
- package/dist/chat/providers/signal/index.js +357 -0
- package/dist/chat/providers/slack/index.d.ts +52 -0
- package/dist/chat/providers/slack/index.js +477 -0
- package/dist/chat/providers/synology/index.d.ts +50 -0
- package/dist/chat/providers/synology/index.js +138 -0
- package/dist/chat/providers/telegram/index.d.ts +148 -0
- package/dist/chat/providers/telegram/index.js +492 -0
- package/dist/chat/providers/tlon/index.d.ts +44 -0
- package/dist/chat/providers/tlon/index.js +243 -0
- package/dist/chat/providers/twitch/index.d.ts +79 -0
- package/dist/chat/providers/twitch/index.js +349 -0
- package/dist/chat/providers/types.d.ts +437 -0
- package/dist/chat/providers/types.js +14 -0
- package/dist/chat/providers/webchat/index.d.ts +38 -0
- package/dist/chat/providers/webchat/index.js +214 -0
- package/dist/chat/providers/wecom/index.d.ts +62 -0
- package/dist/chat/providers/wecom/index.js +228 -0
- package/dist/chat/providers/whatsapp/index.d.ts +147 -0
- package/dist/chat/providers/whatsapp/index.js +396 -0
- package/dist/chat/providers/zalo/index.d.ts +54 -0
- package/dist/chat/providers/zalo/index.js +158 -0
- package/dist/chat/providers/zalo-personal/index.d.ts +53 -0
- package/dist/chat/providers/zalo-personal/index.js +212 -0
- package/dist/chat/skills.d.ts +82 -0
- package/dist/chat/skills.js +410 -0
- package/dist/chat/system-prompts.d.ts +76 -0
- package/dist/chat/system-prompts.js +407 -0
- package/dist/chat/tool-handler.d.ts +57 -0
- package/dist/chat/tool-handler.js +336 -0
- package/dist/chat/tools.d.ts +373 -0
- package/dist/chat/tools.js +512 -0
- package/dist/cli/commands/agent.d.ts +3 -0
- package/dist/cli/commands/agent.js +108 -0
- package/dist/cli/commands/auth.d.ts +12 -0
- package/dist/cli/commands/auth.js +301 -0
- package/dist/cli/commands/browser.d.ts +3 -0
- package/dist/cli/commands/browser.js +138 -0
- package/dist/cli/commands/canvas.d.ts +3 -0
- package/dist/cli/commands/canvas.js +155 -0
- package/dist/cli/commands/channels.d.ts +3 -0
- package/dist/cli/commands/channels.js +167 -0
- package/dist/cli/commands/chat.d.ts +9 -0
- package/dist/cli/commands/chat.js +360 -0
- package/dist/cli/commands/completion.d.ts +3 -0
- package/dist/cli/commands/completion.js +170 -0
- package/dist/cli/commands/config.d.ts +3 -0
- package/dist/cli/commands/config.js +193 -0
- package/dist/cli/commands/cost.d.ts +3 -0
- package/dist/cli/commands/cost.js +134 -0
- package/dist/cli/commands/daemon.d.ts +3 -0
- package/dist/cli/commands/daemon.js +381 -0
- package/dist/cli/commands/devices.d.ts +3 -0
- package/dist/cli/commands/devices.js +150 -0
- package/dist/cli/commands/doctor.d.ts +3 -0
- package/dist/cli/commands/doctor.js +295 -0
- package/dist/cli/commands/logs.d.ts +3 -0
- package/dist/cli/commands/logs.js +139 -0
- package/dist/cli/commands/mcp.d.ts +15 -0
- package/dist/cli/commands/mcp.js +157 -0
- package/dist/cli/commands/memory.d.ts +3 -0
- package/dist/cli/commands/memory.js +170 -0
- package/dist/cli/commands/models.d.ts +3 -0
- package/dist/cli/commands/models.js +197 -0
- package/dist/cli/commands/nodes.d.ts +3 -0
- package/dist/cli/commands/nodes.js +193 -0
- package/dist/cli/commands/onboard.d.ts +13 -0
- package/dist/cli/commands/onboard.js +360 -0
- package/dist/cli/commands/plugin.d.ts +15 -0
- package/dist/cli/commands/plugin.js +226 -0
- package/dist/cli/commands/provider.d.ts +16 -0
- package/dist/cli/commands/provider.js +320 -0
- package/dist/cli/commands/security.d.ts +3 -0
- package/dist/cli/commands/security.js +180 -0
- package/dist/cli/commands/serve.d.ts +3 -0
- package/dist/cli/commands/serve.js +179 -0
- package/dist/cli/commands/session.d.ts +3 -0
- package/dist/cli/commands/session.js +172 -0
- package/dist/cli/commands/setup.d.ts +13 -0
- package/dist/cli/commands/setup.js +636 -0
- package/dist/cli/commands/skill.d.ts +15 -0
- package/dist/cli/commands/skill.js +191 -0
- package/dist/cli/commands/status.d.ts +3 -0
- package/dist/cli/commands/status.js +71 -0
- package/dist/cli/commands/summary.d.ts +3 -0
- package/dist/cli/commands/summary.js +160 -0
- package/dist/cli/commands/task.d.ts +3 -0
- package/dist/cli/commands/task.js +170 -0
- package/dist/cli/commands/ticket.d.ts +3 -0
- package/dist/cli/commands/ticket.js +421 -0
- package/dist/cli/commands/tools.d.ts +9 -0
- package/dist/cli/commands/tools.js +508 -0
- package/dist/cli/commands/tui.d.ts +3 -0
- package/dist/cli/commands/tui.js +158 -0
- package/dist/cli/commands/tunnel.d.ts +3 -0
- package/dist/cli/commands/tunnel.js +135 -0
- package/dist/cli/commands/webhooks.d.ts +3 -0
- package/dist/cli/commands/webhooks.js +191 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.js +127 -0
- package/dist/cli/utils/api.d.ts +17 -0
- package/dist/cli/utils/api.js +63 -0
- package/dist/cli/utils/config.d.ts +31 -0
- package/dist/cli/utils/config.js +81 -0
- package/dist/cli/utils/output.d.ts +58 -0
- package/dist/cli/utils/output.js +148 -0
- package/dist/core/deployment.d.ts +30 -0
- package/dist/core/deployment.js +114 -0
- package/dist/core/sandbox-config.d.ts +63 -0
- package/dist/core/sandbox-config.js +148 -0
- package/dist/costs/budget.d.ts +28 -0
- package/dist/costs/budget.js +57 -0
- package/dist/costs/persistence.d.ts +77 -0
- package/dist/costs/persistence.js +210 -0
- package/dist/costs/pricing.d.ts +16 -0
- package/dist/costs/pricing.js +39 -0
- package/dist/costs/token-tracker.d.ts +34 -0
- package/dist/costs/token-tracker.js +141 -0
- package/dist/cron/heartbeat.d.ts +23 -0
- package/dist/cron/heartbeat.js +109 -0
- package/dist/cron/index.d.ts +22 -0
- package/dist/cron/index.js +37 -0
- package/dist/cron/issue-poller.d.ts +15 -0
- package/dist/cron/issue-poller.js +174 -0
- package/dist/cron/scheduler.d.ts +315 -0
- package/dist/cron/scheduler.js +1008 -0
- package/dist/cron/stale-checker.d.ts +16 -0
- package/dist/cron/stale-checker.js +61 -0
- package/dist/cron/templates.d.ts +107 -0
- package/dist/cron/templates.js +395 -0
- package/dist/diagnostics/exporters.d.ts +21 -0
- package/dist/diagnostics/exporters.js +138 -0
- package/dist/diagnostics/index.d.ts +10 -0
- package/dist/diagnostics/index.js +9 -0
- package/dist/diagnostics/middleware.d.ts +12 -0
- package/dist/diagnostics/middleware.js +58 -0
- package/dist/diagnostics/tracer.d.ts +133 -0
- package/dist/diagnostics/tracer.js +257 -0
- package/dist/discovery/index.d.ts +8 -0
- package/dist/discovery/index.js +7 -0
- package/dist/discovery/mdns.d.ts +40 -0
- package/dist/discovery/mdns.js +249 -0
- package/dist/gateway/index.d.ts +35 -0
- package/dist/gateway/index.js +36 -0
- package/dist/gateway/router.d.ts +110 -0
- package/dist/gateway/router.js +649 -0
- package/dist/gateway/types.d.ts +275 -0
- package/dist/gateway/types.js +2 -0
- package/dist/gateway/workflows.d.ts +37 -0
- package/dist/gateway/workflows.js +748 -0
- package/dist/hooks/agent-webhook.d.ts +277 -0
- package/dist/hooks/agent-webhook.js +197 -0
- package/dist/hooks/index.d.ts +13 -0
- package/dist/hooks/index.js +15 -0
- package/dist/hooks/prompt-submit.d.ts +45 -0
- package/dist/hooks/prompt-submit.js +111 -0
- package/dist/hooks/schemas.d.ts +563 -0
- package/dist/hooks/schemas.js +108 -0
- package/dist/hooks/session-end.d.ts +25 -0
- package/dist/hooks/session-end.js +153 -0
- package/dist/hooks/tool-use.d.ts +41 -0
- package/dist/hooks/tool-use.js +201 -0
- package/dist/hooks/types.d.ts +76 -0
- package/dist/hooks/types.js +7 -0
- package/dist/integrations/cloudflare-tunnel.d.ts +78 -0
- package/dist/integrations/cloudflare-tunnel.js +268 -0
- package/dist/integrations/github-client.d.ts +27 -0
- package/dist/integrations/github-client.js +79 -0
- package/dist/integrations/github-projects.d.ts +97 -0
- package/dist/integrations/github-projects.js +433 -0
- package/dist/integrations/github-ticket-sync.d.ts +82 -0
- package/dist/integrations/github-ticket-sync.js +352 -0
- package/dist/integrations/github.d.ts +11 -0
- package/dist/integrations/github.js +241 -0
- package/dist/integrations/jira-client.d.ts +30 -0
- package/dist/integrations/jira-client.js +67 -0
- package/dist/integrations/jira.d.ts +13 -0
- package/dist/integrations/jira.js +108 -0
- package/dist/integrations/linear-client.d.ts +23 -0
- package/dist/integrations/linear-client.js +52 -0
- package/dist/integrations/linear.d.ts +15 -0
- package/dist/integrations/linear.js +312 -0
- package/dist/integrations/tailscale.d.ts +68 -0
- package/dist/integrations/tailscale.js +173 -0
- package/dist/integrations/web-search.d.ts +112 -0
- package/dist/integrations/web-search.js +287 -0
- package/dist/intelligence/index.d.ts +8 -0
- package/dist/intelligence/index.js +8 -0
- package/dist/intelligence/ollama.d.ts +50 -0
- package/dist/intelligence/ollama.js +213 -0
- package/dist/intelligence/rules.d.ts +39 -0
- package/dist/intelligence/rules.js +308 -0
- package/dist/labels/index.d.ts +93 -0
- package/dist/labels/index.js +248 -0
- package/dist/mcp/browser-tools.d.ts +10 -0
- package/dist/mcp/browser-tools.js +16 -0
- package/dist/mcp/client.d.ts +54 -0
- package/dist/mcp/client.js +153 -0
- package/dist/mcp/index.d.ts +12 -0
- package/dist/mcp/index.js +13 -0
- package/dist/mcp/server.d.ts +40 -0
- package/dist/mcp/server.js +826 -0
- package/dist/mcp/tool-adapter.d.ts +49 -0
- package/dist/mcp/tool-adapter.js +193 -0
- package/dist/memory/experience-store.d.ts +121 -0
- package/dist/memory/experience-store.js +439 -0
- package/dist/memory/index.d.ts +8 -0
- package/dist/memory/index.js +25 -0
- package/dist/memory/memory-service.d.ts +312 -0
- package/dist/memory/memory-service.js +1172 -0
- package/dist/memory/memory-watcher.d.ts +116 -0
- package/dist/memory/memory-watcher.js +239 -0
- package/dist/middleware/logging.d.ts +34 -0
- package/dist/middleware/logging.js +184 -0
- package/dist/middleware/rate-limit.d.ts +29 -0
- package/dist/middleware/rate-limit.js +91 -0
- package/dist/notifications/in-app.d.ts +28 -0
- package/dist/notifications/in-app.js +53 -0
- package/dist/notifications/index.d.ts +3 -0
- package/dist/notifications/index.js +3 -0
- package/dist/notifications/push.d.ts +74 -0
- package/dist/notifications/push.js +175 -0
- package/dist/notifications/slack.d.ts +32 -0
- package/dist/notifications/slack.js +157 -0
- package/dist/plugins/clawhub.d.ts +70 -0
- package/dist/plugins/clawhub.js +260 -0
- package/dist/plugins/loader.d.ts +23 -0
- package/dist/plugins/loader.js +140 -0
- package/dist/plugins/marketplace.d.ts +77 -0
- package/dist/plugins/marketplace.js +275 -0
- package/dist/plugins/registry.d.ts +122 -0
- package/dist/plugins/registry.js +352 -0
- package/dist/plugins/sandbox.d.ts +77 -0
- package/dist/plugins/sandbox.js +287 -0
- package/dist/plugins/scaffolder.d.ts +28 -0
- package/dist/plugins/scaffolder.js +409 -0
- package/dist/plugins/sdk.d.ts +35 -0
- package/dist/plugins/sdk.js +8 -0
- package/dist/plugins/search/brave.d.ts +9 -0
- package/dist/plugins/search/brave.js +157 -0
- package/dist/plugins/search/duckduckgo.d.ts +9 -0
- package/dist/plugins/search/duckduckgo.js +171 -0
- package/dist/plugins/search/index.d.ts +13 -0
- package/dist/plugins/search/index.js +23 -0
- package/dist/plugins/search/searxng.d.ts +9 -0
- package/dist/plugins/search/searxng.js +170 -0
- package/dist/plugins/search/serper.d.ts +9 -0
- package/dist/plugins/search/serper.js +135 -0
- package/dist/plugins/search/tavily.d.ts +9 -0
- package/dist/plugins/search/tavily.js +146 -0
- package/dist/plugins/types.d.ts +174 -0
- package/dist/plugins/types.js +8 -0
- package/dist/projects/index.d.ts +133 -0
- package/dist/projects/index.js +897 -0
- package/dist/projects/types.d.ts +444 -0
- package/dist/projects/types.js +207 -0
- package/dist/providers/adapters/anthropic.d.ts +26 -0
- package/dist/providers/adapters/anthropic.js +306 -0
- package/dist/providers/adapters/base.d.ts +53 -0
- package/dist/providers/adapters/base.js +99 -0
- package/dist/providers/adapters/ollama.d.ts +30 -0
- package/dist/providers/adapters/ollama.js +292 -0
- package/dist/providers/ai-sdk.d.ts +178 -0
- package/dist/providers/ai-sdk.js +1552 -0
- package/dist/providers/core/index.d.ts +8 -0
- package/dist/providers/core/index.js +10 -0
- package/dist/providers/core/models.d.ts +31 -0
- package/dist/providers/core/models.js +949 -0
- package/dist/providers/core/types.d.ts +117 -0
- package/dist/providers/core/types.js +83 -0
- package/dist/providers/index.d.ts +7 -0
- package/dist/providers/index.js +7 -0
- package/dist/providers/registry.d.ts +93 -0
- package/dist/providers/registry.js +228 -0
- package/dist/providers/schema-utils.d.ts +23 -0
- package/dist/providers/schema-utils.js +545 -0
- package/dist/providers/types.d.ts +609 -0
- package/dist/providers/types.js +279 -0
- package/dist/queue/failure-handler.d.ts +93 -0
- package/dist/queue/failure-handler.js +379 -0
- package/dist/queue/index.d.ts +23 -0
- package/dist/queue/index.js +86 -0
- package/dist/queue/memory-queue.d.ts +30 -0
- package/dist/queue/memory-queue.js +429 -0
- package/dist/queue/notifications.d.ts +6 -0
- package/dist/queue/notifications.js +128 -0
- package/dist/queue/task-queue.d.ts +55 -0
- package/dist/queue/task-queue.js +518 -0
- package/dist/queue/webhook-queue.d.ts +47 -0
- package/dist/queue/webhook-queue.js +158 -0
- package/dist/routes/agents.d.ts +4 -0
- package/dist/routes/agents.js +45 -0
- package/dist/routes/auth.d.ts +19 -0
- package/dist/routes/auth.js +492 -0
- package/dist/routes/backup.d.ts +6 -0
- package/dist/routes/backup.js +71 -0
- package/dist/routes/chat.d.ts +10 -0
- package/dist/routes/chat.js +1678 -0
- package/dist/routes/clawhub.d.ts +8 -0
- package/dist/routes/clawhub.js +89 -0
- package/dist/routes/costs.d.ts +4 -0
- package/dist/routes/costs.js +78 -0
- package/dist/routes/cron.d.ts +11 -0
- package/dist/routes/cron.js +708 -0
- package/dist/routes/devices.d.ts +9 -0
- package/dist/routes/devices.js +490 -0
- package/dist/routes/discord.d.ts +15 -0
- package/dist/routes/discord.js +524 -0
- package/dist/routes/dlq.d.ts +4 -0
- package/dist/routes/dlq.js +64 -0
- package/dist/routes/gateway.d.ts +4 -0
- package/dist/routes/gateway.js +253 -0
- package/dist/routes/health.d.ts +29 -0
- package/dist/routes/health.js +296 -0
- package/dist/routes/hooks.d.ts +4 -0
- package/dist/routes/hooks.js +170 -0
- package/dist/routes/import.d.ts +9 -0
- package/dist/routes/import.js +540 -0
- package/dist/routes/index.d.ts +38 -0
- package/dist/routes/index.js +39 -0
- package/dist/routes/integrations.d.ts +10 -0
- package/dist/routes/integrations.js +200 -0
- package/dist/routes/labels.d.ts +8 -0
- package/dist/routes/labels.js +240 -0
- package/dist/routes/mcp.d.ts +14 -0
- package/dist/routes/mcp.js +125 -0
- package/dist/routes/memory.d.ts +10 -0
- package/dist/routes/memory.js +622 -0
- package/dist/routes/notifications.d.ts +9 -0
- package/dist/routes/notifications.js +154 -0
- package/dist/routes/oobe.d.ts +10 -0
- package/dist/routes/oobe.js +405 -0
- package/dist/routes/openapi.d.ts +9 -0
- package/dist/routes/openapi.js +537 -0
- package/dist/routes/plugins.d.ts +8 -0
- package/dist/routes/plugins.js +108 -0
- package/dist/routes/projects.d.ts +8 -0
- package/dist/routes/projects.js +592 -0
- package/dist/routes/push.d.ts +8 -0
- package/dist/routes/push.js +75 -0
- package/dist/routes/search.d.ts +4 -0
- package/dist/routes/search.js +189 -0
- package/dist/routes/security.d.ts +10 -0
- package/dist/routes/security.js +189 -0
- package/dist/routes/settings.d.ts +4 -0
- package/dist/routes/settings.js +119 -0
- package/dist/routes/setup.d.ts +11 -0
- package/dist/routes/setup.js +525 -0
- package/dist/routes/skills.d.ts +13 -0
- package/dist/routes/skills.js +152 -0
- package/dist/routes/slack.d.ts +12 -0
- package/dist/routes/slack.js +999 -0
- package/dist/routes/states.d.ts +8 -0
- package/dist/routes/states.js +123 -0
- package/dist/routes/stats.d.ts +6 -0
- package/dist/routes/stats.js +369 -0
- package/dist/routes/summaries.d.ts +4 -0
- package/dist/routes/summaries.js +344 -0
- package/dist/routes/sync.d.ts +13 -0
- package/dist/routes/sync.js +268 -0
- package/dist/routes/tasks.d.ts +4 -0
- package/dist/routes/tasks.js +473 -0
- package/dist/routes/telegram.d.ts +14 -0
- package/dist/routes/telegram.js +420 -0
- package/dist/routes/tickets.d.ts +4 -0
- package/dist/routes/tickets.js +1090 -0
- package/dist/routes/tokens.d.ts +4 -0
- package/dist/routes/tokens.js +83 -0
- package/dist/routes/tools.d.ts +14 -0
- package/dist/routes/tools.js +790 -0
- package/dist/routes/tunnels.d.ts +8 -0
- package/dist/routes/tunnels.js +145 -0
- package/dist/routes/users.d.ts +15 -0
- package/dist/routes/users.js +998 -0
- package/dist/routes/voice.d.ts +8 -0
- package/dist/routes/voice.js +127 -0
- package/dist/routes/webchat.d.ts +11 -0
- package/dist/routes/webchat.js +173 -0
- package/dist/routes/webhook-dedup.d.ts +11 -0
- package/dist/routes/webhook-dedup.js +49 -0
- package/dist/routes/webhooks.d.ts +4 -0
- package/dist/routes/webhooks.js +71 -0
- package/dist/routes/whatsapp.d.ts +14 -0
- package/dist/routes/whatsapp.js +391 -0
- package/dist/security/audit-scanner.d.ts +32 -0
- package/dist/security/audit-scanner.js +217 -0
- package/dist/security/fs-guard.d.ts +41 -0
- package/dist/security/fs-guard.js +206 -0
- package/dist/security/prompt-guard.d.ts +47 -0
- package/dist/security/prompt-guard.js +198 -0
- package/dist/security/ssrf-guard.d.ts +38 -0
- package/dist/security/ssrf-guard.js +266 -0
- package/dist/security/types.d.ts +92 -0
- package/dist/security/types.js +8 -0
- package/dist/server/route-loader.d.ts +15 -0
- package/dist/server/route-loader.js +135 -0
- package/dist/server.d.ts +5 -0
- package/dist/server.js +835 -0
- package/dist/settings/index.d.ts +841 -0
- package/dist/settings/index.js +451 -0
- package/dist/skills/compiler.d.ts +83 -0
- package/dist/skills/compiler.js +358 -0
- package/dist/skills/frontmatter.d.ts +33 -0
- package/dist/skills/frontmatter.js +175 -0
- package/dist/skills/index.d.ts +19 -0
- package/dist/skills/index.js +24 -0
- package/dist/skills/installer.d.ts +22 -0
- package/dist/skills/installer.js +220 -0
- package/dist/skills/loader.d.ts +72 -0
- package/dist/skills/loader.js +484 -0
- package/dist/skills/prompt-builder.d.ts +48 -0
- package/dist/skills/prompt-builder.js +135 -0
- package/dist/skills/registry.d.ts +115 -0
- package/dist/skills/registry.js +225 -0
- package/dist/skills/types.d.ts +202 -0
- package/dist/skills/types.js +24 -0
- package/dist/states/index.d.ts +64 -0
- package/dist/states/index.js +142 -0
- package/dist/storage/adapter.d.ts +146 -0
- package/dist/storage/adapter.js +2 -0
- package/dist/storage/index.d.ts +48 -0
- package/dist/storage/index.js +135 -0
- package/dist/storage/libsql.d.ts +99 -0
- package/dist/storage/libsql.js +1873 -0
- package/dist/storage/migrations.d.ts +65 -0
- package/dist/storage/migrations.js +289 -0
- package/dist/storage/schema.d.ts +10185 -0
- package/dist/storage/schema.js +1113 -0
- package/dist/summaries/extractor.d.ts +56 -0
- package/dist/summaries/extractor.js +377 -0
- package/dist/summaries/index.d.ts +13 -0
- package/dist/summaries/index.js +14 -0
- package/dist/summaries/storage.d.ts +51 -0
- package/dist/summaries/storage.js +101 -0
- package/dist/summaries/templates.d.ts +68 -0
- package/dist/summaries/templates.js +245 -0
- package/dist/sync/adapters/base.d.ts +42 -0
- package/dist/sync/adapters/base.js +142 -0
- package/dist/sync/adapters/github.d.ts +45 -0
- package/dist/sync/adapters/github.js +445 -0
- package/dist/sync/adapters/linear.d.ts +40 -0
- package/dist/sync/adapters/linear.js +434 -0
- package/dist/sync/config.d.ts +388 -0
- package/dist/sync/config.js +281 -0
- package/dist/sync/engine.d.ts +112 -0
- package/dist/sync/engine.js +623 -0
- package/dist/sync/index.d.ts +31 -0
- package/dist/sync/index.js +34 -0
- package/dist/sync/integration.d.ts +53 -0
- package/dist/sync/integration.js +231 -0
- package/dist/sync/types.d.ts +249 -0
- package/dist/sync/types.js +30 -0
- package/dist/tickets/index.d.ts +139 -0
- package/dist/tickets/index.js +1406 -0
- package/dist/tickets/types.d.ts +817 -0
- package/dist/tickets/types.js +310 -0
- package/dist/tools/adapters.d.ts +56 -0
- package/dist/tools/adapters.js +183 -0
- package/dist/tools/index.d.ts +66 -0
- package/dist/tools/index.js +105 -0
- package/dist/tools/types.d.ts +117 -0
- package/dist/tools/types.js +20 -0
- package/dist/types/agent.d.ts +101 -0
- package/dist/types/agent.js +2 -0
- package/dist/types/errors.d.ts +150 -0
- package/dist/types/errors.js +338 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.js +3 -0
- package/dist/types/summary.d.ts +638 -0
- package/dist/types/summary.js +137 -0
- package/dist/types/task.d.ts +123 -0
- package/dist/types/task.js +46 -0
- package/dist/utils/ai-cache.d.ts +72 -0
- package/dist/utils/ai-cache.js +204 -0
- package/dist/utils/ai-inference.d.ts +57 -0
- package/dist/utils/ai-inference.js +190 -0
- package/dist/utils/ai-responder.d.ts +44 -0
- package/dist/utils/ai-responder.js +272 -0
- package/dist/utils/circuit-breaker.d.ts +139 -0
- package/dist/utils/circuit-breaker.js +281 -0
- package/dist/utils/config-loader.d.ts +12 -0
- package/dist/utils/config-loader.js +44 -0
- package/dist/utils/crypto.d.ts +10 -0
- package/dist/utils/crypto.js +59 -0
- package/dist/utils/env-validator.d.ts +44 -0
- package/dist/utils/env-validator.js +236 -0
- package/dist/utils/file-lock.d.ts +85 -0
- package/dist/utils/file-lock.js +204 -0
- package/dist/utils/logger.d.ts +153 -0
- package/dist/utils/logger.js +282 -0
- package/dist/utils/metrics.d.ts +183 -0
- package/dist/utils/metrics.js +345 -0
- package/dist/utils/security.d.ts +90 -0
- package/dist/utils/security.js +347 -0
- package/dist/voice/index.d.ts +79 -0
- package/dist/voice/index.js +144 -0
- package/dist/voice/stt/whisper.d.ts +13 -0
- package/dist/voice/stt/whisper.js +116 -0
- package/dist/voice/tts/elevenlabs.d.ts +18 -0
- package/dist/voice/tts/elevenlabs.js +178 -0
- package/dist/voice/tts/openai-tts.d.ts +19 -0
- package/dist/voice/tts/openai-tts.js +127 -0
- package/dist/voice/tts/system.d.ts +26 -0
- package/dist/voice/tts/system.js +146 -0
- package/dist/voice/wake-word.d.ts +44 -0
- package/dist/voice/wake-word.js +145 -0
- package/docker-compose.yml +222 -0
- package/package.json +154 -0
- package/profclaw.mjs +24 -0
- package/skills/1password/SKILL.md +155 -0
- package/skills/api-tester/SKILL.md +177 -0
- package/skills/apple-notes/SKILL.md +167 -0
- package/skills/apple-reminders/SKILL.md +178 -0
- package/skills/bear-notes/SKILL.md +166 -0
- package/skills/blogwatcher/SKILL.md +177 -0
- package/skills/camsnap/SKILL.md +130 -0
- package/skills/code-generation/SKILL.md +139 -0
- package/skills/code-review/SKILL.md +116 -0
- package/skills/coding-agent/SKILL.md +184 -0
- package/skills/cron-manager/SKILL.md +141 -0
- package/skills/debug-helper/SKILL.md +134 -0
- package/skills/docker-ops/SKILL.md +246 -0
- package/skills/file-manager/SKILL.md +160 -0
- package/skills/git-workflow/SKILL.md +171 -0
- package/skills/github-issues/SKILL.md +244 -0
- package/skills/gog/SKILL.md +191 -0
- package/skills/goplaces/SKILL.md +156 -0
- package/skills/healthcheck/SKILL.md +270 -0
- package/skills/himalaya/SKILL.md +165 -0
- package/skills/mcp-discovery/SKILL.md +109 -0
- package/skills/memory-manager/SKILL.md +151 -0
- package/skills/model-usage/SKILL.md +177 -0
- package/skills/nano-banana-pro/SKILL.md +214 -0
- package/skills/nano-pdf/SKILL.md +165 -0
- package/skills/notion/SKILL.md +147 -0
- package/skills/obsidian/SKILL.md +163 -0
- package/skills/openai-image-gen/SKILL.md +194 -0
- package/skills/openai-whisper/SKILL.md +98 -0
- package/skills/openai-whisper-api/SKILL.md +130 -0
- package/skills/openhue/SKILL.md +203 -0
- package/skills/oracle/SKILL.md +236 -0
- package/skills/phone-control/SKILL.md +201 -0
- package/skills/profclaw-assistant/SKILL.md +81 -0
- package/skills/profclaw-projects/SKILL.md +68 -0
- package/skills/profclaw-tickets/SKILL.md +91 -0
- package/skills/session-logs/SKILL.md +216 -0
- package/skills/sherpa-onnx-tts/SKILL.md +134 -0
- package/skills/skill-creator/SKILL.md +183 -0
- package/skills/songsee/SKILL.md +170 -0
- package/skills/spotify-player/SKILL.md +254 -0
- package/skills/summarize/SKILL.md +155 -0
- package/skills/system-admin/SKILL.md +179 -0
- package/skills/things-mac/SKILL.md +179 -0
- package/skills/tmux/SKILL.md +170 -0
- package/skills/trello/SKILL.md +154 -0
- package/skills/video-frames/SKILL.md +127 -0
- package/skills/weather/SKILL.md +186 -0
- package/skills/web-research/SKILL.md +128 -0
- package/skills/xurl/SKILL.md +198 -0
- package/ui/README.md +73 -0
- package/ui/dist/assets/ActivityView-CkPgKhwm.js +1 -0
- package/ui/dist/assets/AgentList-C3SVdeEz.js +1 -0
- package/ui/dist/assets/AnalyticsDashboard-DVU--vlP.js +1 -0
- package/ui/dist/assets/AreaChart-B5qMEGWj.js +1 -0
- package/ui/dist/assets/CartesianChart-B50bcUJi.js +36 -0
- package/ui/dist/assets/ChatView-BZFJs7w_.js +10 -0
- package/ui/dist/assets/CostsDashboard-ChfH8BlG.js +1 -0
- package/ui/dist/assets/EstimateSelect-CLpB4NQO.js +1 -0
- package/ui/dist/assets/FloatingChatbot-CBzBY9a0.js +2 -0
- package/ui/dist/assets/InviteCodeManagement-DsbdPa6W.js +2 -0
- package/ui/dist/assets/ProjectDetail-BEM3tFXg.js +2 -0
- package/ui/dist/assets/ProjectDetail-D1-0B2xV.css +1 -0
- package/ui/dist/assets/ProjectIcon-CN1FmFAk.js +1 -0
- package/ui/dist/assets/ProjectList-DSDaNhxQ.js +4 -0
- package/ui/dist/assets/Settings-dPVcqC_d.js +6 -0
- package/ui/dist/assets/StatusIndicator-DA3NAo_b.js +1 -0
- package/ui/dist/assets/SummaryDetail-Bjnf9lT8.js +27 -0
- package/ui/dist/assets/SummaryList-ENwKDBKW.js +1 -0
- package/ui/dist/assets/TaskDetail-DnwG6MzB.js +1 -0
- package/ui/dist/assets/TaskList-D9Ug_HiV.js +1 -0
- package/ui/dist/assets/TicketBoard-CviH1571.js +1 -0
- package/ui/dist/assets/TicketDetail-8Jk8O-33.js +1 -0
- package/ui/dist/assets/TicketList-B-iV4rRA.js +1 -0
- package/ui/dist/assets/UserManagement-CPZ8s7s2.js +2 -0
- package/ui/dist/assets/ViewSwitcher-BUyOOWDI.js +1 -0
- package/ui/dist/assets/alert-dialog-BOmnTkN-.js +7 -0
- package/ui/dist/assets/archive-D5my9zOG.js +1 -0
- package/ui/dist/assets/badge-B4ov81_m.js +1 -0
- package/ui/dist/assets/brain-C53ElFLD.js +1 -0
- package/ui/dist/assets/bug-D0TJoCYn.js +1 -0
- package/ui/dist/assets/calendar-BkWIhKa1.js +1 -0
- package/ui/dist/assets/chevron-up-BRTtndUZ.js +1 -0
- package/ui/dist/assets/circle-x-BN89YhbS.js +1 -0
- package/ui/dist/assets/constants-fc7TFI7u.js +1 -0
- package/ui/dist/assets/cpu-B41x1-vV.js +1 -0
- package/ui/dist/assets/database-D9Cnfmzj.js +1 -0
- package/ui/dist/assets/defineProperty-CoXUr7_6.js +2 -0
- package/ui/dist/assets/dialog-DrWB4EYD.js +1 -0
- package/ui/dist/assets/element-adapter-DL0DQilL.js +4 -0
- package/ui/dist/assets/ellipsis-NuUWekvu.js +1 -0
- package/ui/dist/assets/ellipsis-vertical-BueMfuCw.js +1 -0
- package/ui/dist/assets/file-code-HR9829Jc.js +1 -0
- package/ui/dist/assets/folder-open-C_7oYEqe.js +1 -0
- package/ui/dist/assets/funnel-B5gmNXGf.js +1 -0
- package/ui/dist/assets/git-branch-BRMiJmV3.js +1 -0
- package/ui/dist/assets/git-commit-horizontal-CXOUQeJI.js +1 -0
- package/ui/dist/assets/globe-CCspjvus.js +1 -0
- package/ui/dist/assets/hash-g3102kPC.js +1 -0
- package/ui/dist/assets/history-CNqcBBrV.js +1 -0
- package/ui/dist/assets/index-27mTPKuh.js +1 -0
- package/ui/dist/assets/index-BMx3fH-e.js +1 -0
- package/ui/dist/assets/index-C9jNQXzL.js +1 -0
- package/ui/dist/assets/index-CEZ6R2Uw.js +7 -0
- package/ui/dist/assets/index-DURTouJI.js +1 -0
- package/ui/dist/assets/index-WclMPci1.css +1 -0
- package/ui/dist/assets/index-kb4AJXUB.js +67 -0
- package/ui/dist/assets/layers-CLXiHN6o.js +1 -0
- package/ui/dist/assets/layout-dashboard-B07MFhBs.js +1 -0
- package/ui/dist/assets/lightbulb-B2dgG5ks.js +1 -0
- package/ui/dist/assets/link-2-BxNmr9hL.js +1 -0
- package/ui/dist/assets/markdown-renderer-CjU6hBcW.js +36 -0
- package/ui/dist/assets/message-square-Bf2-CVbt.js +1 -0
- package/ui/dist/assets/pencil-D096Ey62.js +1 -0
- package/ui/dist/assets/play-DfdcSI3x.js +1 -0
- package/ui/dist/assets/popover-BV0QJDQq.js +1 -0
- package/ui/dist/assets/progress-DjPEDJfI.js +1 -0
- package/ui/dist/assets/rocket-CPsTc-5G.js +1 -0
- package/ui/dist/assets/select-LsO16slr.js +1 -0
- package/ui/dist/assets/send-BDYBZDUZ.js +1 -0
- package/ui/dist/assets/server-B3k6noce.js +1 -0
- package/ui/dist/assets/settings-2-Cu4xTjhG.js +1 -0
- package/ui/dist/assets/sheet-BScLnPKX.js +1 -0
- package/ui/dist/assets/shield-check-CQqkwufI.js +1 -0
- package/ui/dist/assets/shield-off-ZFruH9KO.js +1 -0
- package/ui/dist/assets/skeleton-CtkIA_MU.js +1 -0
- package/ui/dist/assets/smartphone-DnoksVkc.js +1 -0
- package/ui/dist/assets/square-uD9ZHMfW.js +1 -0
- package/ui/dist/assets/switch-MQPnwGJK.js +1 -0
- package/ui/dist/assets/table-B8cqlywA.js +1 -0
- package/ui/dist/assets/tag-wEJQRWlV.js +1 -0
- package/ui/dist/assets/textarea-D5LJCOGl.js +1 -0
- package/ui/dist/assets/timer-mbGHegmr.js +1 -0
- package/ui/dist/assets/tooltip-Df1CunSp.js +1 -0
- package/ui/dist/assets/trash-2-B4oAXsX-.js +1 -0
- package/ui/dist/assets/trending-up-BGWxvlmZ.js +1 -0
- package/ui/dist/assets/wand-sparkles-CZy4xvL3.js +1 -0
- package/ui/dist/assets/wrench-ByZkjO6m.js +1 -0
- package/ui/dist/audio-worklets/vad-processor.js +132 -0
- package/ui/dist/brand/profclaw-appicon-192.png +0 -0
- package/ui/dist/brand/profclaw-appicon-512.png +0 -0
- package/ui/dist/brand/profclaw-appicon-shadow.svg +51 -0
- package/ui/dist/brand/profclaw-appicon.svg +50 -0
- package/ui/dist/brand/profclaw-favicon-coral-bg-128.png +0 -0
- package/ui/dist/brand/profclaw-favicon-coral-bg-64.png +0 -0
- package/ui/dist/brand/profclaw-favicon-coral-bg.svg +52 -0
- package/ui/dist/brand/profclaw-favicon-coral-body-128.png +0 -0
- package/ui/dist/brand/profclaw-favicon-coral-body.svg +41 -0
- package/ui/dist/brand/profclaw-favicon-shadow-128.png +0 -0
- package/ui/dist/brand/profclaw-favicon-shadow-64.png +0 -0
- package/ui/dist/brand/profclaw-favicon-shadow.svg +51 -0
- package/ui/dist/brand/profclaw-mark-coral-256.png +0 -0
- package/ui/dist/brand/profclaw-mark-coral-64.png +0 -0
- package/ui/dist/brand/profclaw-mark-coral.svg +31 -0
- package/ui/dist/brand/profclaw-mono-white.svg +18 -0
- package/ui/dist/brand/profclaw-text-dark.svg +18 -0
- package/ui/dist/brand/profclaw-text-light.svg +18 -0
- package/ui/dist/brand/profclaw-wordmark-dark.svg +48 -0
- package/ui/dist/brand/profclaw-wordmark-light.svg +48 -0
- package/ui/dist/brand/safari-pinned-tab.svg +15 -0
- package/ui/dist/favicon/android-chrome-192x192.png +0 -0
- package/ui/dist/favicon/android-chrome-384x384.png +0 -0
- package/ui/dist/favicon/android-chrome-512x512.png +0 -0
- package/ui/dist/favicon/apple-touch-icon.png +0 -0
- package/ui/dist/favicon/browserconfig.xml +9 -0
- package/ui/dist/favicon/favicon-16x16.png +0 -0
- package/ui/dist/favicon/favicon-32x32.png +0 -0
- package/ui/dist/favicon/favicon.ico +0 -0
- package/ui/dist/favicon/mstile-150x150.png +0 -0
- package/ui/dist/favicon/safari-pinned-tab.svg +46 -0
- package/ui/dist/favicon/site.webmanifest +22 -0
- package/ui/dist/index.html +32 -0
- package/ui/dist/manifest.json +49 -0
- package/ui/dist/sw.js +124 -0
- package/ui/dist/vite.svg +1 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: himalaya
|
|
3
|
+
description: Read, send, and manage email via the himalaya CLI. Supports IMAP/SMTP and works with any email provider.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
metadata: {"profclaw": {"emoji": "📧", "category": "productivity", "priority": 60, "triggerPatterns": ["email", "check email", "send email", "inbox", "read mail", "compose email", "email subject", "unread emails"]}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Himalaya Email
|
|
9
|
+
|
|
10
|
+
You are an email assistant using the himalaya CLI. When users need to read, send, search, or manage email, you use himalaya commands and present the output clearly.
|
|
11
|
+
|
|
12
|
+
## What This Skill Does
|
|
13
|
+
|
|
14
|
+
- Lists inbox messages and unread counts
|
|
15
|
+
- Reads full email content
|
|
16
|
+
- Sends emails (plain text and HTML)
|
|
17
|
+
- Searches emails by sender, subject, or date
|
|
18
|
+
- Manages folders and flags (read, starred, deleted)
|
|
19
|
+
- Works with Gmail, Outlook, Fastmail, and any IMAP server
|
|
20
|
+
|
|
21
|
+
## Checking himalaya is Available
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
which himalaya && himalaya --version
|
|
25
|
+
# Install: brew install himalaya (macOS)
|
|
26
|
+
# Or: cargo install himalaya
|
|
27
|
+
# Or: https://github.com/pimalaya/himalaya/releases
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Listing the Inbox
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# List latest 20 messages in inbox
|
|
34
|
+
himalaya list
|
|
35
|
+
|
|
36
|
+
# List with more messages
|
|
37
|
+
himalaya list --max-width 80 -s 50
|
|
38
|
+
|
|
39
|
+
# List a specific folder
|
|
40
|
+
himalaya list --folder Sent
|
|
41
|
+
himalaya list --folder "INBOX.Work"
|
|
42
|
+
|
|
43
|
+
# List unread only (using search)
|
|
44
|
+
himalaya search 'UNSEEN'
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Reading an Email
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Read by message ID (shown in list output)
|
|
51
|
+
himalaya read <id>
|
|
52
|
+
|
|
53
|
+
# Read and mark as read
|
|
54
|
+
himalaya read <id>
|
|
55
|
+
|
|
56
|
+
# Read raw/source
|
|
57
|
+
himalaya read <id> --raw
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Searching Emails
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Search by subject
|
|
64
|
+
himalaya search 'SUBJECT "invoice"'
|
|
65
|
+
|
|
66
|
+
# Search from a sender
|
|
67
|
+
himalaya search 'FROM "boss@company.com"'
|
|
68
|
+
|
|
69
|
+
# Search recent unread
|
|
70
|
+
himalaya search 'UNSEEN SINCE 01-Jan-2026'
|
|
71
|
+
|
|
72
|
+
# Search by keyword in body
|
|
73
|
+
himalaya search 'BODY "meeting tomorrow"'
|
|
74
|
+
|
|
75
|
+
# Combined search
|
|
76
|
+
himalaya search 'UNSEEN FROM "notifications@github.com"'
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Sending an Email
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Open interactive compose (uses $EDITOR)
|
|
83
|
+
himalaya write
|
|
84
|
+
|
|
85
|
+
# Send directly via stdin
|
|
86
|
+
echo "Hi team,
|
|
87
|
+
|
|
88
|
+
The deployment is complete.
|
|
89
|
+
|
|
90
|
+
Regards" | himalaya send \
|
|
91
|
+
--to "team@company.com" \
|
|
92
|
+
--subject "Deployment Done"
|
|
93
|
+
|
|
94
|
+
# Send with CC
|
|
95
|
+
himalaya send \
|
|
96
|
+
--to "alice@example.com" \
|
|
97
|
+
--cc "bob@example.com" \
|
|
98
|
+
--subject "Meeting Notes" < notes.txt
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Replying and Forwarding
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Reply to a message (opens in $EDITOR)
|
|
105
|
+
himalaya reply <id>
|
|
106
|
+
|
|
107
|
+
# Reply all
|
|
108
|
+
himalaya reply --all <id>
|
|
109
|
+
|
|
110
|
+
# Forward a message
|
|
111
|
+
himalaya forward <id>
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Managing Messages
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Move to a folder
|
|
118
|
+
himalaya move <id> Archive
|
|
119
|
+
|
|
120
|
+
# Delete a message
|
|
121
|
+
himalaya delete <id>
|
|
122
|
+
|
|
123
|
+
# Copy to a folder
|
|
124
|
+
himalaya copy <id> "Project Alpha"
|
|
125
|
+
|
|
126
|
+
# Add/remove flags
|
|
127
|
+
himalaya flag add <id> seen
|
|
128
|
+
himalaya flag remove <id> flagged
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Listing Folders
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
himalaya folder list
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Example Interactions
|
|
138
|
+
|
|
139
|
+
**User**: Check my inbox
|
|
140
|
+
**You**: *(runs `himalaya list`, formats output with sender, subject, date, unread count)*
|
|
141
|
+
|
|
142
|
+
**User**: Any emails from Sarah today?
|
|
143
|
+
**You**: *(runs `himalaya search 'FROM "sarah" SINCE <today>'`, shows results)*
|
|
144
|
+
|
|
145
|
+
**User**: Send a quick update to the team
|
|
146
|
+
**You**: *(asks for recipient/subject/body if not provided, pipes content to `himalaya send`)*
|
|
147
|
+
|
|
148
|
+
**User**: Read email number 42
|
|
149
|
+
**You**: *(runs `himalaya read 42`, formats and presents the full email content)*
|
|
150
|
+
|
|
151
|
+
## Safety Rules
|
|
152
|
+
|
|
153
|
+
- **Never** send an email without confirming recipient, subject, and body with the user
|
|
154
|
+
- **Never** delete emails without explicit confirmation
|
|
155
|
+
- **Always** show a preview before sending ("Send this email? (yes/no)")
|
|
156
|
+
- **Mask** SMTP passwords if they appear in error output
|
|
157
|
+
- **Warn** before bulk operations (delete multiple, move multiple)
|
|
158
|
+
|
|
159
|
+
## Best Practices
|
|
160
|
+
|
|
161
|
+
1. Always confirm send details before executing `himalaya send`
|
|
162
|
+
2. Use `himalaya search` instead of `list` for targeted lookups
|
|
163
|
+
3. Summarize long emails rather than dumping full content
|
|
164
|
+
4. For long threads, show only the most recent message unless asked for all
|
|
165
|
+
5. Format date/time in a human-readable way when displaying message lists
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mcp-discovery
|
|
3
|
+
description: Discover and use MCP servers for external platform integration (GitHub, Jira, Linear, etc.)
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
metadata: {"profclaw": {"emoji": "🔌", "category": "integration", "priority": 80, "always": true}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# MCP Server Discovery & Integration
|
|
9
|
+
|
|
10
|
+
profClaw can connect to MCP (Model Context Protocol) servers that provide access to external platforms like GitHub, Jira, Linear, and more. This skill teaches you how to discover and use these capabilities.
|
|
11
|
+
|
|
12
|
+
## What is MCP?
|
|
13
|
+
|
|
14
|
+
MCP (Model Context Protocol) is a standard for connecting AI assistants to external tools and data sources. When an MCP server is connected, its tools become available to you automatically.
|
|
15
|
+
|
|
16
|
+
## Discovering Available MCP Servers
|
|
17
|
+
|
|
18
|
+
Connected MCP servers appear in your available tools. Each MCP server provides:
|
|
19
|
+
- **Tools** - Actions you can perform (e.g., `github_create_issue`)
|
|
20
|
+
- **Resources** - Data you can read (e.g., repository files)
|
|
21
|
+
|
|
22
|
+
## Common MCP Servers
|
|
23
|
+
|
|
24
|
+
### GitHub MCP
|
|
25
|
+
When connected, provides tools like:
|
|
26
|
+
- `github_create_issue` - Create issues
|
|
27
|
+
- `github_list_issues` - List/search issues
|
|
28
|
+
- `github_create_pr` - Create pull requests
|
|
29
|
+
- `github_get_file` - Read repository files
|
|
30
|
+
- `github_search_code` - Search code
|
|
31
|
+
|
|
32
|
+
### Jira MCP
|
|
33
|
+
When connected, provides tools like:
|
|
34
|
+
- `jira_create_issue` - Create Jira issues
|
|
35
|
+
- `jira_search_issues` - Search with JQL
|
|
36
|
+
- `jira_update_issue` - Update issue fields
|
|
37
|
+
- `jira_transition_issue` - Change status
|
|
38
|
+
|
|
39
|
+
### Linear MCP
|
|
40
|
+
When connected, provides tools like:
|
|
41
|
+
- `linear_create_issue` - Create Linear issues
|
|
42
|
+
- `linear_list_issues` - List team issues
|
|
43
|
+
- `linear_update_issue` - Update issues
|
|
44
|
+
|
|
45
|
+
## Using MCP Tools
|
|
46
|
+
|
|
47
|
+
When you see MCP tools available:
|
|
48
|
+
|
|
49
|
+
1. **Check the tool description** to understand what it does
|
|
50
|
+
2. **Look at the parameters** to know what's required
|
|
51
|
+
3. **Call the tool** like any other tool
|
|
52
|
+
|
|
53
|
+
Example:
|
|
54
|
+
```
|
|
55
|
+
User: "Create a GitHub issue for the bug"
|
|
56
|
+
|
|
57
|
+
You: (seeing github_create_issue is available)
|
|
58
|
+
1. github_create_issue(
|
|
59
|
+
repo: "user/repo",
|
|
60
|
+
title: "Bug: Login not working",
|
|
61
|
+
body: "Description of the bug..."
|
|
62
|
+
)
|
|
63
|
+
2. Return: "Created GitHub issue #123"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Syncing Between Platforms
|
|
67
|
+
|
|
68
|
+
You can orchestrate between profClaw and external platforms:
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
User: "Sync this profClaw ticket to GitHub"
|
|
72
|
+
|
|
73
|
+
You:
|
|
74
|
+
1. get_ticket(ticketKey="PROFCLAW-42") → get ticket details
|
|
75
|
+
2. github_create_issue(
|
|
76
|
+
repo: "user/repo",
|
|
77
|
+
title: ticket.title,
|
|
78
|
+
body: ticket.description,
|
|
79
|
+
labels: ticket.labels
|
|
80
|
+
)
|
|
81
|
+
3. update_ticket(ticketKey="PROFCLAW-42", linkedPRs: ["#123"])
|
|
82
|
+
4. Return: "Created GitHub issue #123 and linked to PROFCLAW-42"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Dynamic Learning
|
|
86
|
+
|
|
87
|
+
If you need to interact with a platform that's not currently connected:
|
|
88
|
+
|
|
89
|
+
1. **Ask the user** if they want to add the integration
|
|
90
|
+
2. **Guide them** to configure the MCP server in settings
|
|
91
|
+
3. **Once connected**, the tools will become available
|
|
92
|
+
|
|
93
|
+
Example:
|
|
94
|
+
```
|
|
95
|
+
User: "Create a Linear issue"
|
|
96
|
+
|
|
97
|
+
You: (Linear MCP not connected)
|
|
98
|
+
"I don't have access to Linear yet. Would you like to:
|
|
99
|
+
1. Configure the Linear MCP server in Settings > Integrations
|
|
100
|
+
2. Create a profClaw ticket instead that can be synced later"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Best Practices
|
|
104
|
+
|
|
105
|
+
1. **Check what's available** - Don't assume tools exist
|
|
106
|
+
2. **Use native profClaw first** for internal tracking
|
|
107
|
+
3. **Sync to external** platforms when the user wants visibility there
|
|
108
|
+
4. **Keep links updated** - Store external IDs in profClaw tickets
|
|
109
|
+
5. **Report what you did** - Always tell the user what was created where
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memory-manager
|
|
3
|
+
description: Store, recall, and organize persistent context, preferences, and knowledge across sessions
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
metadata: {"profclaw": {"emoji": "🧠", "category": "productivity", "priority": 65, "triggerPatterns": ["remember", "recall", "what did I tell you", "store this", "save this", "forget", "my preferences", "context", "note that", "keep in mind"]}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Memory Manager
|
|
9
|
+
|
|
10
|
+
You are a persistent memory assistant. When users want to save information, recall previous context, or organize knowledge, you store and retrieve that information using available memory tools, keeping context structured and searchable.
|
|
11
|
+
|
|
12
|
+
## What This Skill Does
|
|
13
|
+
|
|
14
|
+
- Stores user preferences, decisions, and context for future sessions
|
|
15
|
+
- Recalls previously stored information on request
|
|
16
|
+
- Organizes memory into categories for easy retrieval
|
|
17
|
+
- Removes outdated or unwanted memories
|
|
18
|
+
- Surfaces relevant stored context proactively when it applies
|
|
19
|
+
|
|
20
|
+
## Memory Categories
|
|
21
|
+
|
|
22
|
+
Organize stored information under these categories:
|
|
23
|
+
|
|
24
|
+
| Category | What goes here |
|
|
25
|
+
|----------|---------------|
|
|
26
|
+
| `preferences` | How the user likes things done (tone, format, defaults) |
|
|
27
|
+
| `decisions` | Architectural or technical choices made and why |
|
|
28
|
+
| `context` | Project-specific facts, conventions, team info |
|
|
29
|
+
| `tasks` | Ongoing work items not tracked in tickets |
|
|
30
|
+
| `notes` | Freeform reference information |
|
|
31
|
+
| `credentials-hint` | Where to find credentials (never store actual secrets) |
|
|
32
|
+
|
|
33
|
+
## How to Execute Memory Operations
|
|
34
|
+
|
|
35
|
+
### Storing a Memory
|
|
36
|
+
|
|
37
|
+
When a user says "remember that..." or "note that..." or "save this":
|
|
38
|
+
|
|
39
|
+
1. Extract the key fact to store
|
|
40
|
+
2. Categorize it
|
|
41
|
+
3. Store with a clear, searchable key
|
|
42
|
+
4. Confirm what was saved
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
User: "Remember that we use port 9100 for the backend in all environments"
|
|
46
|
+
|
|
47
|
+
You:
|
|
48
|
+
save_memory(
|
|
49
|
+
key: "backend-port",
|
|
50
|
+
category: "context",
|
|
51
|
+
value: "Backend runs on port 9100 in all environments",
|
|
52
|
+
tags: ["backend", "networking", "configuration"]
|
|
53
|
+
)
|
|
54
|
+
→ "Got it — I'll remember that the backend port is 9100."
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Recalling a Memory
|
|
58
|
+
|
|
59
|
+
When a user asks "what did I tell you about X" or "do you remember Y":
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
recall_memory(query: "backend port")
|
|
63
|
+
→ Return the stored value with context about when it was saved
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
If no exact match, do a fuzzy search:
|
|
67
|
+
```
|
|
68
|
+
search_memories(query: "port configuration")
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Listing All Memories
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
User: "What do you know about me / this project?"
|
|
75
|
+
|
|
76
|
+
list_memories(category: "context") # or all categories
|
|
77
|
+
→ Present as grouped, readable list
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Updating a Memory
|
|
81
|
+
|
|
82
|
+
When stored information changes:
|
|
83
|
+
```
|
|
84
|
+
User: "Actually the backend moved to port 9200"
|
|
85
|
+
|
|
86
|
+
update_memory(key: "backend-port", value: "Backend runs on port 9200 in all environments")
|
|
87
|
+
→ "Updated — backend port is now 9200."
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Forgetting a Memory
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
User: "Forget what I said about the old API endpoint"
|
|
94
|
+
|
|
95
|
+
delete_memory(key: "old-api-endpoint")
|
|
96
|
+
→ "Done — I've removed that from memory."
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Proactive Memory Use
|
|
100
|
+
|
|
101
|
+
If you have stored context that's relevant to the current request, surface it:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
User: "Create a ticket for the auth bug"
|
|
105
|
+
You: (sees stored memory: "We use PROJ-xxx format for ticket IDs")
|
|
106
|
+
→ Applies the stored preference automatically without asking
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Memory Storage Format
|
|
110
|
+
|
|
111
|
+
Each memory entry should include:
|
|
112
|
+
- `key`: Short, kebab-case identifier (`backend-port`, `deploy-command`)
|
|
113
|
+
- `category`: One of the categories above
|
|
114
|
+
- `value`: The actual information to store
|
|
115
|
+
- `tags`: Array of searchable keywords
|
|
116
|
+
- `created`: Timestamp (set automatically)
|
|
117
|
+
- `source`: Brief note of where this came from (e.g., "user stated", "inferred from code")
|
|
118
|
+
|
|
119
|
+
## Handling Sensitive Information
|
|
120
|
+
|
|
121
|
+
**Never store**:
|
|
122
|
+
- Passwords, API keys, tokens, or secrets
|
|
123
|
+
- PII (full names + contact details together)
|
|
124
|
+
- Content the user explicitly says is confidential
|
|
125
|
+
|
|
126
|
+
If asked to store a secret, respond:
|
|
127
|
+
"I can note where to find that (e.g., 'API key is in .env under OPENAI_KEY') but I shouldn't store the value itself for security."
|
|
128
|
+
|
|
129
|
+
## Example Interactions
|
|
130
|
+
|
|
131
|
+
**User**: Remember that I prefer responses in bullet points, not paragraphs
|
|
132
|
+
**You**: *(saves preference)* Noted — I'll use bullet points in future responses.
|
|
133
|
+
|
|
134
|
+
**User**: What do you know about this project?
|
|
135
|
+
**You**: *(lists all context memories)* Here's what I have stored about this project: [grouped list]
|
|
136
|
+
|
|
137
|
+
**User**: Forget all my old preferences, I want to start fresh
|
|
138
|
+
**You**: "I have 4 stored preferences. Should I delete all of them? (yes/no)" *(waits for confirmation, then bulk deletes)*
|
|
139
|
+
|
|
140
|
+
**User**: Note that the team standup is every Tuesday at 10am EST
|
|
141
|
+
**You**: *(saves under category: context, tags: team, schedule)* Saved — standup is Tuesdays at 10 AM EST.
|
|
142
|
+
|
|
143
|
+
## Best Practices
|
|
144
|
+
|
|
145
|
+
1. **Confirm saves** — always acknowledge what was stored
|
|
146
|
+
2. **Infer categories** — don't ask the user to categorize, do it yourself
|
|
147
|
+
3. **Deduplicate** — check if a similar memory exists before creating a new one
|
|
148
|
+
4. **Surface proactively** — if stored context is directly relevant, use it without being asked
|
|
149
|
+
5. **Never store secrets** — redirect to secure storage references only
|
|
150
|
+
6. **Keep values precise** — store the specific fact, not a vague paraphrase
|
|
151
|
+
7. **Confirm before bulk delete** — always ask before removing multiple memories
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: model-usage
|
|
3
|
+
description: Track AI model usage, token consumption, and cost estimates across sessions. Queries the profClaw cost tracking API.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
metadata: {"profclaw": {"emoji": "📊", "category": "system", "priority": 65, "triggerPatterns": ["model usage", "token usage", "ai costs", "how much spent", "usage stats", "token stats", "cost tracking", "how many tokens"]}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Model Usage
|
|
9
|
+
|
|
10
|
+
You are an AI usage and cost tracking assistant. When users want to understand how many tokens have been consumed, which models are being used, or how much has been spent, you query the profClaw cost API and present the data clearly.
|
|
11
|
+
|
|
12
|
+
## What This Skill Does
|
|
13
|
+
|
|
14
|
+
- Shows token usage by model (input/output breakdown)
|
|
15
|
+
- Calculates cost estimates based on current pricing
|
|
16
|
+
- Breaks down usage by session, provider, or time period
|
|
17
|
+
- Identifies the most expensive models and sessions
|
|
18
|
+
- Compares actual vs budget thresholds
|
|
19
|
+
|
|
20
|
+
## profClaw Cost API
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Base URL from environment
|
|
24
|
+
API_BASE="${PROFCLAW_API_URL:-http://localhost:3000}"
|
|
25
|
+
API_KEY="${PROFCLAW_API_KEY:-}"
|
|
26
|
+
|
|
27
|
+
# Auth header (if key is set)
|
|
28
|
+
AUTH_HEADER=""
|
|
29
|
+
if [ -n "$API_KEY" ]; then
|
|
30
|
+
AUTH_HEADER="-H \"Authorization: Bearer $API_KEY\""
|
|
31
|
+
fi
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Get Total Usage Summary
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
curl -s "${API_BASE}/api/stats/usage" \
|
|
38
|
+
-H "Content-Type: application/json" | \
|
|
39
|
+
python3 -c "
|
|
40
|
+
import json, sys
|
|
41
|
+
d = json.load(sys.stdin)
|
|
42
|
+
usage = d.get('usage', {})
|
|
43
|
+
print('=== Usage Summary ===')
|
|
44
|
+
print(f\"Total input tokens: {usage.get('inputTokens', 0):,}\")
|
|
45
|
+
print(f\"Total output tokens: {usage.get('outputTokens', 0):,}\")
|
|
46
|
+
print(f\"Total cost (USD): \${usage.get('totalCostUsd', 0):.4f}\")
|
|
47
|
+
print(f\"Sessions tracked: {usage.get('sessionCount', 0)}\")
|
|
48
|
+
"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Get Usage by Model
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
curl -s "${API_BASE}/api/stats/usage/by-model" | \
|
|
55
|
+
python3 -c "
|
|
56
|
+
import json, sys
|
|
57
|
+
d = json.load(sys.stdin)
|
|
58
|
+
models = d.get('models', [])
|
|
59
|
+
print(f'{'Model':<40} {'Input':>12} {'Output':>12} {'Cost':>10}')
|
|
60
|
+
print('-' * 78)
|
|
61
|
+
for m in sorted(models, key=lambda x: x.get('costUsd', 0), reverse=True):
|
|
62
|
+
name = m.get('model', 'unknown')[:38]
|
|
63
|
+
inp = m.get('inputTokens', 0)
|
|
64
|
+
out = m.get('outputTokens', 0)
|
|
65
|
+
cost = m.get('costUsd', 0)
|
|
66
|
+
print(f'{name:<40} {inp:>12,} {out:>12,} \${cost:>9.4f}')
|
|
67
|
+
"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Get Usage for a Time Period
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# Today's usage
|
|
74
|
+
curl -s "${API_BASE}/api/stats/usage?period=today" | \
|
|
75
|
+
python3 -c "
|
|
76
|
+
import json, sys
|
|
77
|
+
d = json.load(sys.stdin)
|
|
78
|
+
u = d.get('usage', {})
|
|
79
|
+
print(f\"Today: {u.get('inputTokens',0):,} in / {u.get('outputTokens',0):,} out / \${u.get('totalCostUsd',0):.4f}\")
|
|
80
|
+
"
|
|
81
|
+
|
|
82
|
+
# Last 7 days
|
|
83
|
+
curl -s "${API_BASE}/api/stats/usage?period=7d" | python3 -c "..."
|
|
84
|
+
|
|
85
|
+
# This month
|
|
86
|
+
curl -s "${API_BASE}/api/stats/usage?period=month" | python3 -c "..."
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Get Top Sessions by Cost
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
curl -s "${API_BASE}/api/stats/usage/top-sessions?limit=10" | \
|
|
93
|
+
python3 -c "
|
|
94
|
+
import json, sys
|
|
95
|
+
d = json.load(sys.stdin)
|
|
96
|
+
sessions = d.get('sessions', [])
|
|
97
|
+
print('Top 10 sessions by cost:')
|
|
98
|
+
for i, s in enumerate(sessions, 1):
|
|
99
|
+
sid = s.get('sessionId', 'unknown')[:20]
|
|
100
|
+
model = s.get('model', '')[:25]
|
|
101
|
+
cost = s.get('costUsd', 0)
|
|
102
|
+
tokens = s.get('totalTokens', 0)
|
|
103
|
+
print(f'{i:2}. {sid:<22} {model:<27} {tokens:>8,} tokens \${cost:.4f}')
|
|
104
|
+
"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Model Pricing Reference
|
|
108
|
+
|
|
109
|
+
Current rates (per 1M tokens):
|
|
110
|
+
|
|
111
|
+
| Model | Input | Output |
|
|
112
|
+
|-------|-------|--------|
|
|
113
|
+
| claude-haiku-4-5 | \$0.80 | \$4.00 |
|
|
114
|
+
| claude-sonnet-4-6 | \$3.00 | \$15.00 |
|
|
115
|
+
| claude-opus-4-6 | \$5.00 | \$25.00 |
|
|
116
|
+
| gpt-4o | \$2.50 | \$10.00 |
|
|
117
|
+
| gpt-4o-mini | \$0.15 | \$0.60 |
|
|
118
|
+
| gemini-1.5-pro | \$1.25 | \$5.00 |
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Calculate cost for known token counts
|
|
122
|
+
python3 -c "
|
|
123
|
+
input_tokens = 150000
|
|
124
|
+
output_tokens = 25000
|
|
125
|
+
input_cost_per_m = 3.00 # Sonnet input
|
|
126
|
+
output_cost_per_m = 15.00 # Sonnet output
|
|
127
|
+
cost = (input_tokens / 1_000_000 * input_cost_per_m) + \
|
|
128
|
+
(output_tokens / 1_000_000 * output_cost_per_m)
|
|
129
|
+
print(f'Estimated cost: \${cost:.4f}')
|
|
130
|
+
"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Daily/Weekly Cost Trend
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
curl -s "${API_BASE}/api/stats/usage/trend?days=7" | \
|
|
137
|
+
python3 -c "
|
|
138
|
+
import json, sys
|
|
139
|
+
d = json.load(sys.stdin)
|
|
140
|
+
days = d.get('days', [])
|
|
141
|
+
print('Daily cost trend (last 7 days):')
|
|
142
|
+
for day in days:
|
|
143
|
+
date = day.get('date', '')
|
|
144
|
+
cost = day.get('costUsd', 0)
|
|
145
|
+
bar = '#' * int(cost * 100)
|
|
146
|
+
print(f'{date}: \${cost:.4f} {bar}')
|
|
147
|
+
"
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Example Interactions
|
|
151
|
+
|
|
152
|
+
**User**: How much have I spent on AI this month?
|
|
153
|
+
**You**: *(queries /api/stats/usage?period=month, reports total cost and token counts)*
|
|
154
|
+
|
|
155
|
+
**User**: Which model am I using the most?
|
|
156
|
+
**You**: *(queries /api/stats/usage/by-model, shows ranked list by token usage)*
|
|
157
|
+
|
|
158
|
+
**User**: Show my usage stats for today
|
|
159
|
+
**You**: *(queries today period, presents input/output tokens and cost estimate)*
|
|
160
|
+
|
|
161
|
+
**User**: What are my most expensive sessions?
|
|
162
|
+
**You**: *(queries top-sessions, shows top 5 with model, token count, and cost)*
|
|
163
|
+
|
|
164
|
+
## Safety Rules
|
|
165
|
+
|
|
166
|
+
- **Never** expose raw session content when showing usage - metadata only
|
|
167
|
+
- **Mask** any API keys in error output
|
|
168
|
+
- **Warn** if daily spend exceeds \$10 (or configurable `PROFCLAW_COST_ALERT_USD`)
|
|
169
|
+
- **Note** that costs are estimates - actual billing may vary by provider
|
|
170
|
+
|
|
171
|
+
## Best Practices
|
|
172
|
+
|
|
173
|
+
1. Show both token counts and USD cost - tokens alone are hard to interpret
|
|
174
|
+
2. Format large numbers with commas for readability
|
|
175
|
+
3. Always note the time period being reported
|
|
176
|
+
4. When multiple models are used, highlight the most expensive one
|
|
177
|
+
5. Compare current period to previous period when data is available
|