@intent-systems/nexus 2026.1.5-3
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/CHANGELOG.md +222 -0
- package/LICENSE +21 -0
- package/README-header.png +0 -0
- package/README.md +462 -0
- package/dist/agents/agent-paths.js +16 -0
- package/dist/agents/agent-scope.js +44 -0
- package/dist/agents/auth-profiles.js +626 -0
- package/dist/agents/bash-process-registry.js +126 -0
- package/dist/agents/bash-tools.js +838 -0
- package/dist/agents/chutes-oauth.js +47 -0
- package/dist/agents/clawdbot-tools.js +62 -0
- package/dist/agents/context.js +34 -0
- package/dist/agents/defaults.js +6 -0
- package/dist/agents/memory-search.js +80 -0
- package/dist/agents/model-auth.js +115 -0
- package/dist/agents/model-catalog.js +55 -0
- package/dist/agents/model-fallback.js +210 -0
- package/dist/agents/model-scan.js +263 -0
- package/dist/agents/model-selection.js +152 -0
- package/dist/agents/models-config.js +171 -0
- package/dist/agents/nexus-tools.js +46 -0
- package/dist/agents/pi-embedded-block-chunker.js +188 -0
- package/dist/agents/pi-embedded-helpers.js +139 -0
- package/dist/agents/pi-embedded-runner.js +932 -0
- package/dist/agents/pi-embedded-subscribe.js +541 -0
- package/dist/agents/pi-embedded-utils.js +20 -0
- package/dist/agents/pi-embedded.js +1 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +140 -0
- package/dist/agents/pi-tool-definition-adapter.js +17 -0
- package/dist/agents/pi-tools.js +510 -0
- package/dist/agents/pi-tools.schema.js +358 -0
- package/dist/agents/sandbox-paths.js +68 -0
- package/dist/agents/sandbox.js +667 -0
- package/dist/agents/shell-utils.js +53 -0
- package/dist/agents/skill-runner.js +224 -0
- package/dist/agents/skill-state.js +164 -0
- package/dist/agents/skill-tools.js +191 -0
- package/dist/agents/skill-usage.js +43 -0
- package/dist/agents/skills-install.js +244 -0
- package/dist/agents/skills-status.js +157 -0
- package/dist/agents/skills.js +472 -0
- package/dist/agents/subagent-registry.js +321 -0
- package/dist/agents/subagent-registry.store.js +47 -0
- package/dist/agents/system-prompt.js +179 -0
- package/dist/agents/timeout.js +26 -0
- package/dist/agents/tool-display.js +155 -0
- package/dist/agents/tool-display.json +236 -0
- package/dist/agents/tool-images.js +138 -0
- package/dist/agents/tool-policy.js +87 -0
- package/dist/agents/tools/agent-step.js +41 -0
- package/dist/agents/tools/browser-tool.js +295 -0
- package/dist/agents/tools/canvas-tool.js +193 -0
- package/dist/agents/tools/common.js +88 -0
- package/dist/agents/tools/cron-tool.js +141 -0
- package/dist/agents/tools/discord-actions-guild.js +186 -0
- package/dist/agents/tools/discord-actions-messaging.js +313 -0
- package/dist/agents/tools/discord-actions-moderation.js +70 -0
- package/dist/agents/tools/discord-actions.js +56 -0
- package/dist/agents/tools/discord-schema.js +199 -0
- package/dist/agents/tools/discord-tool.js +16 -0
- package/dist/agents/tools/gateway-tool.js +46 -0
- package/dist/agents/tools/gateway.js +28 -0
- package/dist/agents/tools/image-tool.js +140 -0
- package/dist/agents/tools/memory-tool.js +92 -0
- package/dist/agents/tools/nodes-tool.js +413 -0
- package/dist/agents/tools/nodes-utils.js +92 -0
- package/dist/agents/tools/sessions-announce-target.js +35 -0
- package/dist/agents/tools/sessions-helpers.js +88 -0
- package/dist/agents/tools/sessions-history-tool.js +137 -0
- package/dist/agents/tools/sessions-list-tool.js +196 -0
- package/dist/agents/tools/sessions-send-helpers.js +103 -0
- package/dist/agents/tools/sessions-send-tool.js +371 -0
- package/dist/agents/tools/sessions-spawn-tool.js +319 -0
- package/dist/agents/tools/slack-actions.js +129 -0
- package/dist/agents/tools/slack-schema.js +59 -0
- package/dist/agents/tools/slack-tool.js +16 -0
- package/dist/agents/tools/telegram-actions.js +159 -0
- package/dist/agents/tools/telegram-schema.js +28 -0
- package/dist/agents/tools/telegram-tool.js +16 -0
- package/dist/agents/tools/whatsapp-login-tool.js +63 -0
- package/dist/agents/usage.js +58 -0
- package/dist/agents/workspace.js +264 -0
- package/dist/auto-reply/chunk.js +177 -0
- package/dist/auto-reply/command-auth.js +44 -0
- package/dist/auto-reply/command-detection.js +22 -0
- package/dist/auto-reply/envelope.js +30 -0
- package/dist/auto-reply/group-activation.js +20 -0
- package/dist/auto-reply/heartbeat.js +58 -0
- package/dist/auto-reply/model.js +22 -0
- package/dist/auto-reply/reply/abort.js +14 -0
- package/dist/auto-reply/reply/agent-runner.js +426 -0
- package/dist/auto-reply/reply/bash-command.js +314 -0
- package/dist/auto-reply/reply/block-streaming.js +34 -0
- package/dist/auto-reply/reply/body.js +29 -0
- package/dist/auto-reply/reply/commands.js +332 -0
- package/dist/auto-reply/reply/directive-handling.js +626 -0
- package/dist/auto-reply/reply/directives.js +59 -0
- package/dist/auto-reply/reply/dispatch-from-config.js +23 -0
- package/dist/auto-reply/reply/followup-runner.js +181 -0
- package/dist/auto-reply/reply/groups.js +152 -0
- package/dist/auto-reply/reply/mentions.js +64 -0
- package/dist/auto-reply/reply/model-selection.js +209 -0
- package/dist/auto-reply/reply/queue.js +399 -0
- package/dist/auto-reply/reply/reply-dispatcher.js +68 -0
- package/dist/auto-reply/reply/reply-tags.js +26 -0
- package/dist/auto-reply/reply/session-updates.js +103 -0
- package/dist/auto-reply/reply/session.js +169 -0
- package/dist/auto-reply/reply/typing.js +125 -0
- package/dist/auto-reply/reply.js +655 -0
- package/dist/auto-reply/send-policy.js +28 -0
- package/dist/auto-reply/status.js +197 -0
- package/dist/auto-reply/templating.js +9 -0
- package/dist/auto-reply/thinking.js +49 -0
- package/dist/auto-reply/tokens.js +2 -0
- package/dist/auto-reply/tool-meta.js +74 -0
- package/dist/auto-reply/transcription.js +57 -0
- package/dist/auto-reply/types.js +1 -0
- package/dist/browser/bridge-server.js +37 -0
- package/dist/browser/cdp.js +382 -0
- package/dist/browser/chrome.js +432 -0
- package/dist/browser/client-actions-core.js +67 -0
- package/dist/browser/client-actions-observe.js +24 -0
- package/dist/browser/client-actions-types.js +1 -0
- package/dist/browser/client-actions.js +3 -0
- package/dist/browser/client-fetch.js +43 -0
- package/dist/browser/client.js +105 -0
- package/dist/browser/config.js +155 -0
- package/dist/browser/constants.js +5 -0
- package/dist/browser/profiles-service.js +124 -0
- package/dist/browser/profiles.js +96 -0
- package/dist/browser/pw-ai.js +2 -0
- package/dist/browser/pw-session.js +144 -0
- package/dist/browser/pw-tools-core.js +363 -0
- package/dist/browser/routes/agent.js +535 -0
- package/dist/browser/routes/basic.js +155 -0
- package/dist/browser/routes/index.js +8 -0
- package/dist/browser/routes/tabs.js +105 -0
- package/dist/browser/routes/utils.js +62 -0
- package/dist/browser/screenshot.js +40 -0
- package/dist/browser/server-context.js +377 -0
- package/dist/browser/server.js +81 -0
- package/dist/browser/target-id.js +18 -0
- package/dist/browser/trash.js +21 -0
- package/dist/canvas-host/a2ui/a2ui.bundle.js +17768 -0
- package/dist/canvas-host/a2ui/index.html +246 -0
- package/dist/canvas-host/a2ui.js +187 -0
- package/dist/canvas-host/server.js +382 -0
- package/dist/channel-web.js +8 -0
- package/dist/cli/browser-cli-actions-input.js +459 -0
- package/dist/cli/browser-cli-actions-observe.js +56 -0
- package/dist/cli/browser-cli-examples.js +31 -0
- package/dist/cli/browser-cli-inspect.js +97 -0
- package/dist/cli/browser-cli-manage.js +286 -0
- package/dist/cli/browser-cli-shared.js +1 -0
- package/dist/cli/browser-cli.js +26 -0
- package/dist/cli/canvas-cli.js +416 -0
- package/dist/cli/cloud-cli.js +336 -0
- package/dist/cli/credential-cli.js +227 -0
- package/dist/cli/cron-cli.js +454 -0
- package/dist/cli/deps.js +17 -0
- package/dist/cli/dns-cli.js +180 -0
- package/dist/cli/gateway-cli.js +665 -0
- package/dist/cli/gateway-rpc.js +20 -0
- package/dist/cli/hooks-cli.js +135 -0
- package/dist/cli/memory-cli.js +101 -0
- package/dist/cli/models-cli.js +248 -0
- package/dist/cli/nodes-camera.js +57 -0
- package/dist/cli/nodes-canvas.js +26 -0
- package/dist/cli/nodes-cli.js +946 -0
- package/dist/cli/nodes-screen.js +37 -0
- package/dist/cli/pairing-cli.js +100 -0
- package/dist/cli/parse-duration.js +20 -0
- package/dist/cli/plugins-cli.js +158 -0
- package/dist/cli/ports.js +97 -0
- package/dist/cli/profile.js +81 -0
- package/dist/cli/program.js +162 -0
- package/dist/cli/prompt.js +19 -0
- package/dist/cli/run-main.js +48 -0
- package/dist/cli/skills-cli.js +132 -0
- package/dist/cli/skills-hub-cli.js +1093 -0
- package/dist/cli/telegram-cli.js +56 -0
- package/dist/cli/tool-connector-cli.js +118 -0
- package/dist/cli/tui-cli.js +35 -0
- package/dist/cli/upstream-sync-cli.js +2833 -0
- package/dist/cli/usage-cli.js +24 -0
- package/dist/cli/wait.js +8 -0
- package/dist/commands/agent-via-gateway.js +115 -0
- package/dist/commands/agent.js +665 -0
- package/dist/commands/antigravity-oauth.js +327 -0
- package/dist/commands/auth-choice-options.js +80 -0
- package/dist/commands/auth-choice.js +134 -0
- package/dist/commands/auth-token.js +31 -0
- package/dist/commands/bootstrap-preset.js +214 -0
- package/dist/commands/capabilities.js +36 -0
- package/dist/commands/chutes-oauth.js +144 -0
- package/dist/commands/claude-md.js +137 -0
- package/dist/commands/config-view.js +11 -0
- package/dist/commands/configure.js +648 -0
- package/dist/commands/credential.js +236 -0
- package/dist/commands/cursor-rules.js +230 -0
- package/dist/commands/doctor-state-migrations.js +358 -0
- package/dist/commands/doctor-ui.js +113 -0
- package/dist/commands/doctor.js +673 -0
- package/dist/commands/health.js +112 -0
- package/dist/commands/identity.js +54 -0
- package/dist/commands/init.js +167 -0
- package/dist/commands/models/aliases.js +85 -0
- package/dist/commands/models/fallbacks.js +123 -0
- package/dist/commands/models/image-fallbacks.js +123 -0
- package/dist/commands/models/list.js +347 -0
- package/dist/commands/models/scan.js +271 -0
- package/dist/commands/models/set-image.js +27 -0
- package/dist/commands/models/set.js +27 -0
- package/dist/commands/models/shared.js +73 -0
- package/dist/commands/models.js +7 -0
- package/dist/commands/onboard-auth.js +101 -0
- package/dist/commands/onboard-channels.js +814 -0
- package/dist/commands/onboard-eve-identity.js +98 -0
- package/dist/commands/onboard-github.js +153 -0
- package/dist/commands/onboard-helpers.js +303 -0
- package/dist/commands/onboard-interactive.js +17 -0
- package/dist/commands/onboard-non-interactive.js +228 -0
- package/dist/commands/onboard-providers.js +829 -0
- package/dist/commands/onboard-quickstart.js +185 -0
- package/dist/commands/onboard-remote.js +120 -0
- package/dist/commands/onboard-skills.js +148 -0
- package/dist/commands/onboard-types.js +1 -0
- package/dist/commands/onboard.js +19 -0
- package/dist/commands/openai-codex-model-default.js +38 -0
- package/dist/commands/poll.js +64 -0
- package/dist/commands/quest.js +27 -0
- package/dist/commands/reset.js +61 -0
- package/dist/commands/send.js +124 -0
- package/dist/commands/sessions-ingest.js +359 -0
- package/dist/commands/sessions.js +212 -0
- package/dist/commands/setup.js +59 -0
- package/dist/commands/signal-install.js +135 -0
- package/dist/commands/skills-manifest.js +235 -0
- package/dist/commands/status.js +139 -0
- package/dist/commands/suggestions.js +54 -0
- package/dist/commands/systemd-linger.js +71 -0
- package/dist/commands/update.js +16 -0
- package/dist/commands/usage-upload.js +27 -0
- package/dist/config/config.js +6 -0
- package/dist/config/defaults.js +140 -0
- package/dist/config/group-policy.js +49 -0
- package/dist/config/includes.js +183 -0
- package/dist/config/io.js +188 -0
- package/dist/config/legacy-migrate.js +13 -0
- package/dist/config/legacy.js +425 -0
- package/dist/config/paths.js +82 -0
- package/dist/config/port-defaults.js +32 -0
- package/dist/config/schema.js +173 -0
- package/dist/config/sessions.js +611 -0
- package/dist/config/talk.js +31 -0
- package/dist/config/types.js +1 -0
- package/dist/config/validation.js +29 -0
- package/dist/config/zod-schema.js +1110 -0
- package/dist/control-ui/assets/index-D8Q5AI4D.js +2393 -0
- package/dist/control-ui/assets/index-D8Q5AI4D.js.map +1 -0
- package/dist/control-ui/assets/index-g06q5Xc3.css +1 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/index.html +16 -0
- package/dist/cron/isolated-agent.js +529 -0
- package/dist/cron/normalize.js +73 -0
- package/dist/cron/parse.js +24 -0
- package/dist/cron/run-log.js +72 -0
- package/dist/cron/schedule.js +24 -0
- package/dist/cron/service.js +471 -0
- package/dist/cron/store.js +43 -0
- package/dist/cron/types.js +1 -0
- package/dist/daemon/constants.js +10 -0
- package/dist/daemon/launchd.js +295 -0
- package/dist/daemon/legacy.js +63 -0
- package/dist/daemon/program-args.js +141 -0
- package/dist/daemon/schtasks.js +269 -0
- package/dist/daemon/service.js +69 -0
- package/dist/daemon/systemd.js +332 -0
- package/dist/discord/index.js +2 -0
- package/dist/discord/monitor.js +1089 -0
- package/dist/discord/probe.js +54 -0
- package/dist/discord/send.js +652 -0
- package/dist/discord/token.js +8 -0
- package/dist/entry.js +16 -0
- package/dist/gateway/auth.js +121 -0
- package/dist/gateway/call.js +103 -0
- package/dist/gateway/chat-attachments.js +41 -0
- package/dist/gateway/client.js +180 -0
- package/dist/gateway/config-reload.js +274 -0
- package/dist/gateway/control-ui.js +184 -0
- package/dist/gateway/hooks-mapping.js +282 -0
- package/dist/gateway/hooks.js +168 -0
- package/dist/gateway/net.js +29 -0
- package/dist/gateway/protocol/index.js +62 -0
- package/dist/gateway/protocol/schema.js +577 -0
- package/dist/gateway/server-bridge-subscriptions.js +93 -0
- package/dist/gateway/server-bridge.js +1066 -0
- package/dist/gateway/server-browser.js +11 -0
- package/dist/gateway/server-channels.js +680 -0
- package/dist/gateway/server-chat.js +159 -0
- package/dist/gateway/server-constants.js +8 -0
- package/dist/gateway/server-discovery.js +62 -0
- package/dist/gateway/server-http.js +165 -0
- package/dist/gateway/server-methods/agent-job.js +114 -0
- package/dist/gateway/server-methods/agent.js +254 -0
- package/dist/gateway/server-methods/channels.js +239 -0
- package/dist/gateway/server-methods/chat.js +207 -0
- package/dist/gateway/server-methods/config.js +50 -0
- package/dist/gateway/server-methods/connect.js +6 -0
- package/dist/gateway/server-methods/cron.js +89 -0
- package/dist/gateway/server-methods/health.js +28 -0
- package/dist/gateway/server-methods/models.js +16 -0
- package/dist/gateway/server-methods/nodes.js +294 -0
- package/dist/gateway/server-methods/providers.js +257 -0
- package/dist/gateway/server-methods/send.js +254 -0
- package/dist/gateway/server-methods/sessions.js +382 -0
- package/dist/gateway/server-methods/skills.js +83 -0
- package/dist/gateway/server-methods/system.js +118 -0
- package/dist/gateway/server-methods/talk.js +22 -0
- package/dist/gateway/server-methods/types.js +1 -0
- package/dist/gateway/server-methods/voicewake.js +30 -0
- package/dist/gateway/server-methods/web.js +81 -0
- package/dist/gateway/server-methods/wizard.js +100 -0
- package/dist/gateway/server-methods.js +53 -0
- package/dist/gateway/server-providers.js +687 -0
- package/dist/gateway/server-shared.js +1 -0
- package/dist/gateway/server-utils.js +35 -0
- package/dist/gateway/server.js +1478 -0
- package/dist/gateway/session-utils.js +355 -0
- package/dist/gateway/ws-log.js +343 -0
- package/dist/gateway/ws-logging.js +8 -0
- package/dist/globals.js +41 -0
- package/dist/hooks/gmail-ops.js +236 -0
- package/dist/hooks/gmail-setup-utils.js +278 -0
- package/dist/hooks/gmail-watcher.js +190 -0
- package/dist/hooks/gmail.js +177 -0
- package/dist/imessage/client.js +165 -0
- package/dist/imessage/index.js +3 -0
- package/dist/imessage/monitor.js +365 -0
- package/dist/imessage/probe.js +26 -0
- package/dist/imessage/send.js +83 -0
- package/dist/imessage/targets.js +176 -0
- package/dist/index.js +55 -0
- package/dist/infra/agent-events.js +46 -0
- package/dist/infra/binaries.js +9 -0
- package/dist/infra/bonjour-discovery.js +163 -0
- package/dist/infra/bonjour.js +200 -0
- package/dist/infra/bridge/server.js +564 -0
- package/dist/infra/canvas-host-url.js +54 -0
- package/dist/infra/channel-summary.js +78 -0
- package/dist/infra/control-ui-assets.js +112 -0
- package/dist/infra/dotenv.js +15 -0
- package/dist/infra/env.js +8 -0
- package/dist/infra/errors.js +28 -0
- package/dist/infra/event-log.js +251 -0
- package/dist/infra/gateway-lock.js +8 -0
- package/dist/infra/git-commit.js +91 -0
- package/dist/infra/heartbeat-events.js +21 -0
- package/dist/infra/heartbeat-runner.js +458 -0
- package/dist/infra/heartbeat-wake.js +61 -0
- package/dist/infra/is-main.js +37 -0
- package/dist/infra/json-file.js +21 -0
- package/dist/infra/machine-name.js +40 -0
- package/dist/infra/nexus-root.js +56 -0
- package/dist/infra/node-pairing.js +212 -0
- package/dist/infra/path-env.js +93 -0
- package/dist/infra/ports.js +87 -0
- package/dist/infra/provider-summary.js +80 -0
- package/dist/infra/provider-usage.auth.js +189 -0
- package/dist/infra/provider-usage.fetch.claude.js +129 -0
- package/dist/infra/provider-usage.fetch.codex.js +62 -0
- package/dist/infra/provider-usage.fetch.copilot.js +42 -0
- package/dist/infra/provider-usage.fetch.gemini.js +57 -0
- package/dist/infra/provider-usage.fetch.js +6 -0
- package/dist/infra/provider-usage.fetch.minimax.js +214 -0
- package/dist/infra/provider-usage.fetch.shared.js +11 -0
- package/dist/infra/provider-usage.fetch.zai.js +62 -0
- package/dist/infra/provider-usage.format.js +77 -0
- package/dist/infra/provider-usage.js +145 -0
- package/dist/infra/provider-usage.load.js +54 -0
- package/dist/infra/provider-usage.shared.js +19 -0
- package/dist/infra/provider-usage.types.js +1 -0
- package/dist/infra/restart.js +29 -0
- package/dist/infra/retry.js +16 -0
- package/dist/infra/runtime-guard.js +59 -0
- package/dist/infra/shell-env.js +88 -0
- package/dist/infra/system-events.js +71 -0
- package/dist/infra/system-presence.js +217 -0
- package/dist/infra/tailnet.js +46 -0
- package/dist/infra/tailscale.js +149 -0
- package/dist/infra/unhandled-rejections.js +19 -0
- package/dist/infra/usage-suggestions.js +241 -0
- package/dist/infra/usage-upload.js +290 -0
- package/dist/infra/voicewake.js +78 -0
- package/dist/infra/widearea-dns.js +123 -0
- package/dist/infra/ws.js +13 -0
- package/dist/logger.js +52 -0
- package/dist/logging.js +506 -0
- package/dist/macos/gateway-daemon.js +145 -0
- package/dist/macos/relay.js +49 -0
- package/dist/media/constants.js +33 -0
- package/dist/media/host.js +42 -0
- package/dist/media/image-ops.js +119 -0
- package/dist/media/mime.js +123 -0
- package/dist/media/parse.js +83 -0
- package/dist/media/server.js +64 -0
- package/dist/media/store.js +139 -0
- package/dist/polls.js +43 -0
- package/dist/process/command-queue.js +97 -0
- package/dist/process/exec.js +75 -0
- package/dist/provider-web.js +8 -0
- package/dist/providers/github-copilot-auth.js +123 -0
- package/dist/providers/github-copilot-models.js +35 -0
- package/dist/providers/github-copilot-token.js +11 -0
- package/dist/providers/location.js +48 -0
- package/dist/providers/web/index.js +2 -0
- package/dist/runtime.js +8 -0
- package/dist/sessions/level-overrides.js +9 -0
- package/dist/sessions/send-policy.js +68 -0
- package/dist/signal/client.js +134 -0
- package/dist/signal/daemon.js +69 -0
- package/dist/signal/index.js +3 -0
- package/dist/signal/monitor.js +411 -0
- package/dist/signal/probe.js +46 -0
- package/dist/signal/send.js +91 -0
- package/dist/slack/actions.js +97 -0
- package/dist/slack/index.js +5 -0
- package/dist/slack/monitor.js +1270 -0
- package/dist/slack/probe.js +47 -0
- package/dist/slack/send.js +131 -0
- package/dist/slack/token.js +10 -0
- package/dist/telegram/allowed-updates.js +8 -0
- package/dist/telegram/bot.js +724 -0
- package/dist/telegram/download.js +34 -0
- package/dist/telegram/index.js +4 -0
- package/dist/telegram/monitor.js +47 -0
- package/dist/telegram/pairing-store.js +77 -0
- package/dist/telegram/probe.js +63 -0
- package/dist/telegram/proxy.js +9 -0
- package/dist/telegram/reaction-level.js +45 -0
- package/dist/telegram/send.js +151 -0
- package/dist/telegram/sent-message-cache.js +65 -0
- package/dist/telegram/token.js +30 -0
- package/dist/telegram/update-offset-store.js +61 -0
- package/dist/telegram/webhook-set.js +12 -0
- package/dist/telegram/webhook.js +56 -0
- package/dist/tui/commands.js +87 -0
- package/dist/tui/components/assistant-message.js +16 -0
- package/dist/tui/components/chat-log.js +92 -0
- package/dist/tui/components/custom-editor.js +55 -0
- package/dist/tui/components/selectors.js +8 -0
- package/dist/tui/components/tool-execution.js +111 -0
- package/dist/tui/components/user-message.js +17 -0
- package/dist/tui/gateway-chat.js +140 -0
- package/dist/tui/theme/theme.js +80 -0
- package/dist/tui/tui.js +708 -0
- package/dist/utils.js +153 -0
- package/dist/version.js +18 -0
- package/dist/web/accounts.js +86 -0
- package/dist/web/active-listener.js +25 -0
- package/dist/web/auto-reply.js +1256 -0
- package/dist/web/inbound.js +649 -0
- package/dist/web/login-qr.js +230 -0
- package/dist/web/login.js +71 -0
- package/dist/web/media.js +175 -0
- package/dist/web/outbound.js +102 -0
- package/dist/web/qr-image.js +97 -0
- package/dist/web/reconnect.js +60 -0
- package/dist/web/session.js +370 -0
- package/dist/wizard/clack-prompter.js +56 -0
- package/dist/wizard/onboarding.js +620 -0
- package/dist/wizard/prompts.js +6 -0
- package/dist/wizard/session.js +203 -0
- package/docs/AGENTS.default.md +116 -0
- package/docs/CAPABILITIES.md +444 -0
- package/docs/CNAME +1 -0
- package/docs/NEXUS_CORE_REWRITE_SPEC.md +226 -0
- package/docs/RELEASING.md +69 -0
- package/docs/_config.yml +53 -0
- package/docs/_layouts/default.html +145 -0
- package/docs/agent-assisted-install.md +95 -0
- package/docs/agent-loop.md +61 -0
- package/docs/agent-send.md +21 -0
- package/docs/agent.md +108 -0
- package/docs/android.md +133 -0
- package/docs/architecture.md +114 -0
- package/docs/assets/markdown.css +133 -0
- package/docs/assets/pixel-lobster.svg +60 -0
- package/docs/assets/terminal.css +470 -0
- package/docs/assets/theme.js +55 -0
- package/docs/audio.md +48 -0
- package/docs/automation/nexus-sync.md +371 -0
- package/docs/background-process.md +74 -0
- package/docs/bash.md +32 -0
- package/docs/bedrock.md +71 -0
- package/docs/bonjour.md +159 -0
- package/docs/browser-linux-troubleshooting.md +114 -0
- package/docs/browser.md +293 -0
- package/docs/bun.md +56 -0
- package/docs/camera.md +152 -0
- package/docs/clawd.md +212 -0
- package/docs/concepts/usage-tracking.md +29 -0
- package/docs/configuration.md +1666 -0
- package/docs/control-ui.md +83 -0
- package/docs/cron.md +385 -0
- package/docs/dashboard.md +17 -0
- package/docs/device-models.md +46 -0
- package/docs/discord.md +308 -0
- package/docs/discovery.md +112 -0
- package/docs/docker.md +258 -0
- package/docs/docs.json +105 -0
- package/docs/doctor.md +68 -0
- package/docs/elevated.md +31 -0
- package/docs/faq.md +736 -0
- package/docs/feature-inventory/overview.md +141 -0
- package/docs/feature-inventory/rollout-checklist.md +53 -0
- package/docs/feature-inventory/test-matrix.md +87 -0
- package/docs/feature-inventory.md +9 -0
- package/docs/gateway/configuration-examples.md +221 -0
- package/docs/gateway/configuration.md +172 -0
- package/docs/gateway/cron.md +61 -0
- package/docs/gateway/heartbeat.md +207 -0
- package/docs/gateway/pairing.md +109 -0
- package/docs/gateway-lock.md +28 -0
- package/docs/gateway.md +227 -0
- package/docs/gmail-pubsub.md +191 -0
- package/docs/grammy.md +27 -0
- package/docs/group-messages.md +73 -0
- package/docs/groups.md +130 -0
- package/docs/health.md +28 -0
- package/docs/heartbeat.md +73 -0
- package/docs/home-userspace.md +277 -0
- package/docs/hubs.md +148 -0
- package/docs/images.md +51 -0
- package/docs/imessage.md +94 -0
- package/docs/index.md +196 -0
- package/docs/ios.md +372 -0
- package/docs/linux.md +11 -0
- package/docs/location-command.md +95 -0
- package/docs/location.md +46 -0
- package/docs/logging.md +110 -0
- package/docs/lore.md +131 -0
- package/docs/mac/bun.md +133 -0
- package/docs/mac/canvas.md +161 -0
- package/docs/mac/child-process.md +72 -0
- package/docs/mac/dev-setup.md +81 -0
- package/docs/mac/health.md +28 -0
- package/docs/mac/icon.md +26 -0
- package/docs/mac/logging.md +51 -0
- package/docs/mac/menu-bar.md +69 -0
- package/docs/mac/peekaboo.md +170 -0
- package/docs/mac/permissions.md +40 -0
- package/docs/mac/release.md +76 -0
- package/docs/mac/remote.md +57 -0
- package/docs/mac/signing.md +41 -0
- package/docs/mac/skills.md +27 -0
- package/docs/mac/voice-overlay.md +52 -0
- package/docs/mac/voicewake.md +56 -0
- package/docs/mac/webchat.md +27 -0
- package/docs/mac/xpc.md +40 -0
- package/docs/macos.md +104 -0
- package/docs/model-failover.md +75 -0
- package/docs/models.md +91 -0
- package/docs/multi-agent.md +74 -0
- package/docs/nix.md +95 -0
- package/docs/nodes.md +157 -0
- package/docs/onboarding-config-protocol.md +34 -0
- package/docs/onboarding.md +189 -0
- package/docs/pairing.md +85 -0
- package/docs/plans/cron-add-hardening.md +72 -0
- package/docs/plans/group-policy-hardening.md +121 -0
- package/docs/poll.md +52 -0
- package/docs/prereqs.md +67 -0
- package/docs/presence.md +133 -0
- package/docs/proposals/model-config.md +147 -0
- package/docs/provider-routing.md +25 -0
- package/docs/queue.md +78 -0
- package/docs/reference/templates/AGENTS.md +164 -0
- package/docs/remote-gateway-readme.md +153 -0
- package/docs/remote.md +61 -0
- package/docs/research/memory.md +227 -0
- package/docs/rpc.md +35 -0
- package/docs/security.md +200 -0
- package/docs/session-ingestion.md +119 -0
- package/docs/session-tool.md +154 -0
- package/docs/session.md +85 -0
- package/docs/sessions.md +8 -0
- package/docs/setup.md +131 -0
- package/docs/showcase.md +37 -0
- package/docs/signal.md +122 -0
- package/docs/skills-config.md +58 -0
- package/docs/skills.md +153 -0
- package/docs/slack.md +221 -0
- package/docs/subagents.md +72 -0
- package/docs/tailscale.md +71 -0
- package/docs/talk.md +79 -0
- package/docs/telegram.md +96 -0
- package/docs/templates/AGENTS.md +286 -0
- package/docs/templates/BOOTSTRAP.md +35 -0
- package/docs/templates/IDENTITY.md +17 -0
- package/docs/templates/PROFILE.md +14 -0
- package/docs/templates/SOUL.md +41 -0
- package/docs/templates/TOOLS.md +41 -0
- package/docs/templates/USER.md +8 -0
- package/docs/test.md +43 -0
- package/docs/testing-onboarding-quickstart.md +76 -0
- package/docs/testing-philosophy.md +211 -0
- package/docs/thinking.md +46 -0
- package/docs/timezone.md +40 -0
- package/docs/tools.md +346 -0
- package/docs/troubleshooting.md +257 -0
- package/docs/tui.md +71 -0
- package/docs/typebox.md +42 -0
- package/docs/updating.md +138 -0
- package/docs/usage-cloud-aggregation-spec.md +133 -0
- package/docs/usage-suggestions-pipeline.md +126 -0
- package/docs/voicewake.md +61 -0
- package/docs/web.md +115 -0
- package/docs/webchat.md +34 -0
- package/docs/webhook.md +132 -0
- package/docs/whatsapp-clawd.jpg +0 -0
- package/docs/whatsapp.md +170 -0
- package/docs/windows.md +11 -0
- package/docs/wizard.md +167 -0
- package/package.json +209 -0
- package/skills/1password/SKILL.md +54 -0
- package/skills/1password/docs/setup.md +85 -0
- package/skills/1password/docs/troubleshooting.md +63 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/agent-browser/SKILL.md +450 -0
- package/skills/agent-browser/docs/browser-use-eval.md +95 -0
- package/skills/agent-browser/docs/first-tests.md +261 -0
- package/skills/agent-browser/docs/wordle-nyt-eval.js +32 -0
- package/skills/aix/SKILL.md +93 -0
- package/skills/aix/docs/embeddings.md +40 -0
- package/skills/aix/docs/setup.md +58 -0
- package/skills/aix/docs/troubleshooting.md +41 -0
- package/skills/aix/references/sql.md +48 -0
- package/skills/apple-notes/SKILL.md +50 -0
- package/skills/apple-reminders/SKILL.md +67 -0
- package/skills/bear-notes/SKILL.md +79 -0
- package/skills/bird/SKILL.md +32 -0
- package/skills/bird/docs/auth.md +31 -0
- package/skills/bird/docs/troubleshooting.md +31 -0
- package/skills/blogwatcher/SKILL.md +46 -0
- package/skills/blucli/SKILL.md +27 -0
- package/skills/brave-search/SKILL.md +36 -0
- package/skills/brave-search/docs/setup.md +40 -0
- package/skills/brave-search/docs/troubleshooting.md +37 -0
- package/skills/brave-search/docs/usage.md +28 -0
- package/skills/brave-search/scripts/content.mjs +53 -0
- package/skills/brave-search/scripts/search.mjs +79 -0
- package/skills/browser-use-agent-sdk/SKILL.md +90 -0
- package/skills/camsnap/SKILL.md +25 -0
- package/skills/clawdhub/SKILL.md +53 -0
- package/skills/coding-agent/SKILL.md +274 -0
- package/skills/comms/SKILL.md +249 -0
- package/skills/comms/docs/adapters.md +54 -0
- package/skills/comms/docs/setup.md +56 -0
- package/skills/comms/docs/troubleshooting.md +44 -0
- package/skills/comms/references/schema.md +49 -0
- package/skills/computer-use/SKILL.md +204 -0
- package/skills/computer-use/docs/open-interpreter.md +26 -0
- package/skills/computer-use/docs/peekaboo.md +26 -0
- package/skills/computer-use/docs/setup.md +47 -0
- package/skills/computer-use/docs/troubleshooting.md +33 -0
- package/skills/discord/SKILL.md +370 -0
- package/skills/eightctl/SKILL.md +29 -0
- package/skills/eve/SKILL.md +215 -0
- package/skills/eve/docs/dual-account.md +84 -0
- package/skills/eve/docs/intelligence.md +58 -0
- package/skills/eve/docs/setup.md +60 -0
- package/skills/eve/docs/troubleshooting.md +54 -0
- package/skills/eve/scripts/setup-dual-account.sh +125 -0
- package/skills/filesystem/SKILL.md +217 -0
- package/skills/food-order/SKILL.md +41 -0
- package/skills/gemini/SKILL.md +23 -0
- package/skills/gh/SKILL.md +22 -0
- package/skills/gh/docs/usage.md +41 -0
- package/skills/gifgrep/SKILL.md +47 -0
- package/skills/github/SKILL.md +26 -0
- package/skills/github/docs/setup.md +21 -0
- package/skills/github/docs/troubleshooting.md +24 -0
- package/skills/gog/SKILL.md +104 -0
- package/skills/gog/docs/portability.md +94 -0
- package/skills/gog/docs/setup.md +76 -0
- package/skills/gog/docs/troubleshooting.md +94 -0
- package/skills/gog/scripts/cdp/README.md +90 -0
- package/skills/gog/scripts/cdp/add_test_users.py +69 -0
- package/skills/gog/scripts/cdp/auth_add_accounts.py +209 -0
- package/skills/gog/scripts/cdp/auth_add_accounts_manual.py +206 -0
- package/skills/gog/scripts/cdp/create_oauth_client.py +165 -0
- package/skills/gog/scripts/cdp/launch_cdp_chrome.sh +58 -0
- package/skills/google-oauth/SKILL.md +94 -0
- package/skills/goplaces/SKILL.md +30 -0
- package/skills/imsg/SKILL.md +25 -0
- package/skills/json-render/SKILL.md +154 -0
- package/skills/json-render/assets/components/README.md +21 -0
- package/skills/json-render/assets/components/catalog.ts +78 -0
- package/skills/json-render/assets/components/registry.tsx +172 -0
- package/skills/json-render/assets/demo/App.css +397 -0
- package/skills/json-render/assets/demo/App.tsx +897 -0
- package/skills/json-render/assets/demo/README.md +22 -0
- package/skills/json-render/assets/demo/catalog.ts +78 -0
- package/skills/json-render/assets/demo/data/nexus-core.json +31 -0
- package/skills/json-render/assets/demo/index.css +27 -0
- package/skills/json-render/assets/demo/registry.tsx +150 -0
- package/skills/json-render/docs/nexus-state-demo.md +84 -0
- package/skills/json-render/docs/shadcn-preset.md +33 -0
- package/skills/json-render/scripts/create-vite-demo.sh +45 -0
- package/skills/json-render/scripts/llm-server/README.md +33 -0
- package/skills/json-render/scripts/llm-server/catalog.ts +78 -0
- package/skills/json-render/scripts/llm-server/package-lock.json +702 -0
- package/skills/json-render/scripts/llm-server/package.json +18 -0
- package/skills/json-render/scripts/llm-server/server.ts +285 -0
- package/skills/local-places/SERVER_README.md +101 -0
- package/skills/local-places/SKILL.md +91 -0
- package/skills/local-places/pyproject.toml +27 -0
- package/skills/local-places/src/local_places/__init__.py +2 -0
- package/skills/local-places/src/local_places/__pycache__/__init__.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/google_places.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/main.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/schemas.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/google_places.py +314 -0
- package/skills/local-places/src/local_places/main.py +65 -0
- package/skills/local-places/src/local_places/schemas.py +107 -0
- package/skills/mcporter/SKILL.md +38 -0
- package/skills/model-usage/SKILL.md +45 -0
- package/skills/model-usage/references/codexbar-cli.md +28 -0
- package/skills/model-usage/scripts/model_usage.py +310 -0
- package/skills/nano-banana-pro/SKILL.md +30 -0
- package/skills/nano-banana-pro/scripts/generate_image.py +169 -0
- package/skills/nano-pdf/SKILL.md +20 -0
- package/skills/nexus-cloud/SKILL.md +53 -0
- package/skills/nexus-cloud/docs/security.md +24 -0
- package/skills/nexus-cloud/docs/setup.md +51 -0
- package/skills/nexus-cloud/docs/troubleshooting.md +28 -0
- package/skills/notion/SKILL.md +156 -0
- package/skills/obsidian/SKILL.md +55 -0
- package/skills/onboarding/SKILL.md +515 -0
- package/skills/onboarding/docs/CAPABILITIES.md +444 -0
- package/skills/onboarding/docs/CAPABILITY_TAXONOMY.md +608 -0
- package/skills/onboarding/docs/CLI_GRAMMAR.md +797 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_CREDENTIALS.md +632 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_ONBOARDING.md +815 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_SKILLS.md +449 -0
- package/skills/onboarding/docs/DOCUMENTATION_OVERVIEW.md +290 -0
- package/skills/onboarding/docs/ENTITY_MODEL.md +582 -0
- package/skills/onboarding/docs/GOAL_STATE_ARCHITECTURE.md +395 -0
- package/skills/onboarding/docs/NEXUS_SYSTEM_OVERVIEW.md +476 -0
- package/skills/onboarding/docs/SKILLS_HUB_SPEC.md +477 -0
- package/skills/onboarding/docs/SKILLS_SPECIFICATION.md +947 -0
- package/skills/onboarding/docs/SKILL_GATEWAY_DESIGN.md +702 -0
- package/skills/onboarding/docs/SKILL_GATEWAY_PRD.md +278 -0
- package/skills/onboarding/docs/SKILL_INVENTORY.md +266 -0
- package/skills/onboarding/docs/STATE_ARCHITECTURE.md +547 -0
- package/skills/onboarding/docs/TROUBLESHOOTING.md +363 -0
- package/skills/onboarding/docs/USER_JOURNEY.md +797 -0
- package/skills/onboarding/docs/WOW_MOMENTS.md +232 -0
- package/skills/onboarding/docs/agent-apple-id.md +289 -0
- package/skills/onboarding/docs/skill-deep-dives/1password.md +367 -0
- package/skills/onboarding/docs/skill-deep-dives/TEMPLATE.md +197 -0
- package/skills/onboarding/docs/skill-deep-dives/aix.md +498 -0
- package/skills/onboarding/docs/skill-deep-dives/bird.md +357 -0
- package/skills/onboarding/docs/skill-deep-dives/brave-search.md +601 -0
- package/skills/onboarding/docs/skill-deep-dives/comms.md +607 -0
- package/skills/onboarding/docs/skill-deep-dives/computer-use.md +599 -0
- package/skills/onboarding/docs/skill-deep-dives/cron-and-heartbeat.md +576 -0
- package/skills/onboarding/docs/skill-deep-dives/eve.md +711 -0
- package/skills/onboarding/docs/skill-deep-dives/github.md +333 -0
- package/skills/onboarding/docs/skill-deep-dives/gog.md +640 -0
- package/skills/onboarding/docs/skill-deep-dives/homebrew-prereqs.md +785 -0
- package/skills/onboarding/docs/skill-deep-dives/nexus-cloud.md +689 -0
- package/skills/onboarding/docs/skill-deep-dives/qmd.md +742 -0
- package/skills/onboarding/docs/skill-deep-dives/telegram.md +379 -0
- package/skills/onboarding/docs/skill-deep-dives/wacli.md +399 -0
- package/skills/onboarding/docs/skill-deep-dives/weather.md +513 -0
- package/skills/onboarding/scripts/ralph/prd.json +215 -0
- package/skills/onboarding/scripts/ralph/progress.txt +99 -0
- package/skills/onboarding/scripts/ralph/prompt.md +87 -0
- package/skills/onboarding/scripts/ralph/ralph.log +84 -0
- package/skills/onboarding/scripts/ralph/ralph.sh +45 -0
- package/skills/onboarding/scripts/setup-cursor-skills.sh +40 -0
- package/skills/openai-image-gen/SKILL.md +31 -0
- package/skills/openai-image-gen/scripts/gen.py +173 -0
- package/skills/openai-whisper/SKILL.md +19 -0
- package/skills/openai-whisper-api/SKILL.md +43 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
- package/skills/openhue/SKILL.md +30 -0
- package/skills/oracle/SKILL.md +105 -0
- package/skills/ordercli/SKILL.md +47 -0
- package/skills/peekaboo/SKILL.md +153 -0
- package/skills/qmd/SKILL.md +32 -0
- package/skills/qmd/docs/mcp.md +30 -0
- package/skills/qmd/docs/ollama.md +42 -0
- package/skills/qmd/docs/setup.md +44 -0
- package/skills/sag/SKILL.md +62 -0
- package/skills/skill-cli-template/SKILL.md +109 -0
- package/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-311.pyc +0 -0
- package/skills/slack/SKILL.md +144 -0
- package/skills/songsee/SKILL.md +29 -0
- package/skills/sonoscli/SKILL.md +26 -0
- package/skills/spotify-player/SKILL.md +34 -0
- package/skills/summarize/SKILL.md +49 -0
- package/skills/telegram/SKILL.md +20 -0
- package/skills/telegram/docs/pairing.md +30 -0
- package/skills/telegram/docs/setup.md +41 -0
- package/skills/telegram/docs/webhook.md +17 -0
- package/skills/things-mac/SKILL.md +61 -0
- package/skills/tmux/SKILL.md +121 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +84 -0
- package/skills/upstream-sync/SKILL.md +151 -0
- package/skills/upstream-sync/scripts/auto-port.sh +227 -0
- package/skills/upstream-sync/scripts/check-all.sh +88 -0
- package/skills/upstream-sync/scripts/check-nexus.sh +146 -0
- package/skills/upstream-sync/scripts/check-pi-ai.sh +129 -0
- package/skills/video-frames/SKILL.md +29 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/wacli/SKILL.md +48 -0
- package/skills/wacli/docs/auth.md +21 -0
- package/skills/wacli/docs/backup.md +9 -0
- package/skills/wacli/docs/troubleshooting.md +21 -0
- package/skills/weather/SKILL.md +53 -0
- package/skills/weather/docs/usage.md +40 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
# Agent-browser demo playbook
|
|
2
|
+
|
|
3
|
+
This playbook gives two demos: a fast visible check and a harder "solver" flow.
|
|
4
|
+
Both avoid API keys and OAuth.
|
|
5
|
+
|
|
6
|
+
## Immediate value
|
|
7
|
+
|
|
8
|
+
- Real browser automation on dynamic sites (not just HTML fetches).
|
|
9
|
+
- Deterministic element refs from snapshots (stable, less brittle selectors).
|
|
10
|
+
- Quick smoke tests for links, forms, and navigation.
|
|
11
|
+
|
|
12
|
+
## Speed / model choice
|
|
13
|
+
|
|
14
|
+
- Default to Claude Haiku 4.5 (use the latest Haiku in Claude Code).
|
|
15
|
+
- Claude Code is the preferred dispatcher for fast runs.
|
|
16
|
+
- Wordle uses a local word list; no answer lookup.
|
|
17
|
+
|
|
18
|
+
## Prereqs
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
agent-browser --version
|
|
22
|
+
agent-browser install
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Test 1: Hacker News headline (easy, visible)
|
|
26
|
+
|
|
27
|
+
Goal: show a real page open, click, and read content.
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Visible browser window
|
|
31
|
+
agent-browser --session demo open https://news.ycombinator.com --headed
|
|
32
|
+
|
|
33
|
+
# Get interactive elements (refs)
|
|
34
|
+
agent-browser --session demo snapshot -i -c -d 3
|
|
35
|
+
|
|
36
|
+
# Pick the first story link ref from snapshot (example: @e1)
|
|
37
|
+
agent-browser --session demo click @e1
|
|
38
|
+
|
|
39
|
+
# Read the new page title and URL
|
|
40
|
+
agent-browser --session demo get title
|
|
41
|
+
agent-browser --session demo get url
|
|
42
|
+
|
|
43
|
+
# Optional screenshot
|
|
44
|
+
agent-browser --session demo screenshot /tmp/agent-browser-hn.png
|
|
45
|
+
|
|
46
|
+
agent-browser --session demo close
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Success looks like:
|
|
50
|
+
- A headed browser opens.
|
|
51
|
+
- Snapshot lists interactive links with refs.
|
|
52
|
+
- Title/URL change after the click.
|
|
53
|
+
|
|
54
|
+
## Test 2: NYT Wordle solver (harder, real site)
|
|
55
|
+
|
|
56
|
+
Goal: solve Wordle using only a local word list and math, plus browser control.
|
|
57
|
+
|
|
58
|
+
### Approach
|
|
59
|
+
|
|
60
|
+
1. Keep a local candidate list of valid words.
|
|
61
|
+
2. After each guess, read tile evaluations (green/yellow/gray).
|
|
62
|
+
3. Filter candidates by the feedback.
|
|
63
|
+
4. Pick the next guess by maximizing letter information.
|
|
64
|
+
|
|
65
|
+
### One-time setup: word list + solver
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
curl -fsSL https://raw.githubusercontent.com/tabatkins/wordle-list/main/words \
|
|
69
|
+
-o /tmp/wordle-words.txt
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Create `~/nexus/home/projects/wordle-solver.mjs`:
|
|
73
|
+
|
|
74
|
+
```js
|
|
75
|
+
import fs from "fs";
|
|
76
|
+
|
|
77
|
+
const WORDS_PATH = process.env.WORDLE_WORDS ?? "/tmp/wordle-words.txt";
|
|
78
|
+
const STATE_PATH = process.env.WORDLE_STATE ?? "/tmp/wordle-state.json";
|
|
79
|
+
|
|
80
|
+
if (!fs.existsSync(WORDS_PATH)) {
|
|
81
|
+
console.error(
|
|
82
|
+
"Missing word list. Download with: curl -fsSL https://raw.githubusercontent.com/tabatkins/wordle-list/main/words -o /tmp/wordle-words.txt",
|
|
83
|
+
);
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const words = fs.readFileSync(WORDS_PATH, "utf8").trim().split(/\s+/);
|
|
88
|
+
|
|
89
|
+
function score(guess, answer) {
|
|
90
|
+
const result = Array(5).fill("b");
|
|
91
|
+
const counts = {};
|
|
92
|
+
for (let i = 0; i < 5; i++) {
|
|
93
|
+
const g = guess[i];
|
|
94
|
+
const a = answer[i];
|
|
95
|
+
if (g === a) {
|
|
96
|
+
result[i] = "g";
|
|
97
|
+
} else {
|
|
98
|
+
counts[a] = (counts[a] ?? 0) + 1;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
for (let i = 0; i < 5; i++) {
|
|
102
|
+
if (result[i] === "g") continue;
|
|
103
|
+
const g = guess[i];
|
|
104
|
+
if ((counts[g] ?? 0) > 0) {
|
|
105
|
+
result[i] = "y";
|
|
106
|
+
counts[g]--;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return result.join("");
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function bestGuess(candidates) {
|
|
113
|
+
const freq = Array.from({ length: 5 }, () => ({}));
|
|
114
|
+
for (const w of candidates) {
|
|
115
|
+
for (let i = 0; i < 5; i++) {
|
|
116
|
+
const c = w[i];
|
|
117
|
+
freq[i][c] = (freq[i][c] ?? 0) + 1;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
let best = candidates[0];
|
|
121
|
+
let bestScore = -1;
|
|
122
|
+
for (const w of candidates) {
|
|
123
|
+
let scoreSum = 0;
|
|
124
|
+
for (let i = 0; i < 5; i++) {
|
|
125
|
+
scoreSum += freq[i][w[i]] ?? 0;
|
|
126
|
+
}
|
|
127
|
+
if (scoreSum > bestScore) {
|
|
128
|
+
bestScore = scoreSum;
|
|
129
|
+
best = w;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return best;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
function loadState() {
|
|
136
|
+
if (!fs.existsSync(STATE_PATH)) return { candidates: words };
|
|
137
|
+
return JSON.parse(fs.readFileSync(STATE_PATH, "utf8"));
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
function saveState(state) {
|
|
141
|
+
fs.writeFileSync(STATE_PATH, JSON.stringify(state, null, 2));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
const args = new Map(
|
|
145
|
+
process.argv.slice(2).map((arg) => {
|
|
146
|
+
const [k, v] = arg.replace(/^--/, "").split("=");
|
|
147
|
+
return [k, v];
|
|
148
|
+
}),
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
const guess = args.get("guess");
|
|
152
|
+
const pattern = args.get("pattern");
|
|
153
|
+
|
|
154
|
+
const state = loadState();
|
|
155
|
+
if (guess && pattern) {
|
|
156
|
+
state.candidates = state.candidates.filter((w) => score(guess, w) === pattern);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const suggestion = bestGuess(state.candidates);
|
|
160
|
+
saveState(state);
|
|
161
|
+
|
|
162
|
+
console.log(`remaining=${state.candidates.length}`);
|
|
163
|
+
console.log(`suggested=${suggestion}`);
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Run flow
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
agent-browser --session wordle open https://www.nytimes.com/games/wordle/index.html --headed
|
|
170
|
+
|
|
171
|
+
# Close intro modal / cookie banner
|
|
172
|
+
agent-browser --session wordle find role button click --name "Play"
|
|
173
|
+
agent-browser --session wordle find role button click --name "Continue"
|
|
174
|
+
agent-browser --session wordle find role button click --name "Close"
|
|
175
|
+
agent-browser --session wordle press Escape
|
|
176
|
+
|
|
177
|
+
# If needed, inspect refs
|
|
178
|
+
agent-browser --session wordle snapshot -i -c -d 4
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Submit a guess:
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
node ~/nexus/home/projects/wordle-solver.mjs
|
|
185
|
+
# example output: suggested=slate
|
|
186
|
+
|
|
187
|
+
agent-browser --session wordle click "body"
|
|
188
|
+
for c in s l a t e; do agent-browser --session wordle press "$c"; done
|
|
189
|
+
agent-browser --session wordle press Enter
|
|
190
|
+
agent-browser --session wordle wait 1200
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Extract the last row feedback:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
# Use the NYT eval helper to avoid shell-escaping issues
|
|
197
|
+
agent-browser --session wordle eval "$(cat {baseDir}/docs/wordle-nyt-eval.js)" --json
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Feed the pattern back into the solver and repeat:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
node ~/nexus/home/projects/wordle-solver.mjs --guess=slate --pattern=bybgb
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Stop when the pattern is `ggggg`, then:
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
agent-browser --session wordle screenshot /tmp/agent-browser-wordle.png
|
|
210
|
+
agent-browser --session wordle close
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Notes:
|
|
214
|
+
- If `pattern` includes `?`, wait longer and re-run the eval.
|
|
215
|
+
- If a guess is rejected, your word list is wrong; re-download the Wordle list.
|
|
216
|
+
|
|
217
|
+
### Fast path (Claude Code + Haiku 4.5)
|
|
218
|
+
|
|
219
|
+
Recommended for demos and LLM-in-loop runs. This uses the optimized runner flags
|
|
220
|
+
that minimize wait time and block ads.
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
claude --model haiku --print --permission-mode bypassPermissions \
|
|
224
|
+
"Run: bash ~/nexus/home/projects/wordle-nyt-run.sh \
|
|
225
|
+
--session demo-haiku \
|
|
226
|
+
--timing end-to-end \
|
|
227
|
+
--block-ads \
|
|
228
|
+
--wait-ms 0 \
|
|
229
|
+
--key-delay-ms 0 \
|
|
230
|
+
--poll-delay-ms 50 \
|
|
231
|
+
--max-poll-tries 14 \
|
|
232
|
+
--no-screenshot"
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Notes:
|
|
236
|
+
- The speedup comes from the runner flags, not model reasoning.
|
|
237
|
+
- For loop-only timing, change to `--timing guess-only`.
|
|
238
|
+
|
|
239
|
+
### Fast benchmarking (no cheating)
|
|
240
|
+
|
|
241
|
+
Use the automation script to compare models or tune speed:
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
bash ~/nexus/home/projects/wordle-nyt-run.sh \
|
|
245
|
+
--session bench-haiku \
|
|
246
|
+
--first-guess crane \
|
|
247
|
+
--timing end-to-end \
|
|
248
|
+
--block-ads \
|
|
249
|
+
--wait-ms 0 \
|
|
250
|
+
--key-delay-ms 0 \
|
|
251
|
+
--poll-delay-ms 50 \
|
|
252
|
+
--max-poll-tries 14 \
|
|
253
|
+
--no-screenshot
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Notes:
|
|
257
|
+
- `--timing guess-only` excludes page load and modal dismissal.
|
|
258
|
+
- Lower `--wait-ms` and `--key-delay-ms` reduces latency.
|
|
259
|
+
- Lower `--poll-delay-ms` reduces time between visual update and action.
|
|
260
|
+
- `--block-ads` can reduce page load time (best-effort).
|
|
261
|
+
- Use unique `--session` names per run to avoid Wordle state collisions.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
(() => {
|
|
2
|
+
const root = document.querySelector("#wordle-app-game");
|
|
3
|
+
if (!root) return { error: "wordle-app-game not found" };
|
|
4
|
+
|
|
5
|
+
const board = root.querySelector('div[class*="Board-module_board__"]');
|
|
6
|
+
if (!board) return { error: "board not found" };
|
|
7
|
+
|
|
8
|
+
const rows = Array.from(board.querySelectorAll('div[class*="Row-module_row"]'));
|
|
9
|
+
const tilesForRow = (row) => Array.from(row.querySelectorAll("[data-state]"));
|
|
10
|
+
const isFilled = (tiles) =>
|
|
11
|
+
tiles.length === 5 &&
|
|
12
|
+
tiles.every((t) => ["absent", "present", "correct"].includes(t.getAttribute("data-state")));
|
|
13
|
+
|
|
14
|
+
const filled = rows.map(tilesForRow).filter(isFilled);
|
|
15
|
+
const last = filled[filled.length - 1] ?? [];
|
|
16
|
+
|
|
17
|
+
const letters = last
|
|
18
|
+
.map((t) => (t.textContent ?? "").trim())
|
|
19
|
+
.join("")
|
|
20
|
+
.toLowerCase();
|
|
21
|
+
const pattern = last
|
|
22
|
+
.map((t) => {
|
|
23
|
+
const ev = t.getAttribute("data-state");
|
|
24
|
+
if (ev === "correct") return "g";
|
|
25
|
+
if (ev === "present") return "y";
|
|
26
|
+
if (ev === "absent") return "b";
|
|
27
|
+
return "?";
|
|
28
|
+
})
|
|
29
|
+
.join("");
|
|
30
|
+
|
|
31
|
+
return { letters, pattern, filledRows: filled.length };
|
|
32
|
+
})()
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aix
|
|
3
|
+
description: AI session intelligence - search and analyze your AI conversation history from Cursor, Claude Code CLI, Codex, Claude Desktop, and OpenCode
|
|
4
|
+
homepage: https://github.com/Napageneral/aix
|
|
5
|
+
metadata: {"nexus":{"emoji":"🧠","os":["darwin","linux"],"requires":{"bins":["aix"]},"install":[{"id":"brew","kind":"brew","formula":"Napageneral/tap/aix","bins":["aix"],"label":"Install via Homebrew"},{"id":"go","kind":"shell","script":"go install github.com/Napageneral/aix/cmd/aix@latest","bins":["aix"],"label":"Install via Go"}]}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# aix 🧠
|
|
9
|
+
|
|
10
|
+
AI session intelligence - search and analyze your AI conversation history from multiple sources.
|
|
11
|
+
|
|
12
|
+
## Docs
|
|
13
|
+
|
|
14
|
+
- `docs/setup.md`
|
|
15
|
+
- `docs/embeddings.md`
|
|
16
|
+
- `docs/troubleshooting.md`
|
|
17
|
+
- `references/sql.md`
|
|
18
|
+
|
|
19
|
+
## Supported Sources
|
|
20
|
+
|
|
21
|
+
| Source | Tool | Status |
|
|
22
|
+
|--------|------|--------|
|
|
23
|
+
| `cursor` | Cursor IDE | Full messages |
|
|
24
|
+
| `claude-code` | Claude Code CLI (`~/.claude/projects/`) | Full messages |
|
|
25
|
+
| `codex` | Anthropic Codex CLI (`~/.codex/sessions/`) | Full messages |
|
|
26
|
+
| `opencode` | OpenCode | Full messages |
|
|
27
|
+
| `claude` | Claude Desktop | Metadata only |
|
|
28
|
+
|
|
29
|
+
## What it does
|
|
30
|
+
|
|
31
|
+
- Reads directly from AI tool databases (Cursor, Claude Code CLI, Codex, Claude Desktop, OpenCode)
|
|
32
|
+
- Exports raw sessions to `~/nexus/home/sessions/` for git-tracked durability
|
|
33
|
+
- Imports into `aix.db` for analysis and querying
|
|
34
|
+
- Tracks which AI model was used (claude-4.5-opus, gpt-5, etc.)
|
|
35
|
+
- Extracts rich metadata: capabilities, linter errors, file references, code blocks
|
|
36
|
+
- Supports semantic search via embeddings
|
|
37
|
+
|
|
38
|
+
## Quick Start
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
aix init # Initialize config and database
|
|
42
|
+
aix sync --all # Sync from ALL sources
|
|
43
|
+
aix sync --source claude-code # Or sync from specific source
|
|
44
|
+
aix sessions # List all sessions
|
|
45
|
+
aix stats # Show statistics with source breakdown
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Key Commands
|
|
49
|
+
|
|
50
|
+
| Command | Description |
|
|
51
|
+
|---------|-------------|
|
|
52
|
+
| `aix sync --all` | Sync from all available sources |
|
|
53
|
+
| `aix sync --source <src>` | Sync from cursor/claude-code/codex/claude/opencode |
|
|
54
|
+
| `aix sessions [--source <s>] [--project <p>]` | List sessions |
|
|
55
|
+
| `aix show <session-id>` | View session (partial ID ok) |
|
|
56
|
+
| `aix db query <sql>` | Run SQL queries |
|
|
57
|
+
| `aix embed` | Generate embeddings |
|
|
58
|
+
| `aix search <query>` | Semantic search |
|
|
59
|
+
|
|
60
|
+
## Useful Queries
|
|
61
|
+
|
|
62
|
+
```sql
|
|
63
|
+
-- Sessions by source
|
|
64
|
+
SELECT source, COUNT(*) as sessions, SUM(message_count) as msgs
|
|
65
|
+
FROM sessions GROUP BY source ORDER BY sessions DESC;
|
|
66
|
+
|
|
67
|
+
-- Model usage
|
|
68
|
+
SELECT model, COUNT(*) as sessions FROM sessions
|
|
69
|
+
WHERE model IS NOT NULL GROUP BY model ORDER BY sessions DESC;
|
|
70
|
+
|
|
71
|
+
-- Recent activity by source
|
|
72
|
+
SELECT date(created_at/1000, 'unixepoch') as day, source, COUNT(*)
|
|
73
|
+
FROM sessions WHERE created_at > 0 GROUP BY day, source ORDER BY day DESC LIMIT 14;
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Data Flow
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
Cursor DB ─┐
|
|
80
|
+
Claude Code CLI ─┼─► ~/nexus/home/sessions/ (durable) ─► aix.db (analysis)
|
|
81
|
+
Codex CLI ─┤
|
|
82
|
+
Claude Desktop ─┤
|
|
83
|
+
OpenCode ─┘
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Requirements
|
|
87
|
+
|
|
88
|
+
- At least one AI tool (Cursor, Claude Code CLI, Codex, Claude Desktop, or OpenCode)
|
|
89
|
+
- `GEMINI_API_KEY` (optional, for semantic search)
|
|
90
|
+
|
|
91
|
+
## Source
|
|
92
|
+
|
|
93
|
+
Project: `~/nexus/home/projects/aix`
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# aix Embeddings and Semantic Search
|
|
2
|
+
|
|
3
|
+
Semantic search uses Gemini embeddings and requires `GEMINI_API_KEY`.
|
|
4
|
+
|
|
5
|
+
## Set GEMINI_API_KEY
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
export GEMINI_API_KEY="your-key-here"
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
With 1Password:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
export GEMINI_API_KEY=$(op read "op://Personal/Gemini API Key/credential")
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Persist in your shell profile if desired:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
echo 'export GEMINI_API_KEY="op://Personal/Gemini API Key/credential"' >> ~/.zshrc
|
|
21
|
+
source ~/.zshrc
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Generate embeddings
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
aix embed
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Search
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
aix search "authentication bug"
|
|
34
|
+
aix search "how to fix async error"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Performance notes
|
|
38
|
+
|
|
39
|
+
- First embed run can take several minutes on large histories.
|
|
40
|
+
- Subsequent runs only process new messages.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# aix Setup
|
|
2
|
+
|
|
3
|
+
`aix` aggregates AI sessions across tools like Cursor, Claude Code CLI, Codex, Claude Desktop, and OpenCode.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- At least one supported AI tool with existing sessions
|
|
8
|
+
- `aix` installed
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# Homebrew (recommended)
|
|
14
|
+
brew install Napageneral/tap/aix
|
|
15
|
+
|
|
16
|
+
# Or via Go
|
|
17
|
+
go install github.com/Napageneral/aix/cmd/aix@latest
|
|
18
|
+
|
|
19
|
+
# Verify
|
|
20
|
+
aix --version
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Initialize
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
aix init
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
This creates:
|
|
30
|
+
- `~/.aix/config.yaml`
|
|
31
|
+
- `~/.aix/aix.db`
|
|
32
|
+
- `~/nexus/home/sessions/` (exported sessions)
|
|
33
|
+
|
|
34
|
+
## Sync sessions
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
aix sync --all
|
|
38
|
+
aix sessions
|
|
39
|
+
aix stats
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Sync a specific source:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
aix sync --source cursor
|
|
46
|
+
aix sync --source claude-code
|
|
47
|
+
aix sync --source codex
|
|
48
|
+
aix sync --source claude
|
|
49
|
+
aix sync --source opencode
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Verify
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
aix sessions
|
|
56
|
+
aix stats
|
|
57
|
+
aix show <session-id>
|
|
58
|
+
```
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# aix Troubleshooting
|
|
2
|
+
|
|
3
|
+
## No sources found
|
|
4
|
+
|
|
5
|
+
**Symptom:** `aix sync --all` finds 0 sessions.
|
|
6
|
+
|
|
7
|
+
**Fix:**
|
|
8
|
+
1. Confirm the tool has been used at least once.
|
|
9
|
+
2. Re-run sync for a specific source.
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
aix sync --source cursor
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Permission denied or locked DB
|
|
16
|
+
|
|
17
|
+
**Cause:** AI tool is running or files are locked.
|
|
18
|
+
|
|
19
|
+
**Fix:**
|
|
20
|
+
1. Close the AI tool (Cursor, Claude Desktop, etc.).
|
|
21
|
+
2. Re-run sync.
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
aix sync --all
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## GEMINI_API_KEY missing
|
|
28
|
+
|
|
29
|
+
**Cause:** Semantic search requires a key.
|
|
30
|
+
|
|
31
|
+
**Fix:**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
export GEMINI_API_KEY=$(op read "op://Personal/Gemini API Key/credential")
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Embeddings are slow
|
|
38
|
+
|
|
39
|
+
**Cause:** Large history or rate limits.
|
|
40
|
+
|
|
41
|
+
**Fix:** Let it finish; subsequent runs are incremental.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# aix SQL Reference
|
|
2
|
+
|
|
3
|
+
## Core tables
|
|
4
|
+
|
|
5
|
+
- `sessions` - session metadata (id, source, model, timestamps)
|
|
6
|
+
- `messages` - individual messages
|
|
7
|
+
- `code_blocks` - extracted code blocks
|
|
8
|
+
- `capabilities` - capabilities detected
|
|
9
|
+
- `files` - referenced files
|
|
10
|
+
- `errors` - linter errors
|
|
11
|
+
- `embeddings` - vector embeddings
|
|
12
|
+
|
|
13
|
+
## SQL examples
|
|
14
|
+
|
|
15
|
+
```sql
|
|
16
|
+
-- Total sessions per source
|
|
17
|
+
SELECT source, COUNT(*) as sessions
|
|
18
|
+
FROM sessions
|
|
19
|
+
GROUP BY source;
|
|
20
|
+
|
|
21
|
+
-- Model usage
|
|
22
|
+
SELECT model, COUNT(*) as count
|
|
23
|
+
FROM sessions
|
|
24
|
+
WHERE model IS NOT NULL
|
|
25
|
+
GROUP BY model
|
|
26
|
+
ORDER BY count DESC;
|
|
27
|
+
|
|
28
|
+
-- Recent activity (last 14 days)
|
|
29
|
+
SELECT date(created_at/1000, 'unixepoch') as day,
|
|
30
|
+
source,
|
|
31
|
+
COUNT(*) as sessions
|
|
32
|
+
FROM sessions
|
|
33
|
+
WHERE created_at > (strftime('%s', 'now') - 1209600) * 1000
|
|
34
|
+
GROUP BY day, source
|
|
35
|
+
ORDER BY day DESC;
|
|
36
|
+
|
|
37
|
+
-- Sessions with specific file references
|
|
38
|
+
SELECT s.id, s.title, f.path
|
|
39
|
+
FROM sessions s
|
|
40
|
+
JOIN files f ON s.id = f.session_id
|
|
41
|
+
WHERE f.path LIKE '%auth%';
|
|
42
|
+
|
|
43
|
+
-- Code blocks by language
|
|
44
|
+
SELECT language, COUNT(*) as blocks
|
|
45
|
+
FROM code_blocks
|
|
46
|
+
GROUP BY language
|
|
47
|
+
ORDER BY blocks DESC;
|
|
48
|
+
```
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: apple-notes
|
|
3
|
+
description: Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks Nexus to add a note, list notes, search notes, or manage note folders.
|
|
4
|
+
homepage: https://github.com/antoniorodr/memo
|
|
5
|
+
metadata: {"nexus":{"emoji":"📝","os":["darwin"],"requires":{"bins":["memo"]},"install":[{"id":"brew","kind":"brew","formula":"antoniorodr/memo/memo","bins":["memo"],"label":"Install memo via Homebrew"}]}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Apple Notes CLI
|
|
9
|
+
|
|
10
|
+
Use `memo notes` to manage Apple Notes directly from the terminal. Create, view, edit, delete, search, move notes between folders, and export to HTML/Markdown.
|
|
11
|
+
|
|
12
|
+
Setup
|
|
13
|
+
- Install (Homebrew): `brew tap antoniorodr/memo && brew install antoniorodr/memo/memo`
|
|
14
|
+
- Manual (pip): `pip install .` (after cloning the repo)
|
|
15
|
+
- macOS-only; if prompted, grant Automation access to Notes.app.
|
|
16
|
+
|
|
17
|
+
View Notes
|
|
18
|
+
- List all notes: `memo notes`
|
|
19
|
+
- Filter by folder: `memo notes -f "Folder Name"`
|
|
20
|
+
- Search notes (fuzzy): `memo notes -s "query"`
|
|
21
|
+
|
|
22
|
+
Create Notes
|
|
23
|
+
- Add a new note: `memo notes -a`
|
|
24
|
+
- Opens an interactive editor to compose the note.
|
|
25
|
+
- Quick add with title: `memo notes -a "Note Title"`
|
|
26
|
+
|
|
27
|
+
Edit Notes
|
|
28
|
+
- Edit existing note: `memo notes -e`
|
|
29
|
+
- Interactive selection of note to edit.
|
|
30
|
+
|
|
31
|
+
Delete Notes
|
|
32
|
+
- Delete a note: `memo notes -d`
|
|
33
|
+
- Interactive selection of note to delete.
|
|
34
|
+
|
|
35
|
+
Move Notes
|
|
36
|
+
- Move note to folder: `memo notes -m`
|
|
37
|
+
- Interactive selection of note and destination folder.
|
|
38
|
+
|
|
39
|
+
Export Notes
|
|
40
|
+
- Export to HTML/Markdown: `memo notes -ex`
|
|
41
|
+
- Exports selected note; uses Mistune for markdown processing.
|
|
42
|
+
|
|
43
|
+
Limitations
|
|
44
|
+
- Cannot edit notes containing images or attachments.
|
|
45
|
+
- Interactive prompts may require terminal access.
|
|
46
|
+
|
|
47
|
+
Notes
|
|
48
|
+
- macOS-only.
|
|
49
|
+
- Requires Apple Notes.app to be accessible.
|
|
50
|
+
- For automation, grant permissions in System Settings > Privacy & Security > Automation.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: apple-reminders
|
|
3
|
+
description: Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
|
|
4
|
+
homepage: https://github.com/steipete/remindctl
|
|
5
|
+
metadata: {"nexus":{"emoji":"⏰","os":["darwin"],"requires":{"bins":["remindctl"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/remindctl","bins":["remindctl"],"label":"Install remindctl via Homebrew"}]}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Apple Reminders CLI (remindctl)
|
|
9
|
+
|
|
10
|
+
Use `remindctl` to manage Apple Reminders directly from the terminal. It supports list filtering, date-based views, and scripting output.
|
|
11
|
+
|
|
12
|
+
Setup
|
|
13
|
+
- Install (Homebrew): `brew install steipete/tap/remindctl`
|
|
14
|
+
- From source: `pnpm install && pnpm build` (binary at `./bin/remindctl`)
|
|
15
|
+
- macOS-only; grant Reminders permission when prompted.
|
|
16
|
+
|
|
17
|
+
Permissions
|
|
18
|
+
- Check status: `remindctl status`
|
|
19
|
+
- Request access: `remindctl authorize`
|
|
20
|
+
|
|
21
|
+
View Reminders
|
|
22
|
+
- Default (today): `remindctl`
|
|
23
|
+
- Today: `remindctl today`
|
|
24
|
+
- Tomorrow: `remindctl tomorrow`
|
|
25
|
+
- Week: `remindctl week`
|
|
26
|
+
- Overdue: `remindctl overdue`
|
|
27
|
+
- Upcoming: `remindctl upcoming`
|
|
28
|
+
- Completed: `remindctl completed`
|
|
29
|
+
- All: `remindctl all`
|
|
30
|
+
- Specific date: `remindctl 2026-01-04`
|
|
31
|
+
|
|
32
|
+
Manage Lists
|
|
33
|
+
- List all lists: `remindctl list`
|
|
34
|
+
- Show list: `remindctl list Work`
|
|
35
|
+
- Create list: `remindctl list Projects --create`
|
|
36
|
+
- Rename list: `remindctl list Work --rename Office`
|
|
37
|
+
- Delete list: `remindctl list Work --delete`
|
|
38
|
+
|
|
39
|
+
Create Reminders
|
|
40
|
+
- Quick add: `remindctl add "Buy milk"`
|
|
41
|
+
- With list + due: `remindctl add --title "Call mom" --list Personal --due tomorrow`
|
|
42
|
+
|
|
43
|
+
Edit Reminders
|
|
44
|
+
- Edit title/due: `remindctl edit 1 --title "New title" --due 2026-01-04`
|
|
45
|
+
|
|
46
|
+
Complete Reminders
|
|
47
|
+
- Complete by id: `remindctl complete 1 2 3`
|
|
48
|
+
|
|
49
|
+
Delete Reminders
|
|
50
|
+
- Delete by id: `remindctl delete 4A83 --force`
|
|
51
|
+
|
|
52
|
+
Output Formats
|
|
53
|
+
- JSON (scripting): `remindctl today --json`
|
|
54
|
+
- Plain TSV: `remindctl today --plain`
|
|
55
|
+
- Counts only: `remindctl today --quiet`
|
|
56
|
+
|
|
57
|
+
Date Formats
|
|
58
|
+
Accepted by `--due` and date filters:
|
|
59
|
+
- `today`, `tomorrow`, `yesterday`
|
|
60
|
+
- `YYYY-MM-DD`
|
|
61
|
+
- `YYYY-MM-DD HH:mm`
|
|
62
|
+
- ISO 8601 (`2026-01-04T12:34:56Z`)
|
|
63
|
+
|
|
64
|
+
Notes
|
|
65
|
+
- macOS-only.
|
|
66
|
+
- If access is denied, enable Terminal/remindctl in System Settings → Privacy & Security → Reminders.
|
|
67
|
+
- If running over SSH, grant access on the Mac that runs the command.
|