@agentprojectcontext/apx 1.81.0 → 1.89.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +9 -8
- package/skills/apc-context/SKILL.md +14 -7
- package/skills/apx/SKILL.md +62 -2
- package/skills/apx-mcp/SKILL.md +42 -15
- package/src/core/agent/a2a/peers.js +161 -0
- package/src/core/agent/a2a/reply.js +379 -27
- package/src/core/agent/abort.js +25 -0
- package/src/core/agent/agent-model.js +58 -0
- package/src/core/agent/agent-tools.js +101 -0
- package/src/core/agent/author-line.js +110 -0
- package/src/core/agent/build-agent-system.js +52 -18
- package/src/core/agent/channels/voice-context.js +17 -2
- package/src/core/agent/closing-floor.js +117 -0
- package/src/core/agent/constants.js +119 -11
- package/src/core/agent/engine-call.js +56 -0
- package/src/core/agent/group/run-group-turn.js +218 -0
- package/src/core/agent/group/turn-resolver.js +165 -0
- package/src/core/agent/judge.js +138 -11
- package/src/core/agent/loop/side-effects.js +106 -3
- package/src/core/agent/memory.js +31 -18
- package/src/core/agent/model-capabilities.js +47 -0
- package/src/core/agent/model-router.js +11 -40
- package/src/core/agent/prompt-builder.js +47 -0
- package/src/core/agent/prompts/channels/a2a.md +12 -0
- package/src/core/agent/prompts/channels/code.md +3 -1
- package/src/core/agent/prompts/channels/telegram.md +2 -0
- package/src/core/agent/prompts/channels/web_code.md +1 -1
- package/src/core/agent/prompts/channels/whatsapp.md +37 -0
- package/src/core/agent/prompts/core/agent-base.md +2 -0
- package/src/core/agent/prompts/discipline/action.md +1 -0
- package/src/core/agent/prompts/discipline/two-segment.md +2 -1
- package/src/core/agent/prompts/modes/mobility.md +36 -0
- package/src/core/agent/retry.js +42 -0
- package/src/core/agent/run-agent.js +322 -25
- package/src/core/agent/run-turn.js +253 -0
- package/src/core/agent/self-memory.js +18 -52
- package/src/core/agent/skills/agent-skills.js +118 -0
- package/src/core/agent/skills/catalog.js +1 -1
- package/src/core/agent/skills/declared.js +13 -0
- package/src/core/agent/skills/index-store.js +8 -1
- package/src/core/agent/skills/inspector.js +20 -3
- package/src/core/agent/skills/loader.js +18 -3
- package/src/core/agent/skills/media.js +121 -0
- package/src/core/agent/skills/origin.js +61 -0
- package/src/core/agent/skills/sections.js +136 -0
- package/src/core/agent/super-agent.js +54 -14
- package/src/core/agent/tools/handlers/_calendar.js +50 -0
- package/src/core/agent/tools/handlers/add-mcp.js +103 -0
- package/src/core/agent/tools/handlers/asana-create-task.js +3 -1
- package/src/core/agent/tools/handlers/attach-media.js +56 -0
- package/src/core/agent/tools/handlers/calendar-create-event.js +38 -0
- package/src/core/agent/tools/handlers/calendar-find-slot.js +39 -0
- package/src/core/agent/tools/handlers/calendar-list-events.js +39 -0
- package/src/core/agent/tools/handlers/calendar-update-event.js +35 -0
- package/src/core/agent/tools/handlers/call-agent.js +14 -6
- package/src/core/agent/tools/handlers/call-runtime.js +27 -49
- package/src/core/agent/tools/handlers/comment-task.js +78 -0
- package/src/core/agent/tools/handlers/complete-task.js +60 -0
- package/src/core/agent/tools/handlers/configure-agent.js +70 -0
- package/src/core/agent/tools/handlers/create-agent.js +68 -0
- package/src/core/agent/tools/handlers/create-task.js +41 -3
- package/src/core/agent/tools/handlers/import-agent.js +5 -5
- package/src/core/agent/tools/handlers/list-mcp-tools.js +83 -0
- package/src/core/agent/tools/handlers/list-routines.js +46 -0
- package/src/core/agent/tools/handlers/list-tasks.js +8 -1
- package/src/core/agent/tools/handlers/mark-commitment.js +57 -0
- package/src/core/agent/tools/handlers/read-skill.js +64 -0
- package/src/core/agent/tools/handlers/remember-routine.js +2 -8
- package/src/core/agent/tools/handlers/remember.js +82 -6
- package/src/core/agent/tools/handlers/remove-agent.js +42 -0
- package/src/core/agent/tools/handlers/run-routine.js +94 -0
- package/src/core/agent/tools/handlers/run-shell.js +44 -2
- package/src/core/agent/tools/handlers/send-telegram.js +41 -19
- package/src/core/agent/tools/handlers/set-agent-prompt.js +44 -0
- package/src/core/agent/tools/handlers/view-media.js +69 -0
- package/src/core/agent/tools/handlers/write-agent-memory.js +52 -0
- package/src/core/agent/tools/helpers.js +36 -4
- package/src/core/agent/tools/names.js +64 -0
- package/src/core/agent/tools/registry-bridge.js +24 -1
- package/src/core/agent/tools/registry.js +79 -0
- package/src/core/agent/tools/tool-call-parser.js +136 -13
- package/src/core/agent/vision-bridge.js +69 -0
- package/src/core/apc/agent-identity.js +74 -0
- package/src/core/apc/agent-rename-refs.js +187 -0
- package/src/core/apc/agent-write.js +312 -0
- package/src/core/apc/agents-vault.js +1 -1
- package/src/core/apc/blob-keys.js +42 -0
- package/src/core/apc/frontmatter.js +166 -10
- package/src/core/apc/parser.js +33 -83
- package/src/core/apc/paths.js +4 -6
- package/src/core/apc/project-memory.js +44 -0
- package/src/core/apc/projects-helpers.js +33 -0
- package/src/core/apc/scaffold.js +36 -16
- package/src/core/channels/telegram/ask-callbacks.js +103 -0
- package/src/core/channels/telegram/dispatch.js +154 -30
- package/src/core/channels/telegram/helpers.js +59 -7
- package/src/core/channels/telegram/inbound/audio.js +26 -30
- package/src/core/channels/telegram/inbound/file.js +22 -32
- package/src/core/channels/telegram/inbound/photo.js +24 -28
- package/src/core/channels/telegram/progress-gate.js +76 -0
- package/src/core/channels/telegram/reply.js +151 -43
- package/src/core/channels/telegram/voice-note.js +150 -0
- package/src/core/config/index.js +53 -54
- package/src/core/config/paths.js +117 -31
- package/src/core/config/redact.js +89 -4
- package/src/core/config/secret-values.js +2 -4
- package/src/core/constants/actors.js +5 -0
- package/src/core/constants/channels.js +3 -1
- package/src/core/constants/task-categories.js +73 -0
- package/src/core/constants/task-fields.js +28 -0
- package/src/core/engines/_globs.js +33 -0
- package/src/core/engines/anthropic.js +19 -1
- package/src/core/engines/catalog.js +20 -0
- package/src/core/engines/gemini.js +84 -16
- package/src/core/engines/index.js +19 -3
- package/src/core/engines/mock.js +145 -1
- package/src/core/engines/openai-compatible.js +150 -15
- package/src/core/engines/presets.js +36 -9
- package/src/core/engines/zen.js +131 -0
- package/src/core/events/bus.js +140 -0
- package/src/core/events/mascot-notify.js +156 -0
- package/src/core/http-tools/browser.js +366 -36
- package/src/core/http-tools/catalog.js +206 -22
- package/src/core/http-tools/grep.js +62 -7
- package/src/core/http-tools/registry.js +3 -1
- package/src/core/i18n/en.js +34 -3
- package/src/core/i18n/es.js +36 -4
- package/src/core/i18n/index.js +5 -5
- package/src/core/i18n/pt.js +32 -3
- package/src/core/identity/self.js +14 -1
- package/src/core/images/engines/a1111.js +219 -0
- package/src/core/images/engines/index.js +187 -0
- package/src/core/images/engines/mock.js +74 -0
- package/src/core/images/engines/openai.js +130 -0
- package/src/core/images/engines/sdcpp.js +204 -0
- package/src/core/images/engines/shared.js +218 -0
- package/src/core/images/generate.js +260 -0
- package/src/core/integrations/catalog.js +8 -3
- package/src/core/integrations/plugins/_google-oauth.js +179 -0
- package/src/core/integrations/plugins/asana.js +7 -3
- package/src/core/integrations/plugins/calendar.js +404 -0
- package/src/core/integrations/store.js +2 -0
- package/src/core/memory/broker.js +16 -1
- package/src/core/memory/compactor.js +19 -3
- package/src/core/memory/consolidate.js +2 -2
- package/src/core/memory/dated-log.js +66 -0
- package/src/core/memory/embed-engines/custom.js +59 -0
- package/src/core/memory/embed-engines/gemini.js +9 -3
- package/src/core/memory/embed-engines/index.js +87 -15
- package/src/core/memory/embeddings.js +52 -24
- package/src/core/memory/index.js +13 -3
- package/src/core/memory/indexer.js +83 -27
- package/src/core/memory/prune.js +182 -0
- package/src/core/memory/store.js +22 -0
- package/src/core/memory/summarizer.js +72 -8
- package/src/core/mobility/answer.js +80 -0
- package/src/core/mobility/geofence.js +667 -0
- package/src/core/mobility/osm-route.js +282 -0
- package/src/core/mobility/preferences.js +91 -0
- package/src/core/mobility/state.js +245 -0
- package/src/core/mobility/trip-event.js +384 -0
- package/src/core/net/tailscale.js +168 -0
- package/src/core/profiles/bundled/secretary/PROFILE.md +32 -42
- package/src/core/profiles/bundled/secretary/config.schema.es.json +68 -0
- package/src/core/profiles/bundled/secretary/config.schema.json +30 -2
- package/src/core/profiles/bundled/secretary/profile.json +3 -1
- package/src/core/profiles/bundled/secretary/routines/a2a-sweep.json +20 -0
- package/src/core/profiles/bundled/secretary/routines/day-close.json +4 -1
- package/src/core/profiles/bundled/secretary/routines/day-open.json +7 -1
- package/src/core/profiles/bundled/secretary/routines/watch.json +13 -2
- package/src/core/profiles/lifecycle.js +243 -19
- package/src/core/profiles/paths.js +12 -0
- package/src/core/profiles/store.js +47 -0
- package/src/core/routines/active-runs.js +213 -0
- package/src/core/routines/delivery.js +612 -0
- package/src/core/routines/header.js +88 -0
- package/src/core/routines/index.js +26 -0
- package/src/core/routines/run-log.js +78 -0
- package/src/core/routines/runner.js +629 -66
- package/src/core/routines/signals.js +75 -0
- package/src/core/runtime-skills/apc-context/SKILL.md +14 -7
- package/src/core/runtime-skills/apx/SKILL.md +93 -1
- package/src/core/runtime-skills/apx-agency-agents/SKILL.md +2 -2
- package/src/core/runtime-skills/apx-agent/SKILL.md +134 -19
- package/src/core/runtime-skills/apx-commitment/SKILL.md +21 -11
- package/src/core/runtime-skills/apx-image/SKILL.md +60 -0
- package/src/core/runtime-skills/apx-integrations/SKILL.md +82 -0
- package/src/core/runtime-skills/apx-mcp/SKILL.md +45 -14
- package/src/core/runtime-skills/apx-mcp-builder/SKILL.md +4 -4
- package/src/core/runtime-skills/apx-profile/SKILL.md +27 -2
- package/src/core/runtime-skills/apx-project/SKILL.md +23 -2
- package/src/core/runtime-skills/apx-routine/SKILL.md +40 -17
- package/src/core/runtime-skills/apx-runtime/SKILL.md +124 -14
- package/src/core/runtime-skills/apx-sessions/SKILL.md +7 -6
- package/src/core/runtime-skills/apx-skill-builder/SKILL.md +15 -13
- package/src/core/runtime-skills/apx-task/SKILL.md +79 -26
- package/src/core/runtime-skills/apx-telegram/SKILL.md +12 -12
- package/src/core/runtime-skills/apx-transcribe/SKILL.md +56 -0
- package/src/core/runtime-skills/apx-voice/SKILL.md +27 -8
- package/src/core/runtime-skills/claude-code/SKILL.md +8 -0
- package/src/core/runtime-skills/openrouter/SKILL.md +8 -2
- package/src/core/runtimes/_spawn.js +9 -1
- package/src/core/runtimes/claude-code.js +11 -2
- package/src/core/runtimes/codex.js +44 -10
- package/src/core/runtimes/index.js +17 -2
- package/src/core/runtimes/opencode.js +88 -9
- package/src/core/runtimes/outcome.js +119 -0
- package/src/core/sessions/index.js +193 -1
- package/src/core/stores/agent-inbox.js +109 -23
- package/src/core/stores/code-sessions.js +21 -0
- package/src/core/stores/commitments.js +27 -3
- package/src/core/stores/conversations.js +220 -20
- package/src/core/stores/deliveries.js +177 -0
- package/src/core/stores/media-archive.js +228 -0
- package/src/core/stores/messages.js +1096 -112
- package/src/core/stores/organization.js +34 -0
- package/src/core/stores/project-memory.js +71 -0
- package/src/core/stores/routine-memory.js +16 -8
- package/src/core/stores/routines.js +27 -49
- package/src/core/stores/sessions.js +4 -8
- package/src/core/stores/tasks.js +212 -18
- package/src/core/stores/turn-record.js +209 -0
- package/src/core/tasks/columns.js +136 -0
- package/src/core/tasks/comment-turn.js +258 -0
- package/src/core/util/time.js +13 -0
- package/src/core/voice/engines/index.js +54 -1
- package/src/core/voice/engines/openai.js +50 -4
- package/src/core/voice/opus.js +67 -0
- package/src/core/voice/pronounceable.js +43 -0
- package/src/core/voice/transcription.js +4 -0
- package/src/core/voice/tts.js +114 -24
- package/src/host/daemon/active-turns.js +188 -0
- package/src/host/daemon/api/admin-config.js +9 -0
- package/src/host/daemon/api/agents.js +99 -90
- package/src/host/daemon/api/artifact-preview.js +7 -6
- package/src/host/daemon/api/artifacts.js +3 -2
- package/src/host/daemon/api/code.js +55 -9
- package/src/host/daemon/api/commitments.js +11 -0
- package/src/host/daemon/api/confirm.js +3 -2
- package/src/host/daemon/api/conversations.js +543 -35
- package/src/host/daemon/api/deck.js +9 -8
- package/src/host/daemon/api/deliveries.js +33 -0
- package/src/host/daemon/api/desktop.js +5 -4
- package/src/host/daemon/api/embeddings.js +15 -6
- package/src/host/daemon/api/engines.js +59 -8
- package/src/host/daemon/api/exec.js +437 -121
- package/src/host/daemon/api/groups.js +215 -0
- package/src/host/daemon/api/images.js +107 -0
- package/src/host/daemon/api/inbox.js +123 -2
- package/src/host/daemon/api/integrations.js +64 -2
- package/src/host/daemon/api/mcps.js +7 -6
- package/src/host/daemon/api/media.js +283 -0
- package/src/host/daemon/api/mobility.js +177 -0
- package/src/host/daemon/api/net.js +182 -0
- package/src/host/daemon/api/pairing.js +38 -5
- package/src/host/daemon/api/profiles.js +30 -2
- package/src/host/daemon/api/routines.js +36 -4
- package/src/host/daemon/api/runtimes.js +74 -39
- package/src/host/daemon/api/sessions-search.js +7 -2
- package/src/host/daemon/api/sessions.js +44 -2
- package/src/host/daemon/api/shared.js +127 -20
- package/src/host/daemon/api/skills.js +11 -4
- package/src/host/daemon/api/super-agent.js +384 -53
- package/src/host/daemon/api/tasks.js +180 -10
- package/src/host/daemon/api/telegram.js +11 -10
- package/src/host/daemon/api/thread-faces.js +159 -0
- package/src/host/daemon/api/top-level.js +3 -3
- package/src/host/daemon/api/transcribe.js +11 -10
- package/src/host/daemon/api/tts.js +97 -4
- package/src/host/daemon/api/turn-abort.js +23 -0
- package/src/host/daemon/api/turns.js +49 -0
- package/src/host/daemon/api/voice.js +5 -4
- package/src/host/daemon/api/web.js +98 -0
- package/src/host/daemon/api.js +39 -0
- package/src/host/daemon/delivery-sweep.js +58 -0
- package/src/host/daemon/desktop-ws.js +5 -23
- package/src/host/daemon/events-ws.js +273 -0
- package/src/host/daemon/index.js +59 -15
- package/src/host/daemon/plugins/desktop/index.js +17 -4
- package/src/host/daemon/plugins/telegram/index.js +78 -40
- package/src/host/daemon/pty-bridge.py +99 -0
- package/src/host/daemon/routines-scheduler.js +1 -0
- package/src/host/daemon/smoke.js +1 -2
- package/src/host/daemon/terminal-ws.js +132 -0
- package/src/host/daemon/tts-keepwarm.js +87 -0
- package/src/host/daemon/wakeup.js +11 -6
- package/src/host/daemon/whisper-server.js +44 -0
- package/src/host/daemon/whisper-server.py +70 -13
- package/src/host/daemon/ws-auth.js +28 -0
- package/src/interfaces/android/app/build.gradle +42 -0
- package/src/interfaces/android/app/proguard-rules.pro +4 -0
- package/src/interfaces/android/app/src/main/AndroidManifest.xml +139 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/AlertScreen.java +139 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/AndroidAutoDetector.java +106 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/ApxCarAppService.java +57 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/ApxPreferences.java +165 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/CarAlertStore.java +84 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/CarMessageActionReceiver.java +47 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/CarMessageNotification.java +152 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/DaemonAddress.java +35 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/DaemonClient.java +339 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/DeviceLocation.java +38 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/ErrandScreen.java +127 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/MainActivity.java +872 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/MapsNavigationDetector.java +63 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/MapsNavigationListenerService.java +453 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/MapsShareIntentParser.java +93 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/MascotBlobCatalog.java +66 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/MascotOverlayService.java +448 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/MascotView.java +249 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/MessageFrameParser.java +240 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/NotifyChannels.java +69 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/ProximityActionReceiver.java +78 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/ProximityNotification.java +161 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/StartupReceiver.java +57 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/TravelEventGate.java +62 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/TravelStatusBanner.java +116 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/TripLocationService.java +272 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/TripPlacesSheet.java +203 -0
- package/src/interfaces/android/app/src/main/java/dev/agentprojectcontext/apx/TripScreen.java +182 -0
- package/src/interfaces/android/app/src/main/res/drawable/app_background.xml +12 -0
- package/src/interfaces/android/app/src/main/res/drawable/ic_apx_app.xml +10 -0
- package/src/interfaces/android/app/src/main/res/drawable/ic_apx_launcher_foreground.xml +12 -0
- package/src/interfaces/android/app/src/main/res/drawable/ic_apx_notification.xml +22 -0
- package/src/interfaces/android/app/src/main/res/drawable/ic_trip_car.xml +37 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/apx_logo.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_amatista.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_aqua.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_brasa.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_campana.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_caracol.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_carbon.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_cobalto.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_cometa.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_coral.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_cubi.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_eclipse.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_faro.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_gajo.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_iris.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_kiwi.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_laguna.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_lila.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_menta.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_nimbo.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_noche.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_onyx.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_orbita.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_ovni.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_papa.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_parche.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_peon.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_perla.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_pino.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_quad.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_rubi.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_saturno.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_trebol.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_trino.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_volcan.png +0 -0
- package/src/interfaces/android/app/src/main/res/drawable-nodpi/mascot_zafiro.png +0 -0
- package/src/interfaces/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +5 -0
- package/src/interfaces/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +5 -0
- package/src/interfaces/android/app/src/main/res/raw/apx_notification.mp3 +0 -0
- package/src/interfaces/android/app/src/main/res/values/colors.xml +4 -0
- package/src/interfaces/android/app/src/main/res/values/strings.xml +25 -0
- package/src/interfaces/android/app/src/main/res/values/styles.xml +10 -0
- package/src/interfaces/android/app/src/main/res/values-v31/styles.xml +14 -0
- package/src/interfaces/android/app/src/main/res/xml/automotive_app_desc.xml +9 -0
- package/src/interfaces/android/app/src/main/res/xml/network_security_config.xml +10 -0
- package/src/interfaces/android/app/src/test/java/dev/agentprojectcontext/apx/AndroidAutoDetectorTest.java +85 -0
- package/src/interfaces/android/app/src/test/java/dev/agentprojectcontext/apx/CarAlertStoreTest.java +104 -0
- package/src/interfaces/android/app/src/test/java/dev/agentprojectcontext/apx/DaemonAddressTest.java +23 -0
- package/src/interfaces/android/app/src/test/java/dev/agentprojectcontext/apx/MapsNavigationDetectorTest.java +69 -0
- package/src/interfaces/android/app/src/test/java/dev/agentprojectcontext/apx/MapsShareIntentParserTest.java +31 -0
- package/src/interfaces/android/app/src/test/java/dev/agentprojectcontext/apx/MessageFrameParserTest.java +180 -0
- package/src/interfaces/android/app/src/test/java/dev/agentprojectcontext/apx/TravelEventGateTest.java +64 -0
- package/src/interfaces/android/app/src/test/java/dev/agentprojectcontext/apx/TripPlacesSheetTest.java +66 -0
- package/src/interfaces/android/build.gradle +3 -0
- package/src/interfaces/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/src/interfaces/android/gradle/wrapper/gradle-wrapper.properties +9 -0
- package/src/interfaces/android/gradle.properties +3 -0
- package/src/interfaces/android/gradlew +248 -0
- package/src/interfaces/android/gradlew.bat +82 -0
- package/src/interfaces/android/settings.gradle +18 -0
- package/src/interfaces/cli/commands/a2a.js +145 -4
- package/src/interfaces/cli/commands/agent.js +247 -22
- package/src/interfaces/cli/commands/code.js +1 -1
- package/src/interfaces/cli/commands/commitment.js +5 -0
- package/src/interfaces/cli/commands/config.js +85 -6
- package/src/interfaces/cli/commands/exec.js +90 -1
- package/src/interfaces/cli/commands/image.js +314 -0
- package/src/interfaces/cli/commands/mcp.js +87 -23
- package/src/interfaces/cli/commands/memory.js +35 -22
- package/src/interfaces/cli/commands/panel.js +94 -0
- package/src/interfaces/cli/commands/profile.js +14 -0
- package/src/interfaces/cli/commands/project.js +29 -0
- package/src/interfaces/cli/commands/routine.js +45 -10
- package/src/interfaces/cli/commands/runtime.js +30 -7
- package/src/interfaces/cli/commands/session.js +90 -38
- package/src/interfaces/cli/commands/sessions.js +35 -2
- package/src/interfaces/cli/commands/skills.js +15 -9
- package/src/interfaces/cli/commands/status.js +2 -3
- package/src/interfaces/cli/commands/task.js +54 -5
- package/src/interfaces/cli/commands/telegram.js +12 -4
- package/src/interfaces/cli/commands/transcribe.js +177 -0
- package/src/interfaces/cli/help/index.js +311 -72
- package/src/interfaces/cli/http.js +61 -13
- package/src/interfaces/cli/index.js +1 -1
- package/src/interfaces/cli/routes/agent.js +5 -4
- package/src/interfaces/cli/routes/commitment.js +3 -2
- package/src/interfaces/cli/routes/config.js +7 -2
- package/src/interfaces/cli/routes/image.js +11 -0
- package/src/interfaces/cli/routes/index.js +2 -0
- package/src/interfaces/cli/routes/log.js +1 -1
- package/src/interfaces/cli/routes/memory.js +3 -2
- package/src/interfaces/cli/routes/panel.js +15 -2
- package/src/interfaces/cli/routes/profile.js +3 -2
- package/src/interfaces/cli/routes/transcribe.js +10 -0
- package/src/interfaces/cli/stdin.js +29 -0
- package/src/interfaces/desktop/assets/blobs/amatista.png +0 -0
- package/src/interfaces/desktop/assets/blobs/aqua.png +0 -0
- package/src/interfaces/desktop/assets/blobs/brasa.png +0 -0
- package/src/interfaces/desktop/assets/blobs/campana.png +0 -0
- package/src/interfaces/desktop/assets/blobs/caracol.png +0 -0
- package/src/interfaces/desktop/assets/blobs/carbon.png +0 -0
- package/src/interfaces/desktop/assets/blobs/cobalto.png +0 -0
- package/src/interfaces/desktop/assets/blobs/cometa.png +0 -0
- package/src/interfaces/desktop/assets/blobs/coral.png +0 -0
- package/src/interfaces/desktop/assets/blobs/cubi.png +0 -0
- package/src/interfaces/desktop/assets/blobs/eclipse.png +0 -0
- package/src/interfaces/desktop/assets/blobs/faro.png +0 -0
- package/src/interfaces/desktop/assets/blobs/gajo.png +0 -0
- package/src/interfaces/desktop/assets/blobs/iris.png +0 -0
- package/src/interfaces/desktop/assets/blobs/kiwi.png +0 -0
- package/src/interfaces/desktop/assets/blobs/laguna.png +0 -0
- package/src/interfaces/desktop/assets/blobs/lila.png +0 -0
- package/src/interfaces/desktop/assets/blobs/menta.png +0 -0
- package/src/interfaces/desktop/assets/blobs/nimbo.png +0 -0
- package/src/interfaces/desktop/assets/blobs/noche.png +0 -0
- package/src/interfaces/desktop/assets/blobs/onyx.png +0 -0
- package/src/interfaces/desktop/assets/blobs/orbita.png +0 -0
- package/src/interfaces/desktop/assets/blobs/ovni.png +0 -0
- package/src/interfaces/desktop/assets/blobs/papa.png +0 -0
- package/src/interfaces/desktop/assets/blobs/parche.png +0 -0
- package/src/interfaces/desktop/assets/blobs/peon.png +0 -0
- package/src/interfaces/desktop/assets/blobs/perla.png +0 -0
- package/src/interfaces/desktop/assets/blobs/pino.png +0 -0
- package/src/interfaces/desktop/assets/blobs/quad.png +0 -0
- package/src/interfaces/desktop/assets/blobs/rubi.png +0 -0
- package/src/interfaces/desktop/assets/blobs/saturno.png +0 -0
- package/src/interfaces/desktop/assets/blobs/trebol.png +0 -0
- package/src/interfaces/desktop/assets/blobs/trino.png +0 -0
- package/src/interfaces/desktop/assets/blobs/volcan.png +0 -0
- package/src/interfaces/desktop/assets/blobs/zafiro.png +0 -0
- package/src/interfaces/desktop/assets/notification.mp3 +0 -0
- package/src/interfaces/desktop/main.js +473 -29
- package/src/interfaces/desktop/mascot-blobs.js +41 -0
- package/src/interfaces/desktop/mascot-preload.js +32 -0
- package/src/interfaces/desktop/mascot.css +186 -0
- package/src/interfaces/desktop/mascot.html +40 -0
- package/src/interfaces/desktop/mascot.js +163 -0
- package/src/interfaces/desktop/preload.js +10 -0
- package/src/interfaces/desktop/renderer.js +308 -48
- package/src/interfaces/desktop/style.css +34 -0
- package/src/interfaces/mcp-server/index.js +87 -0
- package/src/interfaces/tui/_shims/util-locale.ts +0 -2
- package/src/interfaces/tui/app.tsx +0 -6
- package/src/interfaces/tui/attach.ts +0 -1
- package/src/interfaces/tui/context/sdk-apx.tsx +0 -4
- package/src/interfaces/tui/plugin/api.tsx +0 -3
- package/src/interfaces/tui/plugin/runtime.ts +0 -3
- package/src/interfaces/tui/thread.ts +0 -16
- package/src/interfaces/web/README.md +22 -14
- package/src/interfaces/web/dist/assets/claude-XtpLmGtF.webp +0 -0
- package/src/interfaces/web/dist/assets/codex-DExPUgvh.webp +0 -0
- package/src/interfaces/web/dist/assets/index-BEoRgIqd.css +32 -0
- package/src/interfaces/web/dist/assets/index-BEoRgIqd.css.br +0 -0
- package/src/interfaces/web/dist/assets/index-BEoRgIqd.css.gz +0 -0
- package/src/interfaces/web/dist/assets/index-C6fXHc1p.js +1074 -0
- package/src/interfaces/web/dist/assets/index-C6fXHc1p.js.br +0 -0
- package/src/interfaces/web/dist/assets/index-C6fXHc1p.js.gz +0 -0
- package/src/interfaces/web/dist/assets/index-C6fXHc1p.js.map +1 -0
- package/src/interfaces/web/dist/assets/index-C6fXHc1p.js.map.br +0 -0
- package/src/interfaces/web/dist/assets/index-C6fXHc1p.js.map.gz +0 -0
- package/src/interfaces/web/dist/favicon/dark/site.webmanifest +12 -6
- package/src/interfaces/web/dist/favicon/white/site.webmanifest +12 -6
- package/src/interfaces/web/dist/index.html +22 -6
- package/src/interfaces/web/dist/index.html.br +0 -0
- package/src/interfaces/web/dist/index.html.gz +0 -0
- package/src/interfaces/web/dist/manifest.webmanifest +25 -0
- package/src/interfaces/web/dist/modules/blobs/amatista.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/aqua.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/brasa.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/campana.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/caracol.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/carbon.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/cobalto.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/cometa.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/coral.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/cubi.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/eclipse.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/faro.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/gajo.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/iris.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/kiwi.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/laguna.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/lila.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/menta.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/nimbo.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/noche.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/onyx.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/orbita.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/ovni.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/papa.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/parche.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/peon.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/perla.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/pino.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/quad.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/rubi.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/saturno.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/trebol.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/trino.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/volcan.png +0 -0
- package/src/interfaces/web/dist/modules/blobs/zafiro.png +0 -0
- package/src/interfaces/web/dist/sw.js +106 -0
- package/src/interfaces/web/dist/sw.js.br +0 -0
- package/src/interfaces/web/dist/sw.js.gz +0 -0
- package/src/interfaces/web/eslint.config.js +83 -0
- package/src/interfaces/web/index.html +20 -4
- package/src/interfaces/web/package-lock.json +1651 -1280
- package/src/interfaces/web/package.json +9 -10
- package/src/interfaces/web/pnpm-lock.yaml +867 -869
- package/src/interfaces/web/public/favicon/dark/site.webmanifest +12 -6
- package/src/interfaces/web/public/favicon/white/site.webmanifest +12 -6
- package/src/interfaces/web/public/manifest.webmanifest +25 -0
- package/src/interfaces/web/public/modules/blobs/amatista.png +0 -0
- package/src/interfaces/web/public/modules/blobs/aqua.png +0 -0
- package/src/interfaces/web/public/modules/blobs/brasa.png +0 -0
- package/src/interfaces/web/public/modules/blobs/campana.png +0 -0
- package/src/interfaces/web/public/modules/blobs/caracol.png +0 -0
- package/src/interfaces/web/public/modules/blobs/carbon.png +0 -0
- package/src/interfaces/web/public/modules/blobs/cobalto.png +0 -0
- package/src/interfaces/web/public/modules/blobs/cometa.png +0 -0
- package/src/interfaces/web/public/modules/blobs/coral.png +0 -0
- package/src/interfaces/web/public/modules/blobs/cubi.png +0 -0
- package/src/interfaces/web/public/modules/blobs/eclipse.png +0 -0
- package/src/interfaces/web/public/modules/blobs/faro.png +0 -0
- package/src/interfaces/web/public/modules/blobs/gajo.png +0 -0
- package/src/interfaces/web/public/modules/blobs/iris.png +0 -0
- package/src/interfaces/web/public/modules/blobs/kiwi.png +0 -0
- package/src/interfaces/web/public/modules/blobs/laguna.png +0 -0
- package/src/interfaces/web/public/modules/blobs/lila.png +0 -0
- package/src/interfaces/web/public/modules/blobs/menta.png +0 -0
- package/src/interfaces/web/public/modules/blobs/nimbo.png +0 -0
- package/src/interfaces/web/public/modules/blobs/noche.png +0 -0
- package/src/interfaces/web/public/modules/blobs/onyx.png +0 -0
- package/src/interfaces/web/public/modules/blobs/orbita.png +0 -0
- package/src/interfaces/web/public/modules/blobs/ovni.png +0 -0
- package/src/interfaces/web/public/modules/blobs/papa.png +0 -0
- package/src/interfaces/web/public/modules/blobs/parche.png +0 -0
- package/src/interfaces/web/public/modules/blobs/peon.png +0 -0
- package/src/interfaces/web/public/modules/blobs/perla.png +0 -0
- package/src/interfaces/web/public/modules/blobs/pino.png +0 -0
- package/src/interfaces/web/public/modules/blobs/quad.png +0 -0
- package/src/interfaces/web/public/modules/blobs/rubi.png +0 -0
- package/src/interfaces/web/public/modules/blobs/saturno.png +0 -0
- package/src/interfaces/web/public/modules/blobs/trebol.png +0 -0
- package/src/interfaces/web/public/modules/blobs/trino.png +0 -0
- package/src/interfaces/web/public/modules/blobs/volcan.png +0 -0
- package/src/interfaces/web/public/modules/blobs/zafiro.png +0 -0
- package/src/interfaces/web/public/sw.js +106 -0
- package/src/interfaces/web/src/App.tsx +106 -10
- package/src/interfaces/web/src/assets/cli/claude.webp +0 -0
- package/src/interfaces/web/src/assets/cli/codex.webp +0 -0
- package/src/interfaces/web/src/assets/cli/cursor.svg +1 -0
- package/src/interfaces/web/src/assets/cli/opencode.png +0 -0
- package/src/interfaces/web/src/components/Combobox.tsx +201 -0
- package/src/interfaces/web/src/components/MobileHint.tsx +95 -0
- package/src/interfaces/web/src/components/MobileLinkDialog.tsx +156 -0
- package/src/interfaces/web/src/components/ModelCombobox.tsx +21 -113
- package/src/interfaces/web/src/components/{routines/ReadOnlyBlock.tsx → ReadOnlyBlock.tsx} +13 -4
- package/src/interfaces/web/src/components/Roby.tsx +5 -3
- package/src/interfaces/web/src/components/RobyBubble.tsx +23 -5
- package/src/interfaces/web/src/components/RowMenu.tsx +46 -0
- package/src/interfaces/web/src/components/TimezoneSelect.tsx +4 -1
- package/src/interfaces/web/src/components/Toast.tsx +50 -14
- package/src/interfaces/web/src/components/UiSelect.tsx +12 -5
- package/src/interfaces/web/src/components/agents/AgentAvatar.tsx +171 -0
- package/src/interfaces/web/src/components/agents/AgentFormFields.tsx +42 -11
- package/src/interfaces/web/src/components/agents/AgentModelBadge.tsx +157 -0
- package/src/interfaces/web/src/components/agents/AgentModelSelect.tsx +57 -0
- package/src/interfaces/web/src/components/agents/AgentSkillsPicker.tsx +115 -0
- package/src/interfaces/web/src/components/agents/BlobAvatar.tsx +50 -0
- package/src/interfaces/web/src/components/agents/blobPresets.ts +50 -0
- package/src/interfaces/web/src/components/agents/modelCatalog.ts +66 -0
- package/src/interfaces/web/src/components/chat/ActionGroup.tsx +162 -0
- package/src/interfaces/web/src/components/chat/AskAnswersCard.tsx +4 -3
- package/src/interfaces/web/src/components/chat/AskQuestionsCard.tsx +1 -1
- package/src/interfaces/web/src/components/chat/Attachment.tsx +220 -0
- package/src/interfaces/web/src/components/chat/ChatList.tsx +226 -51
- package/src/interfaces/web/src/components/chat/ChatRowActivity.tsx +45 -0
- package/src/interfaces/web/src/components/chat/Composer.tsx +672 -23
- package/src/interfaces/web/src/components/chat/ComposerCommands.tsx +175 -0
- package/src/interfaces/web/src/components/chat/ComposerSuggest.tsx +215 -0
- package/src/interfaces/web/src/components/chat/ContextBar.tsx +133 -65
- package/src/interfaces/web/src/components/chat/InlineAskPanel.tsx +107 -47
- package/src/interfaces/web/src/components/chat/MessageBubble.tsx +460 -119
- package/src/interfaces/web/src/components/chat/MessageList.tsx +165 -18
- package/src/interfaces/web/src/components/chat/ReasoningBlock.tsx +58 -0
- package/src/interfaces/web/src/components/chat/SessionPicker.tsx +182 -0
- package/src/interfaces/web/src/components/chat/SkillTrace.tsx +183 -0
- package/src/interfaces/web/src/components/chat/ToolCall.tsx +11 -11
- package/src/interfaces/web/src/components/code/CodeContextTab.tsx +87 -53
- package/src/interfaces/web/src/components/code/CodeFileTree.tsx +11 -52
- package/src/interfaces/web/src/components/code/CodeFileViewer.tsx +5 -4
- package/src/interfaces/web/src/components/code/CodeProjectPicker.tsx +31 -7
- package/src/interfaces/web/src/components/code/CodeSessionList.tsx +32 -11
- package/src/interfaces/web/src/components/code/CodeSidePanel.tsx +33 -3
- package/src/interfaces/web/src/components/code/CodeTerminal.tsx +5 -4
- package/src/interfaces/web/src/components/code/NewCodeSessionDialog.tsx +164 -0
- package/src/interfaces/web/src/components/commitments/CommitmentDetail.tsx +162 -0
- package/src/interfaces/web/src/components/commitments/CommitmentFormDialog.tsx +158 -0
- package/src/interfaces/web/src/components/commitments/CommitmentList.tsx +194 -0
- package/src/interfaces/web/src/components/commitments/commitmentState.tsx +46 -0
- package/src/interfaces/web/src/components/common/BulkActionBar.tsx +60 -0
- package/src/interfaces/web/src/components/common/ConfirmDialog.tsx +4 -1
- package/src/interfaces/web/src/components/common/SelectCheckbox.tsx +40 -0
- package/src/interfaces/web/src/components/common/TabNav.tsx +1 -1
- package/src/interfaces/web/src/components/cron/CronPicker.tsx +1 -1
- package/src/interfaces/web/src/components/files/FileBrowser.tsx +1 -1
- package/src/interfaces/web/src/components/files/FileTree.tsx +6 -4
- package/src/interfaces/web/src/components/files/FileViewer.tsx +9 -5
- package/src/interfaces/web/src/components/files/MarkdownPreview.tsx +45 -9
- package/src/interfaces/web/src/components/images/ImageDefaultsCard.tsx +93 -0
- package/src/interfaces/web/src/components/images/ImageProviderList.tsx +142 -0
- package/src/interfaces/web/src/components/images/ImageProviderModal.tsx +263 -0
- package/src/interfaces/web/src/components/images/ImageTestCard.tsx +142 -0
- package/src/interfaces/web/src/components/inbox/ChannelFilter.tsx +178 -0
- package/src/interfaces/web/src/components/inbox/InboxList.tsx +77 -81
- package/src/interfaces/web/src/components/inbox/InboxRowItem.tsx +140 -0
- package/src/interfaces/web/src/components/integrations/ComingSoonPlugin.tsx +2 -2
- package/src/interfaces/web/src/components/integrations/PluginConnect.tsx +208 -30
- package/src/interfaces/web/src/components/integrations/PluginToolsSection.tsx +1 -1
- package/src/interfaces/web/src/components/layout/ProjectAvatar.tsx +39 -24
- package/src/interfaces/web/src/components/layout/ProjectSidebar.tsx +253 -58
- package/src/interfaces/web/src/components/memory/MemoryBrowser.tsx +94 -47
- package/src/interfaces/web/src/components/routines/ExecutionsList.tsx +202 -90
- package/src/interfaces/web/src/components/routines/RoutineDetail.tsx +28 -6
- package/src/interfaces/web/src/components/routines/RoutineEditor.tsx +16 -5
- package/src/interfaces/web/src/components/routines/RoutineList.tsx +49 -9
- package/src/interfaces/web/src/components/routines/VarTextarea.tsx +1 -1
- package/src/interfaces/web/src/components/routines/runChat.ts +121 -0
- package/src/interfaces/web/src/components/sessions/SessionDetail.tsx +148 -0
- package/src/interfaces/web/src/components/sessions/SessionTerminal.tsx +98 -0
- package/src/interfaces/web/src/components/settings/AccessPanel.tsx +205 -0
- package/src/interfaces/web/src/components/settings/DefaultRouterCard.tsx +246 -101
- package/src/interfaces/web/src/components/settings/DesktopSettingsPanel.tsx +36 -2
- package/src/interfaces/web/src/components/settings/DevicesPanel.tsx +19 -6
- package/src/interfaces/web/src/components/settings/EmbedProviderList.tsx +274 -0
- package/src/interfaces/web/src/components/settings/EnginesPanel.tsx +26 -6
- package/src/interfaces/web/src/components/settings/MemoryPanel.tsx +118 -119
- package/src/interfaces/web/src/components/settings/NudgePanel.tsx +4 -3
- package/src/interfaces/web/src/components/settings/PairDeviceDialog.tsx +15 -4
- package/src/interfaces/web/src/components/settings/PanelPrefs.tsx +374 -0
- package/src/interfaces/web/src/components/settings/ProfilePanel.tsx +70 -2
- package/src/interfaces/web/src/components/settings/RoutingPanel.tsx +2 -1
- package/src/interfaces/web/src/components/settings/SkillsInspectorPanel.tsx +102 -43
- package/src/interfaces/web/src/components/settings/SkillsManager.tsx +76 -21
- package/src/interfaces/web/src/components/settings/SkillsSettings.tsx +10 -3
- package/src/interfaces/web/src/components/settings/SuperAgentPanel.tsx +8 -0
- package/src/interfaces/web/src/components/settings/TelegramChannelsPanel.tsx +11 -2
- package/src/interfaces/web/src/components/settings/TelegramContactsPanel.tsx +19 -8
- package/src/interfaces/web/src/components/settings/TelegramRolesPanel.tsx +12 -2
- package/src/interfaces/web/src/components/settings/WebPanel.tsx +22 -31
- package/src/interfaces/web/src/components/settings/providers/ProviderCard.tsx +15 -3
- package/src/interfaces/web/src/components/settings/providers/ProviderModal.tsx +97 -66
- package/src/interfaces/web/src/components/settings/providers/ProviderTestDialog.tsx +150 -0
- package/src/interfaces/web/src/components/settings/providers/typeStyles.ts +67 -25
- package/src/interfaces/web/src/components/settings/providers/types.ts +3 -0
- package/src/interfaces/web/src/components/tasks/TaskBoard.tsx +201 -0
- package/src/interfaces/web/src/components/tasks/TaskColumnsDialog.tsx +243 -0
- package/src/interfaces/web/src/components/tasks/TaskComments.tsx +167 -0
- package/src/interfaces/web/src/components/tasks/TaskDetail.tsx +335 -0
- package/src/interfaces/web/src/components/tasks/TaskFormDialog.tsx +406 -0
- package/src/interfaces/web/src/components/tasks/TaskList.tsx +258 -0
- package/src/interfaces/web/src/components/tasks/TaskSubtasks.tsx +126 -0
- package/src/interfaces/web/src/components/tasks/columns.ts +51 -0
- package/src/interfaces/web/src/components/tasks/taskStatus.tsx +159 -34
- package/src/interfaces/web/src/components/tasks/taskViewPrefs.ts +73 -0
- package/src/interfaces/web/src/components/tasks/useTaskColumns.ts +31 -0
- package/src/interfaces/web/src/components/ui/chat-input.tsx +136 -12
- package/src/interfaces/web/src/components/ui/context-menu.tsx +15 -198
- package/src/interfaces/web/src/components/ui/dialog.tsx +3 -2
- package/src/interfaces/web/src/components/ui/filter-chips.tsx +4 -0
- package/src/interfaces/web/src/components/ui/popover.tsx +14 -49
- package/src/interfaces/web/src/components/ui/sheet.tsx +2 -1
- package/src/interfaces/web/src/components/ui/spinner.tsx +2 -1
- package/src/interfaces/web/src/components/ui.tsx +62 -23
- package/src/interfaces/web/src/components/voice/VoiceProviderList.tsx +2 -1
- package/src/interfaces/web/src/components/voice/VoiceProviderModal.tsx +66 -8
- package/src/interfaces/web/src/components/voice/VoiceQvoxInstallCard.tsx +63 -0
- package/src/interfaces/web/src/components/voice/VoiceQvoxStatusCard.tsx +51 -0
- package/src/interfaces/web/src/components/voice/VoiceSttCard.tsx +4 -3
- package/src/interfaces/web/src/components/voice/VoiceTestCard.tsx +38 -4
- package/src/interfaces/web/src/constants/index.ts +1 -0
- package/src/interfaces/web/src/hooks/useChannelPrefs.ts +39 -0
- package/src/interfaces/web/src/hooks/useChat.ts +1092 -85
- package/src/interfaces/web/src/hooks/useChatActivity.ts +24 -0
- package/src/interfaces/web/src/hooks/useInbox.ts +26 -4
- package/src/interfaces/web/src/hooks/useLiveMessages.ts +16 -0
- package/src/interfaces/web/src/hooks/useOllamaModels.ts +79 -0
- package/src/interfaces/web/src/hooks/useRecorder.ts +198 -0
- package/src/interfaces/web/src/hooks/useTokenBootstrap.ts +23 -6
- package/src/interfaces/web/src/i18n/en.ts +832 -175
- package/src/interfaces/web/src/i18n/es.ts +841 -188
- package/src/interfaces/web/src/lib/api/agents.ts +23 -4
- package/src/interfaces/web/src/lib/api/code.ts +17 -0
- package/src/interfaces/web/src/lib/api/commitments.ts +7 -1
- package/src/interfaces/web/src/lib/api/conversations.ts +38 -11
- package/src/interfaces/web/src/lib/api/embeddings.ts +3 -0
- package/src/interfaces/web/src/lib/api/engines.ts +14 -0
- package/src/interfaces/web/src/lib/api/groups.ts +93 -0
- package/src/interfaces/web/src/lib/api/images.ts +193 -0
- package/src/interfaces/web/src/lib/api/inbox.ts +29 -5
- package/src/interfaces/web/src/lib/api/integrations.ts +9 -0
- package/src/interfaces/web/src/lib/api/media.ts +126 -0
- package/src/interfaces/web/src/lib/api/net.ts +44 -0
- package/src/interfaces/web/src/lib/api/profiles.ts +12 -0
- package/src/interfaces/web/src/lib/api/projects.ts +9 -1
- package/src/interfaces/web/src/lib/api/routines.ts +9 -1
- package/src/interfaces/web/src/lib/api/sessions.ts +18 -0
- package/src/interfaces/web/src/lib/api/skills.ts +8 -0
- package/src/interfaces/web/src/lib/api/super_agent.ts +3 -0
- package/src/interfaces/web/src/lib/api/tasks.ts +46 -6
- package/src/interfaces/web/src/lib/api/tools.ts +2 -0
- package/src/interfaces/web/src/lib/api/transcribe.ts +31 -0
- package/src/interfaces/web/src/lib/api/turns.ts +20 -0
- package/src/interfaces/web/src/lib/api/voice.ts +72 -2
- package/src/interfaces/web/src/lib/api.ts +3 -0
- package/src/interfaces/web/src/lib/channels.ts +214 -0
- package/src/interfaces/web/src/lib/chat-activity.ts +175 -0
- package/src/interfaces/web/src/lib/chat-prefs.ts +48 -0
- package/src/interfaces/web/src/lib/code-context.ts +0 -2
- package/src/interfaces/web/src/lib/http.ts +51 -17
- package/src/interfaces/web/src/lib/inbox-selection.ts +29 -0
- package/src/interfaces/web/src/lib/live.ts +252 -0
- package/src/interfaces/web/src/lib/net.ts +211 -0
- package/src/interfaces/web/src/lib/notify.ts +331 -0
- package/src/interfaces/web/src/lib/projectNav.ts +40 -0
- package/src/interfaces/web/src/lib/pwa.ts +115 -0
- package/src/interfaces/web/src/lib/qvox.ts +24 -0
- package/src/interfaces/web/src/lib/slug.ts +3 -0
- package/src/interfaces/web/src/lib/tone.ts +150 -0
- package/src/interfaces/web/src/main.tsx +15 -4
- package/src/interfaces/web/src/screens/ApxAdminScreen.tsx +33 -11
- package/src/interfaces/web/src/screens/InboxScreen.tsx +126 -71
- package/src/interfaces/web/src/screens/ProjectScreen.tsx +8 -4
- package/src/interfaces/web/src/screens/SettingsScreen.tsx +7 -4
- package/src/interfaces/web/src/screens/base/AgentDefaultsTab.tsx +30 -9
- package/src/interfaces/web/src/screens/base/CommitmentsTab.tsx +150 -168
- package/src/interfaces/web/src/screens/base/LogsTab.tsx +8 -7
- package/src/interfaces/web/src/screens/base/SessionsTab.tsx +99 -37
- package/src/interfaces/web/src/screens/base/WorkspacesTab.tsx +1 -1
- package/src/interfaces/web/src/screens/mobile/MobileChat.tsx +85 -0
- package/src/interfaces/web/src/screens/mobile/MobileChatList.tsx +244 -0
- package/src/interfaces/web/src/screens/mobile/MobileCommitments.tsx +350 -0
- package/src/interfaces/web/src/screens/mobile/MobileScreen.tsx +138 -0
- package/src/interfaces/web/src/screens/mobile/MobileTabBar.tsx +105 -0
- package/src/interfaces/web/src/screens/mobile/MobileTasks.tsx +407 -0
- package/src/interfaces/web/src/screens/mobile/NewChatSheet.tsx +313 -0
- package/src/interfaces/web/src/screens/mobile/mobileList.tsx +194 -0
- package/src/interfaces/web/src/screens/mobile/routes.ts +239 -0
- package/src/interfaces/web/src/screens/modules/CodeScreen.tsx +135 -64
- package/src/interfaces/web/src/screens/modules/DeckScreen.tsx +0 -1
- package/src/interfaces/web/src/screens/modules/ImagesScreen.tsx +172 -0
- package/src/interfaces/web/src/screens/modules/VoiceScreen.tsx +36 -4
- package/src/interfaces/web/src/screens/project/AgentBrainGraph.tsx +117 -30
- package/src/interfaces/web/src/screens/project/AgentDetailScreen.tsx +537 -92
- package/src/interfaces/web/src/screens/project/AgentsTab.tsx +344 -93
- package/src/interfaces/web/src/screens/project/ArtifactsTab.tsx +1 -1
- package/src/interfaces/web/src/screens/project/ChatTab.tsx +1160 -94
- package/src/interfaces/web/src/screens/project/IntegrationsTab.tsx +3 -2
- package/src/interfaces/web/src/screens/project/McpsTab.tsx +62 -14
- package/src/interfaces/web/src/screens/project/Overview.tsx +36 -15
- package/src/interfaces/web/src/screens/project/RoutinesTab.tsx +93 -8
- package/src/interfaces/web/src/screens/project/SkillsTab.tsx +4 -1
- package/src/interfaces/web/src/screens/project/StructureTab.tsx +5 -4
- package/src/interfaces/web/src/screens/project/TasksTab.tsx +351 -129
- package/src/interfaces/web/src/screens/project/VarsTab.tsx +17 -5
- package/src/interfaces/web/src/styles.css +106 -31
- package/src/interfaces/web/src/types/daemon.ts +246 -2
- package/src/interfaces/web/src/vite-env.d.ts +20 -0
- package/src/interfaces/tui/plugin/command-shim.ts +0 -109
- package/src/interfaces/web/components.json +0 -25
- package/src/interfaces/web/dist/assets/index-CvEoGtTf.js +0 -849
- package/src/interfaces/web/dist/assets/index-CvEoGtTf.js.map +0 -1
- package/src/interfaces/web/dist/assets/index-DzBBXFaO.css +0 -1
- package/src/interfaces/web/src/components/tasks/TaskDetailPanel.tsx +0 -142
- package/src/interfaces/web/src/components/ui/accordion.tsx +0 -72
- package/src/interfaces/web/src/components/ui/alert-dialog.tsx +0 -187
- package/src/interfaces/web/src/components/ui/alert.tsx +0 -76
- package/src/interfaces/web/src/components/ui/aspect-ratio.tsx +0 -22
- package/src/interfaces/web/src/components/ui/avatar.tsx +0 -107
- package/src/interfaces/web/src/components/ui/breadcrumb.tsx +0 -125
- package/src/interfaces/web/src/components/ui/button-group.tsx +0 -87
- package/src/interfaces/web/src/components/ui/calendar.tsx +0 -221
- package/src/interfaces/web/src/components/ui/card.tsx +0 -103
- package/src/interfaces/web/src/components/ui/carousel.tsx +0 -242
- package/src/interfaces/web/src/components/ui/chart.tsx +0 -371
- package/src/interfaces/web/src/components/ui/checkbox.tsx +0 -29
- package/src/interfaces/web/src/components/ui/collapsible.tsx +0 -19
- package/src/interfaces/web/src/components/ui/combobox.tsx +0 -295
- package/src/interfaces/web/src/components/ui/command.tsx +0 -196
- package/src/interfaces/web/src/components/ui/direction.tsx +0 -4
- package/src/interfaces/web/src/components/ui/drawer.tsx +0 -134
- package/src/interfaces/web/src/components/ui/empty.tsx +0 -104
- package/src/interfaces/web/src/components/ui/field.tsx +0 -236
- package/src/interfaces/web/src/components/ui/hover-card.tsx +0 -51
- package/src/interfaces/web/src/components/ui/input-otp.tsx +0 -85
- package/src/interfaces/web/src/components/ui/item.tsx +0 -201
- package/src/interfaces/web/src/components/ui/menubar.tsx +0 -280
- package/src/interfaces/web/src/components/ui/native-select.tsx +0 -61
- package/src/interfaces/web/src/components/ui/navigation-menu.tsx +0 -168
- package/src/interfaces/web/src/components/ui/pagination.tsx +0 -130
- package/src/interfaces/web/src/components/ui/progress.tsx +0 -83
- package/src/interfaces/web/src/components/ui/radio-group.tsx +0 -36
- package/src/interfaces/web/src/components/ui/resizable.tsx +0 -50
- package/src/interfaces/web/src/components/ui/scroll-area.tsx +0 -53
- package/src/interfaces/web/src/components/ui/sidebar.tsx +0 -726
- package/src/interfaces/web/src/components/ui/slider.tsx +0 -52
- package/src/interfaces/web/src/components/ui/sonner.tsx +0 -49
- package/src/interfaces/web/src/components/ui/table.tsx +0 -116
- package/src/interfaces/web/src/components/ui/toggle-group.tsx +0 -87
- package/src/interfaces/web/src/components/ui/toggle.tsx +0 -45
- package/src/interfaces/web/src/hooks/use-mobile.ts +0 -19
- package/src/interfaces/web/src/screens/base/GlobalTasksTab.tsx +0 -161
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
// examples, notes. `topic()` only fills in the empty arrays so every consumer
|
|
9
9
|
// can iterate without guarding.
|
|
10
10
|
|
|
11
|
+
// The agent typology and avatar vocabularies are owned by core, so `apx help`
|
|
12
|
+
// can't list a type the daemon would reject or a blob the web can't draw.
|
|
13
|
+
import { AGENT_TYPE_VALUES, BLOB_KEYS } from "#core/apc/agent-identity.js";
|
|
14
|
+
|
|
11
15
|
// ── ANSI helpers (help only) ─────────────────────────────────────────────────
|
|
12
16
|
const H = {
|
|
13
17
|
R: "\x1b[0m",
|
|
@@ -24,6 +28,10 @@ const hCmd = (cmd, pad, desc) => ` ${H.WH}${cmd.padEnd(pad)}${H.R} ${H.DI}${d
|
|
|
24
28
|
const hSub = (sub, pad, desc) => ` ${H.CY}${sub.padEnd(pad)}${H.R} ${H.DI}${desc}${H.R}`;
|
|
25
29
|
const hFlag = (f, pad, desc) => ` ${H.YE}${f.padEnd(pad)}${H.R} ${H.DI}${desc}${H.R}`;
|
|
26
30
|
|
|
31
|
+
// Every file-editing command answers to the same selector, so the flag reads
|
|
32
|
+
// the same everywhere it appears.
|
|
33
|
+
const PROJECT_FLAG = ["--project <name|id|path>", "Act on that project instead of the one cwd is inside."];
|
|
34
|
+
|
|
27
35
|
const topic = ({ title, summary, usage = [], commands = [], options = [], examples = [], notes = [] }) => ({
|
|
28
36
|
title,
|
|
29
37
|
summary,
|
|
@@ -127,11 +135,11 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
127
135
|
["--json", "Emit JSON instead of human-readable lines (show --key only)."],
|
|
128
136
|
],
|
|
129
137
|
examples: [
|
|
130
|
-
"apx project config show
|
|
131
|
-
"apx project config show
|
|
132
|
-
"apx project config set
|
|
133
|
-
"apx project config unset
|
|
134
|
-
"apx project config edit
|
|
138
|
+
"apx project config show acme",
|
|
139
|
+
"apx project config show acme --key super_agent.model",
|
|
140
|
+
"apx project config set acme super_agent.model groq:llama-3.3-70b-versatile",
|
|
141
|
+
"apx project config unset acme super_agent.model",
|
|
142
|
+
"apx project config edit acme",
|
|
135
143
|
],
|
|
136
144
|
}),
|
|
137
145
|
"project config show": topic({
|
|
@@ -142,25 +150,25 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
142
150
|
["--key <dotted.key>", "Print just one key (effective + project_only)."],
|
|
143
151
|
["--json", "JSON output (only with --key)."],
|
|
144
152
|
],
|
|
145
|
-
examples: ["apx project config show
|
|
153
|
+
examples: ["apx project config show acme", "apx project config show acme --key super_agent.model"],
|
|
146
154
|
}),
|
|
147
155
|
"project config set": topic({
|
|
148
156
|
title: "apx project config set",
|
|
149
157
|
summary: "Set a dotted-key value in .apc/config.json (PATCH).",
|
|
150
158
|
usage: ["apx project config set <project> <dotted.key> <value>"],
|
|
151
|
-
examples: ["apx project config set
|
|
159
|
+
examples: ["apx project config set acme super_agent.model groq:llama-3.3-70b-versatile"],
|
|
152
160
|
}),
|
|
153
161
|
"project config unset": topic({
|
|
154
162
|
title: "apx project config unset",
|
|
155
163
|
summary: "Remove a dotted-key from .apc/config.json (PATCH unset).",
|
|
156
164
|
usage: ["apx project config unset <project> <dotted.key>"],
|
|
157
|
-
examples: ["apx project config unset
|
|
165
|
+
examples: ["apx project config unset acme super_agent.model"],
|
|
158
166
|
}),
|
|
159
167
|
"project config edit": topic({
|
|
160
168
|
title: "apx project config edit",
|
|
161
169
|
summary: "Open the project_only config in $EDITOR. Saves with PUT on exit.",
|
|
162
170
|
usage: ["apx project config edit <project>"],
|
|
163
|
-
examples: ["apx project config edit
|
|
171
|
+
examples: ["apx project config edit acme"],
|
|
164
172
|
}),
|
|
165
173
|
agent: topic({
|
|
166
174
|
title: "apx agent",
|
|
@@ -169,6 +177,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
169
177
|
commands: [
|
|
170
178
|
["add <slug>", "Create a project-local agent."],
|
|
171
179
|
["list | ls", "List project agents."],
|
|
180
|
+
["set | edit <slug>", "Edit an agent's system prompt and/or fields."],
|
|
172
181
|
["get | show <slug>", "Print one agent definition."],
|
|
173
182
|
["remove | rm <slug>", "Delete a project agent (file + runtime memory)."],
|
|
174
183
|
["import <slug>", "Import an agent template from ~/.apx/agents."],
|
|
@@ -177,33 +186,73 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
177
186
|
["vault rm <slug>", "Delete a vault template (tombstones the bundled default so it stays hidden)."],
|
|
178
187
|
["vault restore <slug>", "Lift a tombstone so a previously-removed bundled default is visible again."],
|
|
179
188
|
],
|
|
180
|
-
examples: ["apx agent add reviewer --role Reviewer --
|
|
189
|
+
examples: ["apx agent add reviewer --role Reviewer --prompt-file ./prompt.md", "apx agent list"],
|
|
181
190
|
}),
|
|
182
191
|
"agent add": topic({
|
|
183
192
|
title: "apx agent add",
|
|
184
|
-
summary: "Create a project-local agent definition.",
|
|
185
|
-
usage: ["apx agent add <slug> [--role <role>] [--model <model>] [--skills a,b] [--language <tag>] [--description <text>] [--tools a,b]"],
|
|
193
|
+
summary: "Create a project-local agent definition, with its system prompt.",
|
|
194
|
+
usage: ["apx agent add <slug> [--prompt <text>|-] [--prompt-file <path>] [--type <type>] [--role <role>] [--area <area>] [--model <model>] [--skills a,b] [--language <tag>] [--description <text>] [--tools a,b] [--icon <blob>] [--parent <slug>] [--project <name|id|path>]"],
|
|
186
195
|
options: [
|
|
187
|
-
["--
|
|
196
|
+
["--prompt <text>", "The agent's system prompt (its instructions). Use `-` to read it from stdin."],
|
|
197
|
+
["--prompt-file <path>", "Read the system prompt from a file."],
|
|
198
|
+
["--type <type>", `Typology: ${AGENT_TYPE_VALUES.join(" | ")}. 'orchestrator' also marks the agent as master.`],
|
|
199
|
+
["--role <role>", "Role — a role slug from `apx org show`, or free text."],
|
|
200
|
+
["--area <area>", "Org-chart area slug from `apx org show` (growth, not Growth). Display names are slugified on write."],
|
|
188
201
|
["--model <model>", "Preferred model id."],
|
|
189
202
|
["--skills a,b", "Comma-separated skill names."],
|
|
190
203
|
["--language <tag>", "Default response language, for example en-US or es-AR."],
|
|
191
204
|
["--description <text>", "Short agent description."],
|
|
192
|
-
["--tools a,b", "Comma-separated tool hints."],
|
|
205
|
+
["--tools a,b", "Comma-separated tool hints. Omitted means the safe default set."],
|
|
206
|
+
["--icon <blob>", "Avatar blob preset. Omitted means one is picked from those this project isn't using."],
|
|
207
|
+
["--parent <slug>", "The orchestrator this agent reports to."],
|
|
208
|
+
["--project <name|id|path>", "Create it in that project instead of the one cwd is inside."],
|
|
209
|
+
],
|
|
210
|
+
notes: [
|
|
211
|
+
"--description is one line of metadata; the PROMPT is what the agent is actually told. Without it the agent runs on its frontmatter alone.",
|
|
212
|
+
"For a multi-line prompt pipe it in: apx agent add reviewer --prompt - <<'EOF' … EOF",
|
|
213
|
+
`Blob presets: ${BLOB_KEYS.join(", ")}.`,
|
|
214
|
+
],
|
|
215
|
+
examples: [
|
|
216
|
+
"apx agent add reviewer --type specialist --role Reviewer --prompt-file ./reviewer-prompt.md",
|
|
217
|
+
"apx agent add reviewer --role Reviewer --prompt - < prompt.md",
|
|
218
|
+
],
|
|
219
|
+
}),
|
|
220
|
+
"agent set": topic({
|
|
221
|
+
title: "apx agent set",
|
|
222
|
+
summary: "Edit an existing project agent: its system prompt, identity or fields.",
|
|
223
|
+
usage: ["apx agent set <slug> [--prompt <text>|-] [--prompt-file <path>] [--type <type>] [--role <role>] [--area <area>] [--icon <blob>] [--model <model>] [--language <tag>] [--description <text>] [--skills a,b] [--tools a,b] [--emoji <e>] [--parent <slug>] [--project <name|id|path>]"],
|
|
224
|
+
options: [
|
|
225
|
+
["--prompt <text>", "Replace the agent's system prompt. Use `-` to read it from stdin."],
|
|
226
|
+
["--prompt-file <path>", "Replace the system prompt from a file."],
|
|
227
|
+
["--type <type>", `Typology: ${AGENT_TYPE_VALUES.join(" | ")}.`],
|
|
228
|
+
["--icon <blob>", "Change the avatar blob preset."],
|
|
229
|
+
["--tools a,b", "Comma-separated tool allowlist. A declared list is a deliberate narrowing; omit the flag to leave the agent on the broad default."],
|
|
230
|
+
["--project <name|id|path>", "Edit the agent in that project instead of the one cwd is inside."],
|
|
231
|
+
],
|
|
232
|
+
notes: [
|
|
233
|
+
"Only what you pass is changed; a field-only edit leaves the prompt intact.",
|
|
234
|
+
"Aliases: apx agent edit, apx agent update.",
|
|
235
|
+
"You do not have to stand in the project: `--project` takes a name, an id from `apx project list`, or a path.",
|
|
236
|
+
],
|
|
237
|
+
examples: [
|
|
238
|
+
"apx agent set reviewer --prompt - < prompt.md",
|
|
239
|
+
"apx agent set reviewer --type specialist --area growth --icon kiwi",
|
|
240
|
+
"apx agent set magui --tools browser_navigate,browser_snapshot,browser_click --project appsi",
|
|
193
241
|
],
|
|
194
|
-
examples: ["apx agent add reviewer --role Reviewer --model gpt-5.2 --skills review,test"],
|
|
195
242
|
}),
|
|
196
243
|
"agent list": topic({
|
|
197
244
|
title: "apx agent list",
|
|
198
|
-
summary: "List agents available in the
|
|
199
|
-
usage: ["apx agent list", "apx agent ls"],
|
|
200
|
-
|
|
245
|
+
summary: "List agents available in an APC project (the one cwd is inside, unless --project says otherwise).",
|
|
246
|
+
usage: ["apx agent list [--project <name|id|path>]", "apx agent ls [--project <name|id|path>]"],
|
|
247
|
+
options: [PROJECT_FLAG],
|
|
248
|
+
examples: ["apx agent list", "apx agent list --project appsi"],
|
|
201
249
|
}),
|
|
202
250
|
"agent get": topic({
|
|
203
251
|
title: "apx agent get",
|
|
204
252
|
summary: "Print one project agent definition.",
|
|
205
|
-
usage: ["apx agent get <slug>", "apx agent show <slug>"],
|
|
206
|
-
|
|
253
|
+
usage: ["apx agent get <slug> [--project <name|id|path>]", "apx agent show <slug> [--project <name|id|path>]"],
|
|
254
|
+
options: [PROJECT_FLAG],
|
|
255
|
+
examples: ["apx agent get reviewer", "apx agent get magui --project appsi"],
|
|
207
256
|
}),
|
|
208
257
|
"agent remove": topic({
|
|
209
258
|
title: "apx agent remove",
|
|
@@ -293,40 +342,70 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
293
342
|
}),
|
|
294
343
|
config: topic({
|
|
295
344
|
title: "apx config",
|
|
296
|
-
summary: "Read and edit project
|
|
297
|
-
usage: [
|
|
345
|
+
summary: "Read and edit configuration: the project layer (.apc/config.json) or, with --global, ~/.apx/config.json.",
|
|
346
|
+
usage: [
|
|
347
|
+
"apx config [show] [--global] [--effective] [--only-overrides]",
|
|
348
|
+
"apx config set [--global] <key.path> <value>",
|
|
349
|
+
"apx config unset [--global] <key.path>",
|
|
350
|
+
],
|
|
298
351
|
commands: [
|
|
299
352
|
["show | ls", "Print config."],
|
|
300
353
|
["set <key> <value>", "Set a JSON-aware value."],
|
|
301
354
|
["unset | rm <key>", "Remove a key."],
|
|
302
355
|
],
|
|
303
356
|
options: [
|
|
304
|
-
["--
|
|
305
|
-
["--
|
|
357
|
+
["--global", "Target ~/.apx/config.json instead of the project. Credentials, daemon and voice settings live there."],
|
|
358
|
+
["--scope <project|global>", "Explicit scope (alias of --global)."],
|
|
359
|
+
["--effective", "Show merged effective config. Project scope only."],
|
|
360
|
+
["--only-overrides", "Show only project overrides. Project scope only."],
|
|
361
|
+
["--project <name|id|path>", "Pin the project layer to a specific project."],
|
|
362
|
+
],
|
|
363
|
+
examples: [
|
|
364
|
+
"apx config show --effective",
|
|
365
|
+
"apx config show --global",
|
|
366
|
+
"apx config set --global engines.openai.api_key sk-example",
|
|
367
|
+
"apx config set engines.openai.model gpt-5.2",
|
|
306
368
|
],
|
|
307
|
-
examples: ["apx config show --effective", "apx config set engines.openai.model gpt-5.2"],
|
|
308
369
|
}),
|
|
309
370
|
"config show": topic({
|
|
310
371
|
title: "apx config show",
|
|
311
|
-
summary: "Print project config.",
|
|
312
|
-
usage: ["apx config show [--effective] [--only-overrides]", "apx config ls"],
|
|
372
|
+
summary: "Print project config, or ~/.apx/config.json with --global.",
|
|
373
|
+
usage: ["apx config show [--global] [--effective] [--only-overrides]", "apx config ls"],
|
|
313
374
|
options: [
|
|
314
|
-
["--
|
|
315
|
-
["--
|
|
375
|
+
["--global", "Print ~/.apx/config.json (secrets redacted). JSON on stdout, header on stderr, so it pipes to jq."],
|
|
376
|
+
["--scope <project|global>", "Explicit scope (alias of --global)."],
|
|
377
|
+
["--effective", "Show merged effective config. Project scope only."],
|
|
378
|
+
["--only-overrides", "Show only project overrides. Project scope only."],
|
|
316
379
|
],
|
|
317
|
-
examples: ["apx config show", "apx config show --effective"],
|
|
380
|
+
examples: ["apx config show", "apx config show --effective", "apx config show --global"],
|
|
318
381
|
}),
|
|
319
382
|
"config set": topic({
|
|
320
383
|
title: "apx config set",
|
|
321
|
-
summary: "Set a JSON-aware value in .apc/config.json.",
|
|
322
|
-
usage: ["apx config set <key.path> <value>"],
|
|
323
|
-
|
|
384
|
+
summary: "Set a JSON-aware value in .apc/config.json, or in ~/.apx/config.json with --global.",
|
|
385
|
+
usage: ["apx config set [--global] <key.path> <value>"],
|
|
386
|
+
options: [
|
|
387
|
+
["--global", "Write to ~/.apx/config.json and hot-reload the daemon. Required for credentials — .apc/config.json is committed."],
|
|
388
|
+
["--scope <project|global>", "Explicit scope (alias of --global)."],
|
|
389
|
+
],
|
|
390
|
+
examples: [
|
|
391
|
+
"apx config set --global super_agent.enabled true",
|
|
392
|
+
"apx config set --global engines.openai.api_key sk-example",
|
|
393
|
+
"apx config set engines.openai.model gpt-5.2",
|
|
394
|
+
],
|
|
395
|
+
notes: [
|
|
396
|
+
"Setting a key that looks like a credential WITHOUT --global prints a warning:",
|
|
397
|
+
".apc/config.json is committed to git. The write still goes through.",
|
|
398
|
+
],
|
|
324
399
|
}),
|
|
325
400
|
"config unset": topic({
|
|
326
401
|
title: "apx config unset",
|
|
327
|
-
summary: "Remove a key from .apc/config.json.",
|
|
328
|
-
usage: ["apx config unset <key.path>", "apx config rm <key.path>"],
|
|
329
|
-
|
|
402
|
+
summary: "Remove a key from .apc/config.json, or from ~/.apx/config.json with --global.",
|
|
403
|
+
usage: ["apx config unset [--global] <key.path>", "apx config rm <key.path>"],
|
|
404
|
+
options: [
|
|
405
|
+
["--global", "Remove the key from ~/.apx/config.json and hot-reload the daemon."],
|
|
406
|
+
["--scope <project|global>", "Explicit scope (alias of --global)."],
|
|
407
|
+
],
|
|
408
|
+
examples: ["apx config unset engines.openai.model", "apx config unset --global super_agent.model"],
|
|
330
409
|
}),
|
|
331
410
|
permission: topic({
|
|
332
411
|
title: "apx permission",
|
|
@@ -492,7 +571,8 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
492
571
|
"Locate <id> across every detected engine (apx | claude | codex), show it, and optionally continue.",
|
|
493
572
|
usage: [
|
|
494
573
|
"apx session resume <id> [--engine <id>] [--summary] [--full|--tail N]",
|
|
495
|
-
"apx session resume <id> --continue # spawn native CLI to resume",
|
|
574
|
+
"apx session resume <id> --continue # spawn native CLI to resume (interactive, for a human)",
|
|
575
|
+
"apx session resume <id> --continue --msg \"<text>\" # headless: inject one message, capture the reply",
|
|
496
576
|
"apx session resume <id> --into apx[:slug] # create a new APX session seeded with the summary",
|
|
497
577
|
],
|
|
498
578
|
options: [
|
|
@@ -500,13 +580,15 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
500
580
|
["--summary", "Ask the super-agent to summarize the transcript (needs daemon)."],
|
|
501
581
|
["--tail N[k|m]", "Print the last N bytes of the transcript (default = metadata only)."],
|
|
502
582
|
["--full / --body", "Print the entire transcript."],
|
|
503
|
-
["--continue", "Spawn the engine's native CLI (claude --resume / codex resume)."],
|
|
583
|
+
["--continue", "Spawn the engine's native CLI (claude --resume / codex resume), interactive."],
|
|
584
|
+
["--msg \"<text>\"", "Headless: inject one message into the transcript (full context) and capture the reply. Implies --continue. Claude only. \"-\" or empty reads stdin. How an APX agent answers a coding session."],
|
|
504
585
|
["--into apx[:slug]", "Create a new APX session whose body is the summary of <id>."],
|
|
505
586
|
["--project <name|id|path>", "Pin to a specific APX project (apx-engine summaries only)."],
|
|
506
587
|
],
|
|
507
588
|
examples: [
|
|
508
589
|
"apx session resume b3f0c12a... --summary",
|
|
509
590
|
"apx session resume 2026-05-09-01 --continue",
|
|
591
|
+
"apx session resume fb65f80d... --continue --msg \"the owner says: go ahead with the tests, don't touch login\"",
|
|
510
592
|
"apx session resume b3f0c12a... --engine claude --into apx:reviewer",
|
|
511
593
|
],
|
|
512
594
|
}),
|
|
@@ -538,7 +620,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
538
620
|
examples: [
|
|
539
621
|
"apx sessions list # every engine, every project",
|
|
540
622
|
"apx sessions list --engine claude",
|
|
541
|
-
"apx sessions list --engine claude --project
|
|
623
|
+
"apx sessions list --engine claude --project acme",
|
|
542
624
|
"apx sessions list --dir /path/to/project # this dir across every engine",
|
|
543
625
|
],
|
|
544
626
|
}),
|
|
@@ -560,8 +642,8 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
560
642
|
],
|
|
561
643
|
examples: [
|
|
562
644
|
"apx sessions list # every engine, every project",
|
|
563
|
-
"apx sessions list --engine claude --project
|
|
564
|
-
"apx sessions list --engine codex --dir /Volumes/work/
|
|
645
|
+
"apx sessions list --engine claude --project acme",
|
|
646
|
+
"apx sessions list --engine codex --dir /Volumes/work/acme",
|
|
565
647
|
],
|
|
566
648
|
}),
|
|
567
649
|
obsidian: topic({
|
|
@@ -594,7 +676,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
594
676
|
usage: ["apx mcp <subcommand> [args] [--flags]"],
|
|
595
677
|
commands: [
|
|
596
678
|
["list | ls", "List MCP servers for a project."],
|
|
597
|
-
["add <name>", "Add a project-owned MCP server."],
|
|
679
|
+
["add <name>", "Add a project-owned MCP server (stdio via --command, remote via --url)."],
|
|
598
680
|
["remove | rm <name>", "Remove a project-owned MCP server."],
|
|
599
681
|
["enable <name>", "Enable a project-owned MCP server."],
|
|
600
682
|
["disable <name>", "Disable a project-owned MCP server."],
|
|
@@ -617,23 +699,31 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
617
699
|
examples: [
|
|
618
700
|
"apx mcp list",
|
|
619
701
|
"apx mcp list --project default",
|
|
620
|
-
"apx mcp list --scope runtime --project
|
|
702
|
+
"apx mcp list --scope runtime --project acme",
|
|
621
703
|
],
|
|
622
704
|
}),
|
|
623
705
|
"mcp add": topic({
|
|
624
706
|
title: "apx mcp add",
|
|
625
|
-
summary: "Add an APX-owned MCP server. Default scope is `shared` (commit to repo) inside an APC project, else `global`.",
|
|
626
|
-
usage: [
|
|
707
|
+
summary: "Add an APX-owned MCP server, local (stdio) or remote (http). Default scope is `shared` (commit to repo) inside an APC project, else `global`.",
|
|
708
|
+
usage: [
|
|
709
|
+
"apx mcp add <name> --command <cmd> [--scope <shared|runtime|global>] [--env KEY=VAL ...] [--project <name|id|path>] [-- <arg> ...]",
|
|
710
|
+
"apx mcp add <name> --url <endpoint> [--header \"Name: value\" ...] [--scope <shared|runtime|global>] [--project <name|id|path>]",
|
|
711
|
+
],
|
|
627
712
|
options: [
|
|
628
|
-
["--command <cmd>", "Executable command for stdio MCP server."],
|
|
713
|
+
["--command <cmd>", "Executable command for a local stdio MCP server."],
|
|
714
|
+
["--url <endpoint>", "Endpoint of a remote streamable-HTTP MCP server. Mutually exclusive with --command."],
|
|
715
|
+
["--header \"Name: value\"", "HTTP header for --url (also accepts Name=value). Repeatable. Put tokens in --scope runtime."],
|
|
716
|
+
["--transport <stdio|http>", "Optional; inferred from --command / --url."],
|
|
629
717
|
["--scope <s>", "shared = .apc/mcps.json (committable); runtime = ~/.apx/projects/<id>/mcps.json (per-project, local, chmod 0600 — use for tokens); global = ~/.apx/mcps.json (machine-wide)."],
|
|
630
|
-
["--env KEY=VAL", "Environment variable. Repeatable."],
|
|
718
|
+
["--env KEY=VAL", "Environment variable (stdio only). Repeatable."],
|
|
631
719
|
["--project <name|id|path>", "Pin command to a specific project."],
|
|
632
|
-
["-- <arg> ...", "Arguments passed to the MCP command."],
|
|
720
|
+
["-- <arg> ...", "Arguments passed to the MCP command (stdio only)."],
|
|
633
721
|
],
|
|
634
722
|
examples: [
|
|
635
723
|
"apx mcp add filesystem --command npx -- -y @modelcontextprotocol/server-filesystem .",
|
|
636
|
-
"apx mcp add github --scope runtime --project
|
|
724
|
+
"apx mcp add github --scope runtime --project acme --command npx -- -y @modelcontextprotocol/server-github",
|
|
725
|
+
"apx mcp add postbean --url https://mcp.example.com/mcp --scope runtime",
|
|
726
|
+
"apx mcp add postbean --url https://mcp.example.com/mcp --header \"Authorization: Bearer $TOKEN\" --scope runtime",
|
|
637
727
|
],
|
|
638
728
|
}),
|
|
639
729
|
"mcp remove": topic({
|
|
@@ -647,7 +737,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
647
737
|
["--project <name|id|path>", "Pin command to a specific project."],
|
|
648
738
|
["--scope <s>", "Which scope to remove from. Defaults to `shared` inside an APC project, else `global`."],
|
|
649
739
|
],
|
|
650
|
-
examples: ["apx mcp remove filesystem", "apx mcp remove github --scope runtime --project
|
|
740
|
+
examples: ["apx mcp remove filesystem", "apx mcp remove github --scope runtime --project acme"],
|
|
651
741
|
}),
|
|
652
742
|
"mcp enable": topic({
|
|
653
743
|
title: "apx mcp enable",
|
|
@@ -862,7 +952,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
862
952
|
],
|
|
863
953
|
examples: [
|
|
864
954
|
"apx telegram channel add",
|
|
865
|
-
"apx telegram channel add clientes --bot-token TOKEN --chat-id 1234 --project
|
|
955
|
+
"apx telegram channel add clientes --bot-token TOKEN --chat-id 1234 --project acme --agent comercial",
|
|
866
956
|
"apx telegram channel list",
|
|
867
957
|
"apx telegram channel set clientes --agent reviewer",
|
|
868
958
|
"apx telegram channel unset clientes --agent",
|
|
@@ -898,7 +988,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
898
988
|
summary: "Patch fields on an existing Telegram channel and reload the daemon.",
|
|
899
989
|
usage: ["apx telegram channel set <name> [--project P] [--agent A] [--respond-engine true|false] [--bot-token T] [--chat-id ID]"],
|
|
900
990
|
examples: [
|
|
901
|
-
"apx telegram channel set clientes --project
|
|
991
|
+
"apx telegram channel set clientes --project acme --agent comercial",
|
|
902
992
|
"apx telegram channel set clientes --respond-engine false",
|
|
903
993
|
],
|
|
904
994
|
}),
|
|
@@ -978,14 +1068,15 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
978
1068
|
summary: "One-shot LLM call. Default target is the APX super-agent (daemon); use -a for an APC agent slug.",
|
|
979
1069
|
usage: [
|
|
980
1070
|
"apx exec \"<prompt>\" [--model <id>] [--project <name|id|path>]",
|
|
981
|
-
"apx exec --code \"<prompt>\" (coding channel
|
|
1071
|
+
"apx exec --code \"<prompt>\" [--session <id>] (coding channel; lands in a code session)",
|
|
982
1072
|
"apx exec -- \"<prompt>\"",
|
|
983
1073
|
"apx exec -a <agent> \"<prompt>\" [--model <id>]",
|
|
984
1074
|
"apx exec <agent> \"<prompt>\" (legacy positional agent)",
|
|
985
1075
|
],
|
|
986
1076
|
options: [
|
|
987
1077
|
["-a, --agent <slug>", "APC agent slug (omit for super-agent default)."],
|
|
988
|
-
["-c, --code", "Run on the 'code' channel
|
|
1078
|
+
["-c, --code", "Run on the 'code' channel. The turn is saved as a code session, visible at /code."],
|
|
1079
|
+
["--session <id>", "Continue an existing code session instead of opening a new one (--code only)."],
|
|
989
1080
|
["--channel <name>", "Explicit channel (cli, code, api, …). Default cli."],
|
|
990
1081
|
["--model <id>", "Override configured model."],
|
|
991
1082
|
["--max-tokens N", "Output token limit."],
|
|
@@ -995,6 +1086,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
995
1086
|
examples: [
|
|
996
1087
|
"apx exec \"What time is it in UTC?\"",
|
|
997
1088
|
"apx exec --code \"refactor the auth middleware\"",
|
|
1089
|
+
"apx exec --code --session cs_ab12cd \"now add a test for it\"",
|
|
998
1090
|
"apx exec -- \"decime qué hora es\"",
|
|
999
1091
|
"apx exec -a reviewer \"Summarize your role\"",
|
|
1000
1092
|
"apx exec reviewer \"Summarize your role\" --model gpt-5.2",
|
|
@@ -1065,14 +1157,18 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
1065
1157
|
}),
|
|
1066
1158
|
run: topic({
|
|
1067
1159
|
title: "apx run",
|
|
1068
|
-
summary: "
|
|
1069
|
-
usage: ["apx run <agent> --runtime <claude-code|codex|opencode|aider|cursor-agent|gemini-cli|qwen-code|antigravity> \"<prompt>\" [--timeout <seconds>] [--project <name|id|path>]"],
|
|
1160
|
+
summary: "Delegate a prompt to an external runtime CLI. The agent is OPTIONAL — without one it's a pass-through (the CLI runs as itself); with one, that agent's system prompt shapes the turn.",
|
|
1161
|
+
usage: ["apx run [-a <agent>] --runtime <claude-code|codex|opencode|aider|cursor-agent|gemini-cli|qwen-code|antigravity> \"<prompt>\" [--timeout <seconds>] [--project <name|id|path>]"],
|
|
1070
1162
|
options: [
|
|
1071
1163
|
["--runtime <id>", "Runtime CLI to launch: claude-code, codex, opencode, aider, cursor-agent, gemini-cli, qwen-code, antigravity."],
|
|
1164
|
+
["-a, --agent <slug>", "Optional. Wrap the run in this APX agent's system prompt. Omit for a pass-through — the external CLI uses its own default persona (it does not use APX agents)."],
|
|
1072
1165
|
["--timeout <seconds>", "Runtime timeout."],
|
|
1073
1166
|
["--project <name|id|path>", "Pin command to a specific project."],
|
|
1074
1167
|
],
|
|
1075
|
-
examples: [
|
|
1168
|
+
examples: [
|
|
1169
|
+
"apx run --runtime codex \"Review this repo\" # pass-through",
|
|
1170
|
+
"apx run -a reviewer --runtime codex \"Review this repo\" # wrapped in the reviewer agent",
|
|
1171
|
+
],
|
|
1076
1172
|
}),
|
|
1077
1173
|
env: topic({
|
|
1078
1174
|
title: "apx env",
|
|
@@ -1089,13 +1185,32 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
1089
1185
|
}),
|
|
1090
1186
|
send: topic({
|
|
1091
1187
|
title: "apx send",
|
|
1092
|
-
summary: "Log an agent-to-agent message, optionally delivering it through the
|
|
1093
|
-
usage: ["apx send <from> <to> \"<message>\" [--deliver] [--project <name|id|path>]"],
|
|
1188
|
+
summary: "Log an agent-to-agent message, optionally delivering it through the recipient.",
|
|
1189
|
+
usage: ["apx send <from> <to> \"<message>\" [--deliver] [--code] [--background] [--timeout <s>] [--severity blocker|status|fyi] [--model <id>] [--usage <json>] [--project <name|id|path>]"],
|
|
1094
1190
|
options: [
|
|
1095
|
-
["--deliver", "Run the
|
|
1191
|
+
["--deliver", "Run the recipient now and print its reply (plus the session it kept)."],
|
|
1192
|
+
["--code", "Open the exchange as a coding session: the peer runs with write access, and the exchange shows up in the Code module. Without it the peer is read-only. Not available for claude-code or codex."],
|
|
1193
|
+
["--background", "Hand the turn back immediately; the reply lands on the thread when the peer finishes. For work that takes minutes."],
|
|
1194
|
+
["--timeout <s>", "Seconds before the peer is killed. Default 300 in the foreground, 3600 with --background."],
|
|
1195
|
+
["--severity <blocker|status|fyi>", "Urgency for the owner. blocker = alert now (Roby pings, crosses quiet-hours); status/fyi = rides the digest."],
|
|
1196
|
+
["--model <id>", "Attribution override. Default: the sender agent's configured model. Sets which model the message shows as."],
|
|
1197
|
+
["--usage <json>", "Token usage, e.g. '{\"input_tokens\":10,\"output_tokens\":5}'. A plain relay spends none, so it stays empty unless you pass it."],
|
|
1096
1198
|
["--project <name|id|path>", "Pin command to a specific project."],
|
|
1097
1199
|
],
|
|
1098
|
-
examples: [
|
|
1200
|
+
examples: [
|
|
1201
|
+
"apx send planner reviewer \"Please review this plan\" --deliver",
|
|
1202
|
+
"apx send claude-code opencode \"Take a look at src/auth and tell me what you'd change\" --deliver",
|
|
1203
|
+
"apx send claude-code opencode:review \"Second thread, separate history\" --deliver",
|
|
1204
|
+
"apx send claude-code opencode \"Add the retry to the fetch helper\" --deliver --code --background",
|
|
1205
|
+
"apx send magui roby \"Postiz API is down, daily post failed\" --severity blocker --deliver",
|
|
1206
|
+
],
|
|
1207
|
+
notes: [
|
|
1208
|
+
"<to> is a PEER: an agent slug from AGENTS.md, the configured super-agent name (for example Roby; runs the real orchestrator), or a runtime id (claude-code, codex, opencode, aider, cursor-agent, gemini-cli, qwen-code, antigravity) answered by spawning that CLI.",
|
|
1209
|
+
"Append :<thread> for a second, independent exchange with the same peer (opencode:review). Separate history, separate session.",
|
|
1210
|
+
"A runtime peer continues its OWN session between turns, and runs in your current directory rather than the project's.",
|
|
1211
|
+
"Read-only is the default on purpose: being messaged is not consent to have your checkout edited. --code is what opens write access, and it is enforced by the runtime itself (opencode --agent), not just asked for in the prompt.",
|
|
1212
|
+
"claude-code and codex are never --code peers: they are the CLIs you drive yourself, and a message must not also start them writing to the same checkout. They answer read-only; send the work to opencode or use apx run.",
|
|
1213
|
+
],
|
|
1099
1214
|
}),
|
|
1100
1215
|
connections: topic({
|
|
1101
1216
|
title: "apx connections",
|
|
@@ -1136,7 +1251,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
1136
1251
|
"routine add": topic({
|
|
1137
1252
|
title: "apx routine add",
|
|
1138
1253
|
summary: "Create a scheduled routine.",
|
|
1139
|
-
usage: ["apx routine add <name> --kind <kind> --schedule <schedule> [--spec '<json>'] [--pre-commands 'cmd1,cmd2'] [--post-commands 'cmd'] [--skip-prompt-on signal|pre_failure|pre_success|always|never] [--project <name|id|path>]"],
|
|
1254
|
+
usage: ["apx routine add <name> --kind <kind> --schedule <schedule> [--spec '<json>'] [--pre-commands 'cmd1,cmd2'] [--post-commands 'cmd'] [--skip-prompt-on signal|pre_failure|pre_success|always|never] [--deliver-to telegram,web] [--project <name|id|path>]"],
|
|
1140
1255
|
options: [
|
|
1141
1256
|
["--kind <kind>", "heartbeat, exec_agent, super_agent, telegram, shell, or watch."],
|
|
1142
1257
|
["--schedule <schedule>", "every:60s, every:5m, every:1h, or once:<iso>."],
|
|
@@ -1144,6 +1259,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
1144
1259
|
["--pre-commands 'cmd'", "Comma-separated shell commands to run BEFORE the LLM. Use 'artifact:<name>' shorthand."],
|
|
1145
1260
|
["--post-commands 'cmd'", "Comma-separated shell commands to run AFTER the LLM. Env: APX_LLM_OUTPUT, APX_PRE_OUTPUT, APX_STATUS."],
|
|
1146
1261
|
["--skip-prompt-on <mode>", "signal (default), pre_failure, pre_success, always, never."],
|
|
1262
|
+
["--deliver-to a,b", "Where the output goes: telegram, web, profile (ask the active agent profile), none. Unset means nowhere."],
|
|
1147
1263
|
["--permission-mode <mode>", "total, automatico, or permiso."],
|
|
1148
1264
|
["--allowed-tools a,b", "Comma-separated allowed tool names."],
|
|
1149
1265
|
["--project <name|id|path>", "Pin command to a specific project."],
|
|
@@ -1151,6 +1267,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
1151
1267
|
examples: [
|
|
1152
1268
|
"apx routine add check --kind shell --schedule every:1h --spec '{\"cmd\":\"npm test\"}'",
|
|
1153
1269
|
"apx routine add asana-check --kind super_agent --schedule '*/5 * * * *' --pre-commands 'artifact:check_asana.sh' --skip-prompt-on pre_success --project 0",
|
|
1270
|
+
"apx routine add standup --kind super_agent --schedule '30 8 * * 1-5' --spec '{\"prompt\":\"What needs attention today?\"}' --deliver-to telegram,web",
|
|
1154
1271
|
],
|
|
1155
1272
|
}),
|
|
1156
1273
|
"routine get": topic({
|
|
@@ -1411,7 +1528,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
1411
1528
|
"skills inspector": topic({
|
|
1412
1529
|
title: "apx skills inspector",
|
|
1413
1530
|
summary:
|
|
1414
|
-
"Toggle and tune the Skill Inspector (per-turn skill RAG). When ON: the static slug-dump in the system prompt is suppressed and a local RAG picks 0–N skills per turn — loading the body of high-confidence matches, hinting mid-confidence ones, injecting nothing below threshold. When OFF:
|
|
1531
|
+
"Toggle and tune the Skill Inspector (per-turn skill RAG). When ON: the static slug-dump in the system prompt is suppressed and a local RAG picks 0–N skills per turn — loading the body of high-confidence matches, hinting mid-confidence ones, injecting nothing below threshold. When OFF: the static behaviour (full slug list + passive suggestion). Opt-in test feature.",
|
|
1415
1532
|
usage: ["apx skills inspector [status|enable|disable|set <key> <value>]"],
|
|
1416
1533
|
examples: [
|
|
1417
1534
|
"apx skills inspector enable",
|
|
@@ -1453,15 +1570,21 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
1453
1570
|
panel: topic({
|
|
1454
1571
|
title: "apx panel",
|
|
1455
1572
|
summary:
|
|
1456
|
-
"Reach the admin panel from another device on
|
|
1457
|
-
usage: ["apx panel <status|share|unshare>"],
|
|
1573
|
+
"Reach the admin panel from another device: on your own network with `share`, or from anywhere with `tailscale`. Loopback stays the default.",
|
|
1574
|
+
usage: ["apx panel <status|share|unshare|tailscale>"],
|
|
1458
1575
|
commands: [
|
|
1459
1576
|
["status", "Whether the panel is local only or shared, and on what address."],
|
|
1460
1577
|
["share", "Bind a LAN address and print the URL to open on your phone."],
|
|
1461
1578
|
["unshare", "Go back to local only."],
|
|
1579
|
+
["tailscale on", "Publish it at https://<machine>.<tailnet>.ts.net — works from anywhere on your tailnet, with a real certificate. Not `funnel`: nothing is public."],
|
|
1580
|
+
["tailscale off", "Stop publishing over HTTPS."],
|
|
1581
|
+
["tailscale status", "Whether Tailscale is up and what it publishes."],
|
|
1462
1582
|
],
|
|
1463
1583
|
options: [["--host <ip>", "share: bind this address instead of the detected one."]],
|
|
1464
|
-
examples: ["apx panel status", "apx panel share", "apx panel
|
|
1584
|
+
examples: ["apx panel status", "apx panel share", "apx panel tailscale on"],
|
|
1585
|
+
notes: [
|
|
1586
|
+
"Installing the panel as an app on a phone, recording a voice note, and copying to the clipboard all need a SECURE CONTEXT — https:// or localhost. A LAN address served over http:// has none of the three, whatever APX does, which is what `tailscale on` is for.",
|
|
1587
|
+
],
|
|
1465
1588
|
}),
|
|
1466
1589
|
profile: topic({
|
|
1467
1590
|
title: "apx profile",
|
|
@@ -1473,6 +1596,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
1473
1596
|
["show | get <id>", "Details, settings and token cost of one profile."],
|
|
1474
1597
|
["install | add <id|path>", "Validate and install a profile. Does NOT activate it."],
|
|
1475
1598
|
["use | activate <id>", "Make a profile active and install its routines."],
|
|
1599
|
+
["sync", "Re-read the active package from disk after an APX update — refreshes its routines, keeps your settings and your edits."],
|
|
1476
1600
|
["off | deactivate", "Go back to vanilla. Disables its routines, deletes nothing."],
|
|
1477
1601
|
["config", "Show or change the active profile's settings."],
|
|
1478
1602
|
["doctor [<id>]", "What is missing for this profile to do its job."],
|
|
@@ -1489,6 +1613,7 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
1489
1613
|
"apx profile install secretary",
|
|
1490
1614
|
"apx profile use secretary",
|
|
1491
1615
|
"apx profile config --set day_open_at=08:30 --set nudge_budget_per_day=3",
|
|
1616
|
+
"apx profile sync",
|
|
1492
1617
|
"apx profile show secretary --preview",
|
|
1493
1618
|
"apx profile off",
|
|
1494
1619
|
],
|
|
@@ -1517,9 +1642,15 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
1517
1642
|
["--all", "list: fold every registered project into one list, each row labelled."],
|
|
1518
1643
|
["--status <s>", "list: workflow sub-status — pending | running | in_review | blocked."],
|
|
1519
1644
|
["--updated-since <ISO>", "list: only what moved since that moment."],
|
|
1645
|
+
["--category <c>", "add/patch: what kind of task — general | trip. A trip carries a place."],
|
|
1646
|
+
["--place \"<name>\"", "add/patch: the place this errand is at. Empty clears the location."],
|
|
1647
|
+
["--address \"<text>\"", "add/patch: street address of that place."],
|
|
1648
|
+
["--at \"<lat,lon>\"", "add/patch: pin it. A pinned trip task needs no place search and no model."],
|
|
1649
|
+
["--radius <m>", "add/patch: how close counts as \"there\" (default: the mobility radius)."],
|
|
1520
1650
|
],
|
|
1521
1651
|
examples: [
|
|
1522
1652
|
"apx task add \"Ship release notes\" --tag release --due 2026-06-01",
|
|
1653
|
+
"apx task add \"Buy ibuprofen\" --category trip --place \"Pharmacy on Main\" --at \"-41.13,-71.31\"",
|
|
1523
1654
|
"apx task list --state open --tag release",
|
|
1524
1655
|
"apx task list --all --status blocked",
|
|
1525
1656
|
"apx task done t_abc123",
|
|
@@ -1552,18 +1683,24 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
1552
1683
|
"task add": topic({
|
|
1553
1684
|
title: "apx task add",
|
|
1554
1685
|
summary: "Create a task on a project's TODO list.",
|
|
1555
|
-
usage: ["apx task add \"<title>\" [--project X] [--body Y] [--tag t]... [--due 2026-05-30] [--agent A] [--source S]"],
|
|
1686
|
+
usage: ["apx task add \"<title>\" [--project X] [--body Y] [--tag t]... [--due 2026-05-30] [--agent A] [--source S] [--category trip] [--place \"Farmacia X\"] [--at \"lat,lon\"] [--radius 1500]"],
|
|
1556
1687
|
options: [
|
|
1557
1688
|
["--body <text>", "Optional task body / description."],
|
|
1558
1689
|
["--tag <name>", "Tag the task. Repeatable for multiple tags."],
|
|
1559
1690
|
["--due <date>", "Due date (any ISO-ish string the daemon accepts)."],
|
|
1560
1691
|
["--agent <slug>", "Pre-assign the task to an agent."],
|
|
1561
1692
|
["--source <name>", "Origin label (default: cli)."],
|
|
1693
|
+
["--category <id>", "general (default) | trip. A trip task is an errand with a place, and mobility watches for it."],
|
|
1694
|
+
["--place <name>", "Where the errand is. Empty string clears it."],
|
|
1695
|
+
["--address <text>", "Street address, when the name alone is ambiguous."],
|
|
1696
|
+
["--at <lat,lon>", "Pin the exact spot. A pinned errand costs no place search and no model."],
|
|
1697
|
+
["--radius <m>", "How close counts as \"there\" for this errand (default 2000)."],
|
|
1562
1698
|
["--project <name|id|path>", "Pin command to a specific project."],
|
|
1563
1699
|
],
|
|
1564
1700
|
examples: [
|
|
1565
1701
|
"apx task add \"Review PR #42\" --agent reviewer --tag review",
|
|
1566
1702
|
"apx task add \"Release notes\" --tag release --tag docs --due 2026-06-01",
|
|
1703
|
+
"apx task add \"Comprar pan lactal\" --category trip --place \"La Anónima\" --at \"-41.13,-71.31\"",
|
|
1567
1704
|
],
|
|
1568
1705
|
}),
|
|
1569
1706
|
"task list": topic({
|
|
@@ -1741,7 +1878,101 @@ export const HELP_TOPICS = new Map(Object.entries({
|
|
|
1741
1878
|
examples: ["apx desktop start"],
|
|
1742
1879
|
}),
|
|
1743
1880
|
|
|
1881
|
+
// ── Images (text-to-image) ────────────────────────────────────────────────
|
|
1882
|
+
image: topic({
|
|
1883
|
+
title: "apx image",
|
|
1884
|
+
summary: "Text-to-image through the daemon's routed engine. Speaks three dialects — the AUTOMATIC1111 API (A1111, Forge, Draw Things, stable-diffusion.cpp), the native stable-diffusion.cpp async job API, and OpenAI-compatible /v1/images — so the same command drives a local server, a box on the LAN and a cloud key. Configure engines in Settings → Images or under `images.*` in ~/.apx/config.json.",
|
|
1885
|
+
usage: [
|
|
1886
|
+
"apx image \"<prompt>\" [--out <file>] [--provider <id>] [--size 768x512] [--steps N] [--cfg N]",
|
|
1887
|
+
"apx image \"<prompt>\" [--seed N] [--negative \"...\"] [--count N] [--model <id>] [--format png|jpeg|webp]",
|
|
1888
|
+
"apx image \"<prompt>\" --init <img> [--denoise 0.45] # img2img: repaint that picture",
|
|
1889
|
+
"apx image \"<prompt>\" --control <img> [--control-strength 0.8] # ControlNet: keep its structure",
|
|
1890
|
+
"apx image \"<prompt>\" --init <img> --mask <img> [--mask-blur 12] # inpaint only the white area",
|
|
1891
|
+
"apx image providers",
|
|
1892
|
+
"apx image capabilities [--provider <id>]",
|
|
1893
|
+
],
|
|
1894
|
+
commands: [
|
|
1895
|
+
["providers", "Which engines are configured, reachable and in what routing order."],
|
|
1896
|
+
["capabilities", "Models, samplers and schedulers a server actually offers."],
|
|
1897
|
+
],
|
|
1898
|
+
options: [
|
|
1899
|
+
["--out <file>", "Copy the result here (a directory works too). Without it the path under ~/.apx/images/<date>/ is printed and nothing is written into your project."],
|
|
1900
|
+
["--provider <id>", "Force an engine: a1111 | sdcpp | openai | mock | custom:<slug>. Default: the configured routing."],
|
|
1901
|
+
["--size <WxH>", "e.g. 768x512. Or pass --width / --height separately."],
|
|
1902
|
+
["--steps N", "Sampling steps. A turbo checkpoint wants ~8; a standard one 20-30."],
|
|
1903
|
+
["--cfg N", "Guidance scale (cfg_scale). Turbo checkpoints want ~1.0."],
|
|
1904
|
+
["--seed N", "Fix the seed for a reproducible image. Default -1 (random)."],
|
|
1905
|
+
["--negative \"...\"", "What to keep out of the picture."],
|
|
1906
|
+
["--count N", "How many images in one run."],
|
|
1907
|
+
["--model <id>", "Checkpoint / model id, where the server can switch."],
|
|
1908
|
+
["--format <ext>", "png | jpeg | webp, where the server supports it."],
|
|
1909
|
+
["--init <img>", "img2img: start from this picture and repaint it. Alias: --img-ref. Needs an a1111-dialect engine."],
|
|
1910
|
+
["--denoise N", "With --init: how far the sampler may stray. ~0.3 retouches, 0.45 is the middle, >0.6 reinvents. Default 0.45. On a TURBO checkpoint (cfg 1.0) there is no classifier-free guidance, so the init image outvotes the prompt until ~0.75 — measured: 0.45 barely moves the geometry and the prompt does not land at all."],
|
|
1911
|
+
["--mask <img>", "Inpaint: with --init, repaint ONLY where the mask is white and leave the black areas byte-identical. Must be exactly the same size as --init. The one reliable way to change part of a picture and keep the rest of the scene."],
|
|
1912
|
+
["--mask-blur N", "Feather the mask edge by N px so the repaint blends instead of showing a hard seam. ~12 is a good start."],
|
|
1913
|
+
["--inpaint-fill <id>", "What the masked area starts from: original (default) | noise | fill | nothing. Use `noise` when the prompt has to override what is already there — on a turbo checkpoint `original` often leaves the region unchanged."],
|
|
1914
|
+
["--control <img>", "ControlNet: build a NEW picture around this one's structure (pose, composition, edges). Needs an sdcpp-dialect engine started with a ControlNet model."],
|
|
1915
|
+
["--control-strength N", "With --control: how hard the structure is enforced, 0..1. Default 0.8."],
|
|
1916
|
+
["--sampler <id>", "Sampler name (see `apx image capabilities`)."],
|
|
1917
|
+
["--scheduler <id>", "Scheduler name (see `apx image capabilities`)."],
|
|
1918
|
+
["--prompt \"...\"", "Pass the prompt explicitly — needed only when it is literally the word providers or capabilities."],
|
|
1919
|
+
["--json", "Machine-readable result: engine, resolved request, ignored options, file paths."],
|
|
1920
|
+
["--open", "Open the image in the OS viewer when it is done."],
|
|
1921
|
+
],
|
|
1922
|
+
examples: [
|
|
1923
|
+
"apx image \"a green origami fox on a white background\"",
|
|
1924
|
+
"apx image \"portrait of a fox\" --size 768x512 --steps 8 --cfg 1.0 --out fox.png",
|
|
1925
|
+
"apx image \"a logo sketch\" --provider a1111 --seed 123 --json",
|
|
1926
|
+
"apx image \"same room, at night\" --init photo.png --denoise 0.45",
|
|
1927
|
+
"apx image \"same room, at night\" --init photo.png --denoise 0.8 --steps 16 # turbo checkpoint",
|
|
1928
|
+
"apx image \"a knight in armor\" --control pose.png --control-strength 0.8 --provider custom:sdxl_cn",
|
|
1929
|
+
"apx image \"blonde hair\" --init portrait.png --mask hair.png --mask-blur 12 --denoise 0.75",
|
|
1930
|
+
"apx image providers",
|
|
1931
|
+
"apx image capabilities --provider sdcpp",
|
|
1932
|
+
],
|
|
1933
|
+
notes: [
|
|
1934
|
+
"Engines are tried in order (images.order) and the first reachable one wins, exactly like TTS routing; set images.mode=single to pin one. `mock` is always last and always available, so a call with nothing configured still returns a file instead of an error.",
|
|
1935
|
+
"Not every engine honors every knob. The OpenAI dialect has no steps, cfg, sampler or negative prompt; stable-diffusion.cpp hosts one checkpoint and cannot switch models. Whatever an engine cannot honor is REPORTED after the run instead of being silently dropped.",
|
|
1936
|
+
"The A1111 route is preferred over the native sdcpp one for the same server because only it carries steps and cfg — a turbo checkpoint left on a server's stock 20 steps / cfg 7 renders several times slower for a worse picture.",
|
|
1937
|
+
"Ollama cannot generate images: it serves language and vision models, none of which produce pixels. For a local engine on macOS, point the a1111 provider at Draw Things' HTTP API (or any local A1111-compatible server) instead.",
|
|
1938
|
+
"--init and --control are two different operations, not two names for one. --init makes the picture the canvas the sampler repaints (img2img); --control keeps only its structure and paints something new around it (ControlNet). No engine speaks both: --init rides the A1111 route, --control the native stable-diffusion.cpp one, so pick the matching --provider. Whichever an engine cannot honor is reported after the run.",
|
|
1939
|
+
"To change ONE thing in a picture and keep the rest, use --mask, not a bigger --denoise. Raising denoise far enough for the prompt to land also lets the model rebuild the subject: it works for a global regrade (\"at night\", \"deep blue\") but loses the pose, the clothes and the face when the prompt describes the subject. A mask confines the change, so denoise ~0.75 inside it is safe.",
|
|
1940
|
+
"A reference image is read by the CLI and sent as base64, so the daemon can live on another machine. The body cap is 2 MB — roughly a 1.4 MB file — and a bigger one is refused up front with a `sips -Z` command to shrink it.",
|
|
1941
|
+
"Images are kept under ~/.apx/images/<date>/ so they are never written into a project checkout unless --out says so.",
|
|
1942
|
+
],
|
|
1943
|
+
}),
|
|
1944
|
+
|
|
1744
1945
|
// ── Voice (TTS / mic round-trip) ──────────────────────────────────────────
|
|
1946
|
+
transcribe: topic({
|
|
1947
|
+
title: "apx transcribe",
|
|
1948
|
+
summary: "Speech-to-text from audio OR video files (or stdin) using the daemon's whisper — the same STT engine the desktop overlay and Telegram voice notes use. Handles one file, many files, or a whole folder. The model is preloaded at daemon boot, so repeat calls hit a warm server.",
|
|
1949
|
+
usage: [
|
|
1950
|
+
"apx transcribe <file> [--lang <code>] [--provider local|openai|custom] [--json]",
|
|
1951
|
+
"apx transcribe <a> <b> <c> # bulk: one block per file",
|
|
1952
|
+
"apx transcribe <dir> # every audio/video file in a folder",
|
|
1953
|
+
"cat clip.wav | apx transcribe - [--format webm|ogg|wav|mp3]",
|
|
1954
|
+
],
|
|
1955
|
+
options: [
|
|
1956
|
+
["--lang <code>", "ISO language (e.g. es, en). Default: auto-detect."],
|
|
1957
|
+
["--provider <id>", "Override STT routing: local (embedded whisper) | openai (cloud) | custom (any OpenAI-compatible server on the LAN/remote). Default: config."],
|
|
1958
|
+
["--json", "Machine-readable output: the result object for one file, or an array of {file, ...} in bulk."],
|
|
1959
|
+
["--format <ext>", "Audio format hint for stdin input (default webm)."],
|
|
1960
|
+
],
|
|
1961
|
+
examples: [
|
|
1962
|
+
"apx transcribe nota.oga",
|
|
1963
|
+
"apx transcribe reunion.mp4 # video: the audio track is pulled out",
|
|
1964
|
+
"apx transcribe voz.webm --lang es",
|
|
1965
|
+
"apx transcribe *.mp3 --json > out.json # bulk to JSON",
|
|
1966
|
+
"apx transcribe ./notas-de-voz/ # a whole folder",
|
|
1967
|
+
"cat clip.wav | apx transcribe -",
|
|
1968
|
+
],
|
|
1969
|
+
notes: [
|
|
1970
|
+
"Audio: webm, ogg/oga, opus, m4a, aac, mp3, wav, flac. Video: mp4, mov, mkv, m4v, avi, 3gp… — ffmpeg extracts the audio track. The container is probed from the bytes, so the extension is only a hint.",
|
|
1971
|
+
"Single file → clean transcript on stdout (pipe-friendly). Many files or a folder → a '── name ──' header per file. The APX banner goes to stderr, so stdout stays scriptable.",
|
|
1972
|
+
"Bulk runs sequentially (the local model is single-instance) and keeps going past a failed file, exiting non-zero if any failed.",
|
|
1973
|
+
"Long media can take a while; the daemon allows up to 20 minutes per request. A GPU backend (mlx on Apple Silicon, faster-whisper cuda on NVIDIA) is picked automatically for the local provider.",
|
|
1974
|
+
],
|
|
1975
|
+
}),
|
|
1745
1976
|
voice: topic({
|
|
1746
1977
|
title: "apx voice",
|
|
1747
1978
|
summary: "Speak text through the daemon TTS, run a mic→reply round-trip, or list providers.",
|
|
@@ -1897,6 +2128,8 @@ export const HELP_ALIASES = new Map(Object.entries({
|
|
|
1897
2128
|
"project rm": "project remove",
|
|
1898
2129
|
"agent ls": "agent list",
|
|
1899
2130
|
"agent show": "agent get",
|
|
2131
|
+
"agent edit": "agent set",
|
|
2132
|
+
"agent update": "agent set",
|
|
1900
2133
|
"agent vault ls": "agent vault list",
|
|
1901
2134
|
"session ls": "session list",
|
|
1902
2135
|
"session show": "session get",
|
|
@@ -2010,7 +2243,8 @@ export function buildHelp(version) {
|
|
|
2010
2243
|
hCmd("apx project rebuild [id]", 36, "rebuild project index from filesystem"),
|
|
2011
2244
|
|
|
2012
2245
|
hSec("Agents"),
|
|
2013
|
-
hCmd("apx agent add <slug>", 36, "--role R --model M --skills a,b --language es-AR --description D"),
|
|
2246
|
+
hCmd("apx agent add <slug>", 36, "--prompt - --role R --model M --skills a,b --language es-AR --description D"),
|
|
2247
|
+
hCmd("apx agent set <slug>", 36, "edit the system prompt (--prompt -) and/or any field"),
|
|
2014
2248
|
hCmd("apx agent list", 36, ""),
|
|
2015
2249
|
hCmd("apx agent get <slug>", 36, ""),
|
|
2016
2250
|
hCmd("apx agent remove <slug>", 36, "delete a project agent (file + runtime memory)"),
|
|
@@ -2046,7 +2280,7 @@ export function buildHelp(version) {
|
|
|
2046
2280
|
hCmd("apx session close <id>", 36, "--result \"text\""),
|
|
2047
2281
|
hCmd("apx session check", 36, "anti-collision: exit 1 if active session"),
|
|
2048
2282
|
hCmd("apx session close-stale", 36, "auto-close sessions older than 1h"),
|
|
2049
|
-
hCmd("apx session resume <id>", 36, "--summary --full (APC + Claude Code transcript)"),
|
|
2283
|
+
hCmd("apx session resume <id>", 36, "--summary --full --continue [--msg \"<text>\"] (APC + Claude Code transcript)"),
|
|
2050
2284
|
hCmd("apx session compact <slug>", 36, "--conversation <id> collapse history into summary"),
|
|
2051
2285
|
hCmd("apx session find <text>", 36, "find sessions by title (cross-engine) --deep --engine X"),
|
|
2052
2286
|
hCmd("apx session summary <id>", 36, "LLM summary of any session by id"),
|
|
@@ -2074,7 +2308,7 @@ export function buildHelp(version) {
|
|
|
2074
2308
|
hCmd("apx daemon reload", 36, "reload ~/.apx/config.json without restart"),
|
|
2075
2309
|
hCmd("apx daemon stop", 36, ""),
|
|
2076
2310
|
hCmd("apx daemon status", 36, ""),
|
|
2077
|
-
hCmd("apx daemon logs", 36, "--tail N
|
|
2311
|
+
hCmd("apx daemon logs", 36, "--tail N raw daemon stdout log"),
|
|
2078
2312
|
hCmd("apx log", 36, "unified log (all modules) -f follow --tail N --errors only"),
|
|
2079
2313
|
|
|
2080
2314
|
hSec("Telegram"),
|
|
@@ -2097,7 +2331,7 @@ export function buildHelp(version) {
|
|
|
2097
2331
|
hCmd("apx acp", 36, "serve the super-agent over the Agent Client Protocol (stdio, for IDEs)"),
|
|
2098
2332
|
|
|
2099
2333
|
hSec("Runtimes"),
|
|
2100
|
-
hCmd("apx run <agent>",
|
|
2334
|
+
hCmd("apx run [-a <agent>]", 36, "--runtime <id> \"prompt\" --timeout <s>"),
|
|
2101
2335
|
` ${H.DI}runtimes: claude-code | codex | opencode | aider | cursor-agent | gemini-cli | qwen-code | antigravity${H.R}`,
|
|
2102
2336
|
hCmd("apx env detect", 36, "which agent CLIs are installed"),
|
|
2103
2337
|
|
|
@@ -2150,10 +2384,15 @@ export function buildHelp(version) {
|
|
|
2150
2384
|
hCmd("apx plugins list", 36, "show loaded plugins and their status"),
|
|
2151
2385
|
hCmd("apx plugins status <id>", 36, "detailed status of one plugin (e.g. telegram)"),
|
|
2152
2386
|
|
|
2153
|
-
hSec("
|
|
2387
|
+
hSec("Images"),
|
|
2388
|
+
hCmd("apx image \"<prompt>\"", 36, "text-to-image via the routed engine --out --size --steps --cfg --provider"),
|
|
2389
|
+
hCmd("apx image providers", 36, "which image engines are configured and reachable"),
|
|
2390
|
+
|
|
2391
|
+
hSec("Voice & Desktop"),
|
|
2154
2392
|
hCmd("apx voice say \"text\"", 36, "TTS via daemon --provider <id> --voice <name> --no-play"),
|
|
2155
2393
|
hCmd("apx voice listen", 36, "mic → /voice/turn → reply --seconds N --no-play"),
|
|
2156
2394
|
hCmd("apx voice providers", 36, "list configured TTS / STT providers"),
|
|
2395
|
+
hCmd("apx transcribe <file…|dir>", 36, "STT of audio/video via the warm daemon whisper — bulk-capable --lang es --provider --json"),
|
|
2157
2396
|
hCmd("apx desktop start", 36, "launch floating voice desktop window (Electron)"),
|
|
2158
2397
|
hCmd("apx desktop stop", 36, ""),
|
|
2159
2398
|
hCmd("apx desktop status", 36, "show desktop process + autostart state"),
|