@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,367 @@
|
|
|
1
|
+
# Skill Deep-Dive: 1password
|
|
2
|
+
|
|
3
|
+
**Skill**: `1password`
|
|
4
|
+
**Category**: Local Foundation
|
|
5
|
+
**Setup Difficulty**: 🟡 Medium
|
|
6
|
+
**Time Estimate**: ~5-10 minutes
|
|
7
|
+
**Platform**: Cross-platform (macOS, Windows, Linux)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## What It Enables
|
|
12
|
+
|
|
13
|
+
| Capability | Description | Example |
|
|
14
|
+
|------------|-------------|---------|
|
|
15
|
+
| Secure secret storage | Store and retrieve credentials without writing them to disk | `op read op://vault/item/password` |
|
|
16
|
+
| Secret injection | Inject secrets into config files or env vars | `op inject -i config.tpl -o config.yml` |
|
|
17
|
+
| Secure command execution | Run commands with secrets in environment | `op run -- ./script.sh` |
|
|
18
|
+
| Multi-account management | Switch between personal and work accounts | `op signin --account work` |
|
|
19
|
+
| Cross-skill credential provider | All other skills depend on this for storing API keys, tokens, etc. | Used by gog, eve, wacli, etc. |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Dependencies
|
|
24
|
+
|
|
25
|
+
### Hard Dependencies (Required)
|
|
26
|
+
- [ ] `1Password account` — Requires active subscription
|
|
27
|
+
- [ ] `1Password desktop app` — Required for app integration (recommended auth method)
|
|
28
|
+
- [ ] `brew` (macOS) or equivalent package manager — For installing `op` CLI
|
|
29
|
+
|
|
30
|
+
### Soft Dependencies (Recommended)
|
|
31
|
+
- [ ] `tmux` skill — For avoiding repeated auth prompts in automation contexts
|
|
32
|
+
|
|
33
|
+
### This Skill Enables
|
|
34
|
+
- [ ] `gog` — Stores Google OAuth tokens
|
|
35
|
+
- [ ] `eve` — Stores email credentials
|
|
36
|
+
- [ ] `wacli` — Stores WhatsApp session tokens
|
|
37
|
+
- [ ] `nexus-cloud` — Stores cloud API keys
|
|
38
|
+
- [ ] `brave-search` — Stores Brave API key
|
|
39
|
+
- [ ] **ALL skills that require credentials** — Foundation for secure credential management
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Installation
|
|
44
|
+
|
|
45
|
+
### Prerequisites Check
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Check if 1Password desktop app is installed
|
|
49
|
+
# macOS:
|
|
50
|
+
ls -la /Applications/1Password.app && echo "✅ 1Password app found" || echo "❌ Need to install 1Password app"
|
|
51
|
+
|
|
52
|
+
# Check if brew is installed (macOS)
|
|
53
|
+
which brew || echo "❌ Need to install Homebrew first"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Installation Steps
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Step 1: Install 1Password CLI
|
|
60
|
+
brew install 1password-cli
|
|
61
|
+
|
|
62
|
+
# Step 2: Verify installation
|
|
63
|
+
op --version
|
|
64
|
+
# Expected output: e.g., "2.25.0"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Verification
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Verify CLI is accessible
|
|
71
|
+
op --version
|
|
72
|
+
|
|
73
|
+
# Check for desktop app integration capability
|
|
74
|
+
op whoami
|
|
75
|
+
# If not configured, will prompt to enable integration
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Configuration
|
|
81
|
+
|
|
82
|
+
### Required Configuration
|
|
83
|
+
|
|
84
|
+
**Enable Desktop App Integration** (CANNOT be automated - requires manual steps):
|
|
85
|
+
|
|
86
|
+
1. **Open 1Password desktop app** and unlock it
|
|
87
|
+
2. **Select your account/collection** (if you have multiple)
|
|
88
|
+
3. **Navigate to settings**:
|
|
89
|
+
- **macOS**: 1Password → Settings → Developer → Enable "Integrate with 1Password CLI"
|
|
90
|
+
- Optional: Enable "Use Touch ID to authenticate" for biometric auth
|
|
91
|
+
- **Windows**: Turn on Windows Hello first, then Settings → Developer → Enable "Integrate with 1Password CLI"
|
|
92
|
+
- **Linux**: Settings → Security → Enable "Unlock using system authentication", then Settings → Developer → Enable "Integrate with 1Password CLI"
|
|
93
|
+
- Requires PolKit + an auth agent
|
|
94
|
+
|
|
95
|
+
### First Sign-In
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Step 1: Sign in (will open 1Password app for authorization)
|
|
99
|
+
op signin
|
|
100
|
+
|
|
101
|
+
# Step 2: Verify authentication
|
|
102
|
+
op whoami
|
|
103
|
+
# Expected output: Shows your account details
|
|
104
|
+
|
|
105
|
+
# Step 3: List vaults to confirm access
|
|
106
|
+
op vault list
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Optional Configuration
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# For multiple accounts: Set default account
|
|
113
|
+
export OP_ACCOUNT="my.1password.com"
|
|
114
|
+
|
|
115
|
+
# Or specify account per command
|
|
116
|
+
op whoami --account work.1password.com
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## User Actions Required
|
|
122
|
+
|
|
123
|
+
List any manual steps the user MUST perform (can't be automated):
|
|
124
|
+
|
|
125
|
+
1. **Install 1Password desktop app**: Download from 1Password website, install, and create/sign in to account
|
|
126
|
+
2. **Enable CLI integration**: Open 1Password app → Settings → Developer → Toggle "Integrate with 1Password CLI"
|
|
127
|
+
3. **Authorize terminal on first use**: When running first `op` command, click "Authorize" in the desktop app prompt
|
|
128
|
+
4. **Keep app unlocked**: Desktop app must be unlocked for CLI to work with app integration
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Common Failure Points
|
|
133
|
+
|
|
134
|
+
### Failure: "1Password CLI is not signed in"
|
|
135
|
+
|
|
136
|
+
**Symptom**: Running `op` commands returns error: `[ERROR] 1Password CLI is not signed in. Run 'op signin' to sign in.`
|
|
137
|
+
|
|
138
|
+
**Cause**: Either app integration not enabled, desktop app is locked, or terminal not authorized
|
|
139
|
+
|
|
140
|
+
**Recovery**:
|
|
141
|
+
```bash
|
|
142
|
+
# Step 1: Verify desktop app is running and unlocked
|
|
143
|
+
# (Open 1Password app manually)
|
|
144
|
+
|
|
145
|
+
# Step 2: Re-run sign in
|
|
146
|
+
op signin
|
|
147
|
+
|
|
148
|
+
# Step 3: Authorize in the desktop app when prompted
|
|
149
|
+
|
|
150
|
+
# Step 4: Verify
|
|
151
|
+
op whoami
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**Prevention**: Keep 1Password desktop app running and unlocked during automation tasks
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### Failure: "Desktop app integration not enabled"
|
|
159
|
+
|
|
160
|
+
**Symptom**: CLI doesn't connect to app, or prompts for manual credentials
|
|
161
|
+
|
|
162
|
+
**Cause**: Integration toggle not enabled in 1Password settings
|
|
163
|
+
|
|
164
|
+
**Recovery**:
|
|
165
|
+
1. Open 1Password desktop app
|
|
166
|
+
2. Go to Settings → Developer
|
|
167
|
+
3. Enable "Integrate with 1Password CLI"
|
|
168
|
+
4. Run `op signin` again
|
|
169
|
+
|
|
170
|
+
**Prevention**: Follow installation configuration steps completely
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
### Failure: Repeated auth prompts in automation
|
|
175
|
+
|
|
176
|
+
**Symptom**: Every `op` command triggers a new authorization prompt in the desktop app
|
|
177
|
+
|
|
178
|
+
**Cause**: Each bash command runs in a fresh TTY, losing auth session context
|
|
179
|
+
|
|
180
|
+
**Recovery**: Use tmux to maintain session across commands
|
|
181
|
+
```bash
|
|
182
|
+
# Create persistent tmux session for op commands
|
|
183
|
+
SOCKET_DIR="${NEXUS_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/nexus-tmux-sockets}"
|
|
184
|
+
mkdir -p "$SOCKET_DIR"
|
|
185
|
+
SOCKET="$SOCKET_DIR/nexus.sock"
|
|
186
|
+
SESSION=op-auth
|
|
187
|
+
|
|
188
|
+
# Start session
|
|
189
|
+
tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
|
|
190
|
+
|
|
191
|
+
# Run commands in the same session
|
|
192
|
+
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op signin" Enter
|
|
193
|
+
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op vault list" Enter
|
|
194
|
+
|
|
195
|
+
# Capture output
|
|
196
|
+
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Prevention**: For automation scripts, consolidate multiple `op` commands into a single bash session or tmux window
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
### Failure: Multi-account confusion
|
|
204
|
+
|
|
205
|
+
**Symptom**: Commands work but access wrong account's vaults
|
|
206
|
+
|
|
207
|
+
**Cause**: Multiple 1Password accounts signed in, CLI using wrong account by default
|
|
208
|
+
|
|
209
|
+
**Recovery**:
|
|
210
|
+
```bash
|
|
211
|
+
# List all accounts
|
|
212
|
+
op account list
|
|
213
|
+
|
|
214
|
+
# Sign in to specific account
|
|
215
|
+
op signin --account work.1password.com
|
|
216
|
+
|
|
217
|
+
# Or set environment variable
|
|
218
|
+
export OP_ACCOUNT="work.1password.com"
|
|
219
|
+
|
|
220
|
+
# Verify correct account
|
|
221
|
+
op whoami
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
**Prevention**: Set `OP_ACCOUNT` environment variable for multi-account setups
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Automation Opportunities
|
|
229
|
+
|
|
230
|
+
| Step | Automatable? | Tool | Notes |
|
|
231
|
+
|------|--------------|------|-------|
|
|
232
|
+
| Install CLI | ✅ Yes | bash | `brew install 1password-cli` |
|
|
233
|
+
| Check if app installed | ✅ Yes | bash | Check for app bundle path |
|
|
234
|
+
| Enable app integration | ❌ No | - | Requires manual toggle in app settings |
|
|
235
|
+
| First signin | ❌ No | - | Requires clicking "Authorize" in app |
|
|
236
|
+
| Read secrets | ✅ Yes | bash | `op read op://vault/item/field` |
|
|
237
|
+
| Inject into files | ✅ Yes | bash | `op inject -i template -o output` |
|
|
238
|
+
| Run with secrets | ✅ Yes | bash | `op run -- command` |
|
|
239
|
+
| Detect if signed in | ✅ Yes | bash | `op whoami` (check exit code) |
|
|
240
|
+
|
|
241
|
+
### Automation Script
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
# Check if 1Password CLI is ready for use
|
|
245
|
+
#!/bin/bash
|
|
246
|
+
|
|
247
|
+
# Check if op CLI is installed
|
|
248
|
+
if ! command -v op &> /dev/null; then
|
|
249
|
+
echo "❌ 1Password CLI not installed"
|
|
250
|
+
echo "Run: brew install 1password-cli"
|
|
251
|
+
exit 1
|
|
252
|
+
fi
|
|
253
|
+
|
|
254
|
+
# Check if signed in
|
|
255
|
+
if ! op whoami &> /dev/null; then
|
|
256
|
+
echo "❌ Not signed in to 1Password"
|
|
257
|
+
echo "Run: op signin"
|
|
258
|
+
echo "Make sure 1Password desktop app is running and unlocked"
|
|
259
|
+
exit 1
|
|
260
|
+
fi
|
|
261
|
+
|
|
262
|
+
echo "✅ 1Password CLI ready"
|
|
263
|
+
op whoami
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Wow Moments
|
|
269
|
+
|
|
270
|
+
| Moment | What Happens | When to Demo |
|
|
271
|
+
|--------|--------------|--------------|
|
|
272
|
+
| Secret-free config files | Show a config template with `{{ op://... }}` placeholders, then inject actual secrets without exposing them | After first successful signin |
|
|
273
|
+
| Zero secrets on disk | Run a script that uses API keys without ever writing them to `.env` files | When setting up first skill that needs credentials |
|
|
274
|
+
| Cross-account switching | Seamlessly switch between personal and work accounts | When user mentions having multiple 1Password accounts |
|
|
275
|
+
|
|
276
|
+
### Demo Script
|
|
277
|
+
|
|
278
|
+
```
|
|
279
|
+
Agent: "Let me show you how 1Password keeps your credentials secure. Instead of storing API keys in files, we'll reference them directly from your vault."
|
|
280
|
+
|
|
281
|
+
# Create a demo template
|
|
282
|
+
echo 'DATABASE_URL={{ op://dev/postgres/url }}' > config.template
|
|
283
|
+
|
|
284
|
+
# Inject without exposing secret
|
|
285
|
+
op inject -i config.template
|
|
286
|
+
|
|
287
|
+
Agent: "Notice how the secret was retrieved but never written to disk? This is how all your Nexus skills will store credentials securely."
|
|
288
|
+
|
|
289
|
+
# Alternative: Run command with secret in environment
|
|
290
|
+
export API_KEY='op://dev/api-keys/openai'
|
|
291
|
+
op run -- env | grep API_KEY
|
|
292
|
+
|
|
293
|
+
Agent: "The secret is loaded into the environment only while the command runs, then disappears."
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Integration with Other Skills
|
|
299
|
+
|
|
300
|
+
| Skill | Integration | Notes |
|
|
301
|
+
|-------|-------------|-------|
|
|
302
|
+
| **gog** | Stores `credentials.json` and OAuth tokens | Critical: gog token must be backed up to 1Password |
|
|
303
|
+
| **eve** | Stores email account credentials | Uses op:// references for secure storage |
|
|
304
|
+
| **wacli** | Stores WhatsApp session data | Prevents loss of WhatsApp connection |
|
|
305
|
+
| **nexus-cloud** | Stores cloud API credentials | For workspace sync |
|
|
306
|
+
| **brave-search** | Stores Brave API key | Alternative to environment variables |
|
|
307
|
+
| **tmux** | Avoids repeated auth prompts | Use tmux sessions for automation |
|
|
308
|
+
| **All credential-dependent skills** | Foundation for secure storage | Setup 1Password before any skill that needs secrets |
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## Testing Checklist
|
|
313
|
+
|
|
314
|
+
- [ ] Fresh install works: `brew install 1password-cli`
|
|
315
|
+
- [ ] CLI version check: `op --version`
|
|
316
|
+
- [ ] Desktop app integration enabled (manual step verified)
|
|
317
|
+
- [ ] Sign in works: `op signin` + authorize in app
|
|
318
|
+
- [ ] Whoami shows account: `op whoami`
|
|
319
|
+
- [ ] Can list vaults: `op vault list`
|
|
320
|
+
- [ ] Can read a secret: `op read op://vault/item/field`
|
|
321
|
+
- [ ] Inject works: `op inject -i template`
|
|
322
|
+
- [ ] Run works: `op run -- env`
|
|
323
|
+
- [ ] Multi-account switching works (if applicable)
|
|
324
|
+
- [ ] Failure recovery: Lock app, try command, see error, unlock, retry
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## Notes for Onboarding Agent
|
|
329
|
+
|
|
330
|
+
- **ALWAYS recommend this skill FIRST** - It's the foundation for all credential storage
|
|
331
|
+
- **Check if user has 1Password account** - If not, they need to create one first (requires subscription)
|
|
332
|
+
- **Emphasize manual steps** - Desktop app integration CANNOT be automated
|
|
333
|
+
- **For new users**: Explain why this is better than `.env` files (no secrets on disk, no git accidents)
|
|
334
|
+
- **For users coming from other systems**: Show how `op://` references replace environment variables
|
|
335
|
+
- **When NOT to recommend**: If user doesn't have/want 1Password subscription (suggest alternative: environment variables with strong warnings)
|
|
336
|
+
- **Security reminder**: Never ask user to paste secrets in chat - always use `op://` references
|
|
337
|
+
- **Multi-account awareness**: Ask if they have work/personal accounts - setup is slightly different
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
## Platform-Specific Notes
|
|
342
|
+
|
|
343
|
+
### macOS
|
|
344
|
+
- Requires Big Sur 11.0.0 or later
|
|
345
|
+
- Touch ID integration available (optional but recommended)
|
|
346
|
+
- Most seamless experience
|
|
347
|
+
|
|
348
|
+
### Windows
|
|
349
|
+
- Requires Windows Hello to be enabled first
|
|
350
|
+
- Then enable CLI integration in settings
|
|
351
|
+
|
|
352
|
+
### Linux
|
|
353
|
+
- Requires PolKit + an auth agent
|
|
354
|
+
- Enable "Unlock using system authentication" first
|
|
355
|
+
- Then enable CLI integration
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
## Changelog
|
|
360
|
+
|
|
361
|
+
| Date | Change |
|
|
362
|
+
|------|--------|
|
|
363
|
+
| 2026-01-12 | Initial deep-dive created |
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
*Template version: 1.0*
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# Skill Deep-Dive: [SKILL_NAME]
|
|
2
|
+
|
|
3
|
+
**Skill**: `[skill_name]`
|
|
4
|
+
**Category**: [Local Foundation | Communication Data | Code/Productivity | Agent Reachability | Automation | Free]
|
|
5
|
+
**Setup Difficulty**: [🟢 Easy | 🟡 Medium | 🟠 Hard | 🔴 Very Hard]
|
|
6
|
+
**Time Estimate**: ~X minutes
|
|
7
|
+
**Platform**: [macOS | Cross-platform | macOS + Linux]
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## What It Enables
|
|
12
|
+
|
|
13
|
+
| Capability | Description | Example |
|
|
14
|
+
|------------|-------------|---------|
|
|
15
|
+
| [Capability 1] | [What it does] | `command example` |
|
|
16
|
+
| [Capability 2] | [What it does] | `command example` |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Capability Tiers (if applicable)
|
|
21
|
+
|
|
22
|
+
| Tier | What's Enabled | Additional Requirements |
|
|
23
|
+
|------|----------------|------------------------|
|
|
24
|
+
| Tier 1 | [Basic capability] | [What's needed] |
|
|
25
|
+
| Tier 2 | [Enhanced capability] | [What's needed] |
|
|
26
|
+
| Tier 3 | [Full capability] | [What's needed] |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Dependencies
|
|
31
|
+
|
|
32
|
+
### Hard Dependencies (Required)
|
|
33
|
+
- [ ] `dependency_1` — Reason
|
|
34
|
+
- [ ] `dependency_2` — Reason
|
|
35
|
+
|
|
36
|
+
### Soft Dependencies (Recommended)
|
|
37
|
+
- [ ] `dependency_1` — Reason
|
|
38
|
+
- [ ] `dependency_2` — Reason
|
|
39
|
+
|
|
40
|
+
### This Skill Enables
|
|
41
|
+
- [ ] `other_skill` — How it enables it
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Installation
|
|
46
|
+
|
|
47
|
+
### Prerequisites Check
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Check if prerequisites are met
|
|
51
|
+
which [binary] || echo "Need to install [thing]"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Installation Steps
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Step 1: [Description]
|
|
58
|
+
[command]
|
|
59
|
+
|
|
60
|
+
# Step 2: [Description]
|
|
61
|
+
[command]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Verification
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Verify installation
|
|
68
|
+
[verification_command]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Configuration
|
|
74
|
+
|
|
75
|
+
### Required Configuration
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# [Description of what this configures]
|
|
79
|
+
[command]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Optional Configuration
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# [Description]
|
|
86
|
+
[command]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## User Actions Required
|
|
92
|
+
|
|
93
|
+
List any manual steps the user MUST perform (can't be automated):
|
|
94
|
+
|
|
95
|
+
1. **[Action]**: [Description of what to click/do]
|
|
96
|
+
2. **[Action]**: [Description of what to click/do]
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Common Failure Points
|
|
101
|
+
|
|
102
|
+
### Failure: [Failure name]
|
|
103
|
+
|
|
104
|
+
**Symptom**: [What the user sees]
|
|
105
|
+
|
|
106
|
+
**Cause**: [Why it happens]
|
|
107
|
+
|
|
108
|
+
**Recovery**:
|
|
109
|
+
```bash
|
|
110
|
+
[recovery_commands]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Prevention**: [How to avoid this]
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Automation Opportunities
|
|
118
|
+
|
|
119
|
+
| Step | Automatable? | Tool | Notes |
|
|
120
|
+
|------|--------------|------|-------|
|
|
121
|
+
| [Step 1] | ✅ Yes | bash | [notes] |
|
|
122
|
+
| [Step 2] | ❌ No | - | Requires manual click |
|
|
123
|
+
| [Step 3] | 🟡 Partial | computer-use | [notes] |
|
|
124
|
+
|
|
125
|
+
### Automation Script (if available)
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Path: skills/onboarding/scripts/automation/[skill]-setup.sh
|
|
129
|
+
[script_content_or_link]
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Wow Moments
|
|
135
|
+
|
|
136
|
+
| Moment | What Happens | When to Demo |
|
|
137
|
+
|--------|--------------|--------------|
|
|
138
|
+
| [Moment 1] | [Description] | After [step] |
|
|
139
|
+
|
|
140
|
+
### Demo Script
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
Agent: "[What to say to user]"
|
|
144
|
+
|
|
145
|
+
[commands to run]
|
|
146
|
+
|
|
147
|
+
Agent: "[What to say after]"
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Dual-Purpose Usage (if applicable)
|
|
153
|
+
|
|
154
|
+
### For User Data Access
|
|
155
|
+
- [How to use for reading user's data]
|
|
156
|
+
|
|
157
|
+
### For Agent Identity
|
|
158
|
+
- [How to use for agent's own account]
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Integration with Other Skills
|
|
163
|
+
|
|
164
|
+
| Skill | Integration | Notes |
|
|
165
|
+
|-------|-------------|-------|
|
|
166
|
+
| comms | [How they integrate] | [notes] |
|
|
167
|
+
| [other] | [How they integrate] | [notes] |
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Testing Checklist
|
|
172
|
+
|
|
173
|
+
- [ ] Fresh install works
|
|
174
|
+
- [ ] Verification command passes
|
|
175
|
+
- [ ] Each capability tier works
|
|
176
|
+
- [ ] Failure recovery works
|
|
177
|
+
- [ ] Integration with dependent skills works
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Notes for Onboarding Agent
|
|
182
|
+
|
|
183
|
+
- [Special considerations for the onboarding agent]
|
|
184
|
+
- [When to recommend this skill]
|
|
185
|
+
- [When NOT to recommend this skill]
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Changelog
|
|
190
|
+
|
|
191
|
+
| Date | Change |
|
|
192
|
+
|------|--------|
|
|
193
|
+
| YYYY-MM-DD | Initial deep-dive |
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
*Template version: 1.0*
|