vora-ai 0.1.7 → 0.1.9

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.
Files changed (39) hide show
  1. package/dist/.buildstamp +1 -1
  2. package/dist/{agents-BHxmzkUt.js → agents-CudkxcIP.js} +1 -1
  3. package/dist/{agents-B07N9r0p.js → agents-KEHIjrGf.js} +1 -1
  4. package/dist/{auth-choice-D02naz-O.js → auth-choice-BJoCLqyO.js} +2 -2
  5. package/dist/{auth-choice-DTqxK0LF.js → auth-choice-Dqb6RA6N.js} +1 -1
  6. package/dist/{auth-choice-Bjieknrr.js → auth-choice-MWA9SqQd.js} +1 -1
  7. package/dist/build-info.json +2 -2
  8. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  9. package/dist/cli-startup-metadata.json +1 -1
  10. package/dist/{command-registry-DwTfiSLH.js → command-registry-Cma1Togy.js} +1 -1
  11. package/dist/{command-registry-l5Sz6U8W.js → command-registry-CuOVE1fX.js} +7 -7
  12. package/dist/{completion-cli-OtKpajf1.js → completion-cli-CUaDyikK.js} +2 -2
  13. package/dist/completion-cli-vbMJIekd.js +2 -0
  14. package/dist/{config-cli-xqaUbO1d.js → config-cli-DFiQOw85.js} +1 -1
  15. package/dist/{configure-BOejKdjX.js → configure-DEZs--dU.js} +2 -2
  16. package/dist/{configure-CS5ZqbO7.js → configure-Dat8sxBy.js} +1 -1
  17. package/dist/{doctor-completion-DiedZkeX.js → doctor-completion-CLfFmnGd.js} +1 -1
  18. package/dist/entry.js +1 -1
  19. package/dist/extensions/discord/.vora-runtime-deps-stamp.json +1 -1
  20. package/dist/extensions/telegram/.vora-runtime-deps-stamp.json +1 -1
  21. package/dist/{gateway-cli-DLEXZl-x.js → gateway-cli-DRYW6Le8.js} +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/{onboard-BcFa5vp2.js → onboard-CkPxIdn1.js} +2 -2
  24. package/dist/{program-CaafX6TA.js → program-D9LjBDHJ.js} +1 -1
  25. package/dist/{prompt-select-styled-B5gC7PZs.js → prompt-select-styled-CAUd2e_T.js} +1 -1
  26. package/dist/{provider-auth-choice-preference-HQ_BafDw.js → provider-auth-choice-preference-ClpLB_q_.js} +9 -2
  27. package/dist/{register.agent-77UIAFg5.js → register.agent-iSvLIAqf.js} +1 -1
  28. package/dist/{register.configure-DSEhIu5l.js → register.configure-B_cl_qTZ.js} +1 -1
  29. package/dist/{register.maintenance-DxxHgUHJ.js → register.maintenance-B4pdgeFL.js} +1 -1
  30. package/dist/{register.onboard-BXoT2ZsZ.js → register.onboard-Cb03YPOv.js} +1 -1
  31. package/dist/{register.setup-BXDXcEDy.js → register.setup-B9ecqSrC.js} +1 -1
  32. package/dist/{register.subclis-CR3Z9hgf.js → register.subclis-BdHrEJN0.js} +1 -1
  33. package/dist/{register.subclis-C3yXFpuE.js → register.subclis-Bs-ITQlE.js} +3 -3
  34. package/dist/{run-main-BBNZWCeM.js → run-main-BcsRYTP7.js} +7 -7
  35. package/dist/{setup-DiFluV1p.js → setup-y-ZxCER_.js} +2 -2
  36. package/dist/{setup.finalize-VZnCY7wl.js → setup.finalize-DHFVRYwK.js} +2 -2
  37. package/dist/{update-cli-DXngetiQ.js → update-cli-Dv44lmnZ.js} +3 -3
  38. package/package.json +1 -1
  39. package/dist/completion-cli-CcfnMQrk.js +0 -2
package/dist/.buildstamp CHANGED
@@ -1 +1 @@
1
- {"builtAt":1775147452246,"head":"214fc01499099fce603e7a7dbc300862383fab6e"}
1
+ {"builtAt":1775149916391,"head":"214fc01499099fce603e7a7dbc300862383fab6e"}
@@ -21,7 +21,7 @@ import { t as createClackPrompter } from "./clack-prompter-CMBtxvp6.js";
21
21
  import { i as loadAgentIdentity, n as buildAgentSummaries, o as pruneAgentConfig, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-Bk_BV0k2.js";
22
22
  import { a as describeBinding, i as buildChannelBindings, n as requireValidConfigSnapshot, o as parseBindingSpecs, r as applyAgentBindings, s as removeAgentBindings, t as requireValidConfigFileSnapshot$1 } from "./config-validation-XhkvSe78.js";
23
23
  import { t as promptAuthChoiceGrouped } from "./auth-choice-prompt-C45OJL_-.js";
24
- import { n as applyAuthChoice, t as warnIfModelConfigLooksOff } from "./auth-choice-DTqxK0LF.js";
24
+ import { n as applyAuthChoice, t as warnIfModelConfigLooksOff } from "./auth-choice-Dqb6RA6N.js";
25
25
  import { r as setupChannels } from "./onboard-channels-BfcgnBC3.js";
26
26
  import path from "node:path";
27
27
  import fs from "node:fs/promises";
@@ -1,5 +1,5 @@
1
1
  import "./agent-scope-L_c27D6k.js";
2
2
  import "./agents.config-Bk_BV0k2.js";
3
3
  import "./config-validation-XhkvSe78.js";
4
- import { t as agentsListCommand } from "./agents-BHxmzkUt.js";
4
+ import { t as agentsListCommand } from "./agents-CudkxcIP.js";
5
5
  export { agentsListCommand };
@@ -1,3 +1,3 @@
1
- import { t as resolvePreferredProviderForAuthChoice } from "./provider-auth-choice-preference-HQ_BafDw.js";
2
- import { n as applyAuthChoice, t as warnIfModelConfigLooksOff } from "./auth-choice-DTqxK0LF.js";
1
+ import { t as resolvePreferredProviderForAuthChoice } from "./provider-auth-choice-preference-ClpLB_q_.js";
2
+ import { n as applyAuthChoice, t as warnIfModelConfigLooksOff } from "./auth-choice-Dqb6RA6N.js";
3
3
  export { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff };
@@ -8,7 +8,7 @@ import { r as loadModelCatalog } from "./model-catalog-DmdOTLaq.js";
8
8
  import { t as buildProviderAuthRecoveryHint } from "./provider-auth-guidance-m96WVf_L.js";
9
9
  import { r as normalizeLegacyOnboardAuthChoice } from "./auth-choice-legacy-D6uT2N1Y.js";
10
10
  import { t as applyAuthChoiceLoadedPluginProvider } from "./provider-auth-choice-BaxiwuA6.js";
11
- import { i as applyAuthChoiceApiProviders, s as normalizeApiKeyTokenProviderAuthChoice } from "./provider-auth-choice-preference-HQ_BafDw.js";
11
+ import { i as applyAuthChoiceApiProviders, s as normalizeApiKeyTokenProviderAuthChoice } from "./provider-auth-choice-preference-ClpLB_q_.js";
12
12
  //#region src/commands/auth-choice.apply.oauth.ts
13
13
  async function applyAuthChoiceOAuth(_params) {
14
14
  return null;
@@ -17,7 +17,7 @@ import { a as normalizeSecretInputModeInput } from "./provider-auth-input-ff73c0
17
17
  import { t as resolveManifestDeprecatedProviderAuthChoice } from "./provider-auth-choices-Bd3lk8hB.js";
18
18
  import { n as isDeprecatedAuthChoice, t as formatDeprecatedNonInteractiveAuthChoiceError } from "./auth-choice-legacy-D6uT2N1Y.js";
19
19
  import "./auth-choice.apply-helpers-3MBWkvCJ.js";
20
- import { a as discoverOllamaModelIds, c as normalizeOllamaBaseUrl, o as mergeOllamaProviderConfig, r as OLLAMA_PROFILE_ID, s as normalizeApiKeyTokenProviderAuthChoice, t as resolvePreferredProviderForAuthChoice } from "./provider-auth-choice-preference-HQ_BafDw.js";
20
+ import { a as discoverOllamaModelIds, c as normalizeOllamaBaseUrl, o as mergeOllamaProviderConfig, r as OLLAMA_PROFILE_ID, s as normalizeApiKeyTokenProviderAuthChoice, t as resolvePreferredProviderForAuthChoice } from "./provider-auth-choice-preference-ClpLB_q_.js";
21
21
  import { a as resolveCustomProviderId, n as applyCustomApiConfig, r as parseNonInteractiveCustomApiFlags, t as CustomApiError } from "./onboard-custom-DZh5u23_.js";
22
22
  //#region src/commands/onboard-non-interactive/api-keys.ts
23
23
  function parseEnvVarNameFromSourceLabel(source) {
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.7",
2
+ "version": "0.1.9",
3
3
  "commit": "214fc01499099fce603e7a7dbc300862383fab6e",
4
- "builtAt": "2026-04-02T16:31:04.305Z"
4
+ "builtAt": "2026-04-02T17:12:10.533Z"
5
5
  }
@@ -1 +1 @@
1
- 2926fbb11d237b29d105993731a16bab4b7b5f50fe5e82aded994f72578f16f7
1
+ d17347952ad531485ec2eee9eb6274c672c2b788bff2b21527f0a3f8f3475cfb
@@ -10,5 +10,5 @@
10
10
  "signal",
11
11
  "imessage"
12
12
  ],
13
- "rootHelpText": "\n\u001b[1m\u001b[38;2;30;144;255m🌊 VORA\u001b[39m\u001b[22m \u001b[38;2;131;203;255m0.1.7\u001b[39m \u001b[38;2;123;135;148m(214fc01)\u001b[39m\n \u001b[38;2;19;111;189mYour terminal just got VORA autopilot—type once and ship faster.\u001b[39m\n\n\u001b[1m\u001b[38;2;30;144;255mUsage:\u001b[39m\u001b[22m vora [options] [command]\n\n\u001b[1m\u001b[38;2;30;144;255mOptions:\u001b[39m\u001b[22m\n \u001b[38;2;245;158;11m--container <name>\u001b[39m Run the CLI inside a running Podman/Docker container named <name> (default: env VORA_CONTAINER)\n \u001b[38;2;245;158;11m--dev\u001b[39m Dev profile: isolate state under ~/.vora-dev, default gateway port 19001, and shift derived ports (browser/canvas)\n \u001b[38;2;245;158;11m-h, --help\u001b[39m Display help for command\n \u001b[38;2;245;158;11m--log-level <level>\u001b[39m Global log level override for file + console (silent|fatal|error|warn|info|debug|trace)\n \u001b[38;2;245;158;11m--no-color\u001b[39m Disable ANSI colors\n \u001b[38;2;245;158;11m--profile <name>\u001b[39m Use a named profile (isolates VORA_STATE_DIR/VORA_CONFIG_PATH under ~/.vora-<name>)\n \u001b[38;2;245;158;11m-V, --version\u001b[39m output the version number\n\n\u001b[1m\u001b[38;2;30;144;255mCommands:\u001b[39m\u001b[22m\n \u001b[38;2;123;135;148mHint: commands suffixed with * have subcommands. Run <command> --help for details.\u001b[39m\n \u001b[38;2;85;180;255macp *\u001b[39m Agent Control Protocol tools\n \u001b[38;2;85;180;255magent\u001b[39m Run one agent turn via the Gateway\n \u001b[38;2;85;180;255magents *\u001b[39m Manage isolated agents (workspaces, auth, routing)\n \u001b[38;2;85;180;255mapprovals *\u001b[39m Manage exec approvals (gateway or node host)\n \u001b[38;2;85;180;255mbackup *\u001b[39m Create and verify local backup archives for Vora state\n \u001b[38;2;85;180;255mchannels *\u001b[39m Manage connected chat channels (Telegram, Discord, etc.)\n \u001b[38;2;85;180;255mclawbot *\u001b[39m Legacy clawbot command aliases\n \u001b[38;2;85;180;255mcompletion\u001b[39m Generate shell completion script\n \u001b[38;2;85;180;255mconfig *\u001b[39m Non-interactive config helpers (get/set/unset/file/validate). Default: starts guided setup.\n \u001b[38;2;85;180;255mconfigure\u001b[39m Interactive configuration for credentials, channels, gateway, and agent defaults\n \u001b[38;2;85;180;255mcron *\u001b[39m Manage cron jobs via the Gateway scheduler\n \u001b[38;2;85;180;255mdaemon *\u001b[39m Gateway service (legacy alias)\n \u001b[38;2;85;180;255mdashboard\u001b[39m Open the Control UI with your current token\n \u001b[38;2;85;180;255mdevices *\u001b[39m Device pairing + token management\n \u001b[38;2;85;180;255mdirectory *\u001b[39m Lookup contact and group IDs (self, peers, groups) for supported chat channels\n \u001b[38;2;85;180;255mdns *\u001b[39m DNS helpers for wide-area discovery (Tailscale + CoreDNS)\n \u001b[38;2;85;180;255mdocs\u001b[39m Search the live Vora docs\n \u001b[38;2;85;180;255mdoctor\u001b[39m Health checks + quick fixes for the gateway and channels\n \u001b[38;2;85;180;255mgateway *\u001b[39m Run, inspect, and query the WebSocket Gateway\n \u001b[38;2;85;180;255mhealth\u001b[39m Fetch health from the running gateway\n \u001b[38;2;85;180;255mhelp\u001b[39m Display help for command\n \u001b[38;2;85;180;255mhooks *\u001b[39m Manage internal agent hooks\n \u001b[38;2;85;180;255mlogs\u001b[39m Tail gateway file logs via RPC\n \u001b[38;2;85;180;255mmessage *\u001b[39m Send, read, and manage messages\n \u001b[38;2;85;180;255mmodels *\u001b[39m Discover, scan, and configure models\n \u001b[38;2;85;180;255mnode *\u001b[39m Run and manage the headless node host service\n \u001b[38;2;85;180;255mnodes *\u001b[39m Manage gateway-owned node pairing and node commands\n \u001b[38;2;85;180;255monboard\u001b[39m Interactive onboarding for gateway, workspace, and skills\n \u001b[38;2;85;180;255mpairing *\u001b[39m Secure DM pairing (approve inbound requests)\n \u001b[38;2;85;180;255mplugins *\u001b[39m Manage Vora plugins and extensions\n \u001b[38;2;85;180;255mqr\u001b[39m Generate iOS pairing QR/setup code\n \u001b[38;2;85;180;255mreset\u001b[39m Reset local config/state (keeps the CLI installed)\n \u001b[38;2;85;180;255msandbox *\u001b[39m Manage sandbox containers for agent isolation\n \u001b[38;2;85;180;255msecrets *\u001b[39m Secrets runtime reload controls\n \u001b[38;2;85;180;255msecurity *\u001b[39m Security tools and local config audits\n \u001b[38;2;85;180;255msessions *\u001b[39m List stored conversation sessions\n \u001b[38;2;85;180;255msetup\u001b[39m Initialize local config and agent workspace\n \u001b[38;2;85;180;255mskills *\u001b[39m List and inspect available skills\n \u001b[38;2;85;180;255mstatus\u001b[39m Show channel health and recent session recipients\n \u001b[38;2;85;180;255msystem *\u001b[39m System events, heartbeat, and presence\n \u001b[38;2;85;180;255mtasks *\u001b[39m Inspect durable background task state\n \u001b[38;2;85;180;255mtui\u001b[39m Open a terminal UI connected to the Gateway\n \u001b[38;2;85;180;255muninstall\u001b[39m Uninstall the gateway service + local data (CLI remains)\n \u001b[38;2;85;180;255mupdate *\u001b[39m Update Vora and inspect update channel status\n \u001b[38;2;85;180;255mwebhooks *\u001b[39m Webhook helpers and integrations\n\n\u001b[1m\u001b[38;2;30;144;255mExamples:\u001b[39m\u001b[22m\n \u001b[38;2;85;180;255mvora models --help\u001b[39m\n \u001b[38;2;123;135;148mShow detailed help for the models command.\u001b[39m\n \u001b[38;2;85;180;255mvora onboard\u001b[39m\n \u001b[38;2;123;135;148mRun interactive onboarding for the gateway, workspace, and skills.\u001b[39m\n \u001b[38;2;85;180;255mvora configure --section model --section gateway\u001b[39m\n \u001b[38;2;123;135;148mRe-open only the model and gateway configuration sections.\u001b[39m\n \u001b[38;2;85;180;255mvora gateway --port 27106\u001b[39m\n \u001b[38;2;123;135;148mRun the WebSocket Gateway locally.\u001b[39m\n \u001b[38;2;85;180;255mvora --dev gateway\u001b[39m\n \u001b[38;2;123;135;148mRun a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.\u001b[39m\n \u001b[38;2;85;180;255mvora gateway --force\u001b[39m\n \u001b[38;2;123;135;148mKill anything bound to the default gateway port, then start it.\u001b[39m\n \u001b[38;2;85;180;255mvora models status --plain\u001b[39m\n \u001b[38;2;123;135;148mShow the configured provider and default-model state.\u001b[39m\n \u001b[38;2;85;180;255mvora gateway ...\u001b[39m\n \u001b[38;2;123;135;148mGateway control via WebSocket.\u001b[39m\n \u001b[38;2;85;180;255mvora message send --channel telegram --target @mychat --message \"Hi\"\u001b[39m\n \u001b[38;2;123;135;148mSend through a configured channel and print the result in the terminal.\u001b[39m\n\n\u001b[38;2;123;135;148mDocs:\u001b[39m \u001b]8;;https://docs.vora.ai/cli\u0007docs.vora.ai/cli\u001b]8;;\u0007\n\n"
13
+ "rootHelpText": "\n\u001b[1m\u001b[38;2;30;144;255m🌊 VORA\u001b[39m\u001b[22m \u001b[38;2;131;203;255m0.1.9\u001b[39m \u001b[38;2;123;135;148m(214fc01)\u001b[39m\n \u001b[38;2;19;111;189mGateway online—please keep hands, feet, and appendages inside the shell at all times.\u001b[39m\n\n\u001b[1m\u001b[38;2;30;144;255mUsage:\u001b[39m\u001b[22m vora [options] [command]\n\n\u001b[1m\u001b[38;2;30;144;255mOptions:\u001b[39m\u001b[22m\n \u001b[38;2;245;158;11m--container <name>\u001b[39m Run the CLI inside a running Podman/Docker container named <name> (default: env VORA_CONTAINER)\n \u001b[38;2;245;158;11m--dev\u001b[39m Dev profile: isolate state under ~/.vora-dev, default gateway port 19001, and shift derived ports (browser/canvas)\n \u001b[38;2;245;158;11m-h, --help\u001b[39m Display help for command\n \u001b[38;2;245;158;11m--log-level <level>\u001b[39m Global log level override for file + console (silent|fatal|error|warn|info|debug|trace)\n \u001b[38;2;245;158;11m--no-color\u001b[39m Disable ANSI colors\n \u001b[38;2;245;158;11m--profile <name>\u001b[39m Use a named profile (isolates VORA_STATE_DIR/VORA_CONFIG_PATH under ~/.vora-<name>)\n \u001b[38;2;245;158;11m-V, --version\u001b[39m output the version number\n\n\u001b[1m\u001b[38;2;30;144;255mCommands:\u001b[39m\u001b[22m\n \u001b[38;2;123;135;148mHint: commands suffixed with * have subcommands. Run <command> --help for details.\u001b[39m\n \u001b[38;2;85;180;255macp *\u001b[39m Agent Control Protocol tools\n \u001b[38;2;85;180;255magent\u001b[39m Run one agent turn via the Gateway\n \u001b[38;2;85;180;255magents *\u001b[39m Manage isolated agents (workspaces, auth, routing)\n \u001b[38;2;85;180;255mapprovals *\u001b[39m Manage exec approvals (gateway or node host)\n \u001b[38;2;85;180;255mbackup *\u001b[39m Create and verify local backup archives for Vora state\n \u001b[38;2;85;180;255mchannels *\u001b[39m Manage connected chat channels (Telegram, Discord, etc.)\n \u001b[38;2;85;180;255mclawbot *\u001b[39m Legacy clawbot command aliases\n \u001b[38;2;85;180;255mcompletion\u001b[39m Generate shell completion script\n \u001b[38;2;85;180;255mconfig *\u001b[39m Non-interactive config helpers (get/set/unset/file/validate). Default: starts guided setup.\n \u001b[38;2;85;180;255mconfigure\u001b[39m Interactive configuration for credentials, channels, gateway, and agent defaults\n \u001b[38;2;85;180;255mcron *\u001b[39m Manage cron jobs via the Gateway scheduler\n \u001b[38;2;85;180;255mdaemon *\u001b[39m Gateway service (legacy alias)\n \u001b[38;2;85;180;255mdashboard\u001b[39m Open the Control UI with your current token\n \u001b[38;2;85;180;255mdevices *\u001b[39m Device pairing + token management\n \u001b[38;2;85;180;255mdirectory *\u001b[39m Lookup contact and group IDs (self, peers, groups) for supported chat channels\n \u001b[38;2;85;180;255mdns *\u001b[39m DNS helpers for wide-area discovery (Tailscale + CoreDNS)\n \u001b[38;2;85;180;255mdocs\u001b[39m Search the live Vora docs\n \u001b[38;2;85;180;255mdoctor\u001b[39m Health checks + quick fixes for the gateway and channels\n \u001b[38;2;85;180;255mgateway *\u001b[39m Run, inspect, and query the WebSocket Gateway\n \u001b[38;2;85;180;255mhealth\u001b[39m Fetch health from the running gateway\n \u001b[38;2;85;180;255mhelp\u001b[39m Display help for command\n \u001b[38;2;85;180;255mhooks *\u001b[39m Manage internal agent hooks\n \u001b[38;2;85;180;255mlogs\u001b[39m Tail gateway file logs via RPC\n \u001b[38;2;85;180;255mmessage *\u001b[39m Send, read, and manage messages\n \u001b[38;2;85;180;255mmodels *\u001b[39m Discover, scan, and configure models\n \u001b[38;2;85;180;255mnode *\u001b[39m Run and manage the headless node host service\n \u001b[38;2;85;180;255mnodes *\u001b[39m Manage gateway-owned node pairing and node commands\n \u001b[38;2;85;180;255monboard\u001b[39m Interactive onboarding for gateway, workspace, and skills\n \u001b[38;2;85;180;255mpairing *\u001b[39m Secure DM pairing (approve inbound requests)\n \u001b[38;2;85;180;255mplugins *\u001b[39m Manage Vora plugins and extensions\n \u001b[38;2;85;180;255mqr\u001b[39m Generate iOS pairing QR/setup code\n \u001b[38;2;85;180;255mreset\u001b[39m Reset local config/state (keeps the CLI installed)\n \u001b[38;2;85;180;255msandbox *\u001b[39m Manage sandbox containers for agent isolation\n \u001b[38;2;85;180;255msecrets *\u001b[39m Secrets runtime reload controls\n \u001b[38;2;85;180;255msecurity *\u001b[39m Security tools and local config audits\n \u001b[38;2;85;180;255msessions *\u001b[39m List stored conversation sessions\n \u001b[38;2;85;180;255msetup\u001b[39m Initialize local config and agent workspace\n \u001b[38;2;85;180;255mskills *\u001b[39m List and inspect available skills\n \u001b[38;2;85;180;255mstatus\u001b[39m Show channel health and recent session recipients\n \u001b[38;2;85;180;255msystem *\u001b[39m System events, heartbeat, and presence\n \u001b[38;2;85;180;255mtasks *\u001b[39m Inspect durable background task state\n \u001b[38;2;85;180;255mtui\u001b[39m Open a terminal UI connected to the Gateway\n \u001b[38;2;85;180;255muninstall\u001b[39m Uninstall the gateway service + local data (CLI remains)\n \u001b[38;2;85;180;255mupdate *\u001b[39m Update Vora and inspect update channel status\n \u001b[38;2;85;180;255mwebhooks *\u001b[39m Webhook helpers and integrations\n\n\u001b[1m\u001b[38;2;30;144;255mExamples:\u001b[39m\u001b[22m\n \u001b[38;2;85;180;255mvora models --help\u001b[39m\n \u001b[38;2;123;135;148mShow detailed help for the models command.\u001b[39m\n \u001b[38;2;85;180;255mvora onboard\u001b[39m\n \u001b[38;2;123;135;148mRun interactive onboarding for the gateway, workspace, and skills.\u001b[39m\n \u001b[38;2;85;180;255mvora configure --section model --section gateway\u001b[39m\n \u001b[38;2;123;135;148mRe-open only the model and gateway configuration sections.\u001b[39m\n \u001b[38;2;85;180;255mvora gateway --port 27106\u001b[39m\n \u001b[38;2;123;135;148mRun the WebSocket Gateway locally.\u001b[39m\n \u001b[38;2;85;180;255mvora --dev gateway\u001b[39m\n \u001b[38;2;123;135;148mRun a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.\u001b[39m\n \u001b[38;2;85;180;255mvora gateway --force\u001b[39m\n \u001b[38;2;123;135;148mKill anything bound to the default gateway port, then start it.\u001b[39m\n \u001b[38;2;85;180;255mvora models status --plain\u001b[39m\n \u001b[38;2;123;135;148mShow the configured provider and default-model state.\u001b[39m\n \u001b[38;2;85;180;255mvora gateway ...\u001b[39m\n \u001b[38;2;123;135;148mGateway control via WebSocket.\u001b[39m\n \u001b[38;2;85;180;255mvora message send --channel telegram --target @mychat --message \"Hi\"\u001b[39m\n \u001b[38;2;123;135;148mSend through a configured channel and print the result in the terminal.\u001b[39m\n\n\u001b[38;2;123;135;148mDocs:\u001b[39m \u001b]8;;https://docs.vora.ai/cli\u0007docs.vora.ai/cli\u001b]8;;\u0007\n\n"
14
14
  }
@@ -1,3 +1,3 @@
1
1
  import "./core-command-descriptors-knQu7oyG.js";
2
- import { n as registerCoreCliByName } from "./command-registry-l5Sz6U8W.js";
2
+ import { n as registerCoreCliByName } from "./command-registry-CuOVE1fX.js";
3
3
  export { registerCoreCliByName };
@@ -1,7 +1,7 @@
1
1
  import { O as getPrimaryCommand, j as hasHelpOrVersion } from "./logger-DXmZnecR.js";
2
2
  import { n as removeCommandByName, t as registerLazyCommand } from "./register-lazy-command-B2OILvgQ.js";
3
3
  import { t as getCoreCliCommandDescriptors } from "./core-command-descriptors-knQu7oyG.js";
4
- import { i as registerSubCliCommands } from "./register.subclis-C3yXFpuE.js";
4
+ import { i as registerSubCliCommands } from "./register.subclis-Bs-ITQlE.js";
5
5
  //#region src/cli/program/command-registry.ts
6
6
  const shouldRegisterCorePrimaryOnly = (argv) => {
7
7
  if (hasHelpOrVersion(argv)) return false;
@@ -15,7 +15,7 @@ const coreEntries = [
15
15
  hasSubcommands: false
16
16
  }],
17
17
  register: async ({ program }) => {
18
- (await import("./register.setup-BXDXcEDy.js")).registerSetupCommand(program);
18
+ (await import("./register.setup-B9ecqSrC.js")).registerSetupCommand(program);
19
19
  }
20
20
  },
21
21
  {
@@ -25,7 +25,7 @@ const coreEntries = [
25
25
  hasSubcommands: false
26
26
  }],
27
27
  register: async ({ program }) => {
28
- (await import("./register.onboard-BXoT2ZsZ.js")).registerOnboardCommand(program);
28
+ (await import("./register.onboard-Cb03YPOv.js")).registerOnboardCommand(program);
29
29
  }
30
30
  },
31
31
  {
@@ -35,7 +35,7 @@ const coreEntries = [
35
35
  hasSubcommands: false
36
36
  }],
37
37
  register: async ({ program }) => {
38
- (await import("./register.configure-DSEhIu5l.js")).registerConfigureCommand(program);
38
+ (await import("./register.configure-B_cl_qTZ.js")).registerConfigureCommand(program);
39
39
  }
40
40
  },
41
41
  {
@@ -45,7 +45,7 @@ const coreEntries = [
45
45
  hasSubcommands: true
46
46
  }],
47
47
  register: async ({ program }) => {
48
- (await import("./config-cli-xqaUbO1d.js")).registerConfigCli(program);
48
+ (await import("./config-cli-DFiQOw85.js")).registerConfigCli(program);
49
49
  }
50
50
  },
51
51
  {
@@ -82,7 +82,7 @@ const coreEntries = [
82
82
  }
83
83
  ],
84
84
  register: async ({ program }) => {
85
- (await import("./register.maintenance-DxxHgUHJ.js")).registerMaintenanceCommands(program);
85
+ (await import("./register.maintenance-B4pdgeFL.js")).registerMaintenanceCommands(program);
86
86
  }
87
87
  },
88
88
  {
@@ -116,7 +116,7 @@ const coreEntries = [
116
116
  hasSubcommands: true
117
117
  }],
118
118
  register: async ({ program, ctx }) => {
119
- (await import("./register.agent-77UIAFg5.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
119
+ (await import("./register.agent-iSvLIAqf.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
120
120
  }
121
121
  },
122
122
  {
@@ -3,8 +3,8 @@ import { t as formatDocsLink } from "./links-Dew9XRNK.js";
3
3
  import { r as theme } from "./theme-BJIQPogA.js";
4
4
  import { _ as resolveStateDir } from "./paths-DAiKc28o.js";
5
5
  import { m as pathExists } from "./utils-BRee-TPt.js";
6
- import { n as loadValidatedConfigForPluginRegistration, r as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-C3yXFpuE.js";
7
- import { n as registerCoreCliByName, t as getCoreCliCommandNames } from "./command-registry-l5Sz6U8W.js";
6
+ import { n as loadValidatedConfigForPluginRegistration, r as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-Bs-ITQlE.js";
7
+ import { n as registerCoreCliByName, t as getCoreCliCommandNames } from "./command-registry-CuOVE1fX.js";
8
8
  import { t as getProgramContext } from "./program-context-VIEsZ6Iq.js";
9
9
  import path from "node:path";
10
10
  import os from "node:os";
@@ -0,0 +1,2 @@
1
+ import { a as registerCompletionCli } from "./completion-cli-CUaDyikK.js";
2
+ export { registerCompletionCli };
@@ -911,7 +911,7 @@ async function runConfigValidate(opts = {}) {
911
911
  }
912
912
  function registerConfigCli(program) {
913
913
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset/file/schema/validate). Run without subcommand for guided setup.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.vora.ai/cli/config")}\n`).option("--section <section>", "Configuration sections for guided setup (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
914
- const { configureCommandFromSectionsArg } = await import("./configure-CS5ZqbO7.js");
914
+ const { configureCommandFromSectionsArg } = await import("./configure-Dat8sxBy.js");
915
915
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
916
916
  });
917
917
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -30,8 +30,8 @@ import { r as healthCommand } from "./health-DieLeder.js";
30
30
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BxHcGhet.js";
31
31
  import { t as resolveSetupSecretInputString } from "./setup.secret-input-Dhl03iL0.js";
32
32
  import { t as promptAuthChoiceGrouped } from "./auth-choice-prompt-C45OJL_-.js";
33
- import { t as resolvePreferredProviderForAuthChoice } from "./provider-auth-choice-preference-HQ_BafDw.js";
34
- import { n as applyAuthChoice } from "./auth-choice-DTqxK0LF.js";
33
+ import { t as resolvePreferredProviderForAuthChoice } from "./provider-auth-choice-preference-ClpLB_q_.js";
34
+ import { n as applyAuthChoice } from "./auth-choice-Dqb6RA6N.js";
35
35
  import { i as noteChannelStatus, r as setupChannels } from "./onboard-channels-BfcgnBC3.js";
36
36
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-CXHNWojf.js";
37
37
  import { i as promptModelAllowlist, n as applyModelFallbacksFromSelection, r as promptDefaultModel, t as applyModelAllowlist } from "./model-picker-O_AvvdA5.js";
@@ -1,2 +1,2 @@
1
- import { n as configureCommandFromSectionsArg } from "./configure-BOejKdjX.js";
1
+ import { n as configureCommandFromSectionsArg } from "./configure-DEZs--dU.js";
2
2
  export { configureCommandFromSectionsArg };
@@ -1,7 +1,7 @@
1
1
  import { t as resolveVoraPackageRoot } from "./vora-root-DVMX8ysw.js";
2
2
  import { n as resolveCliName } from "./cli-name-l1qeysOp.js";
3
3
  import { t as note } from "./note-DVzq2HQ9.js";
4
- import { c as usesSlowDynamicCompletion, i as isCompletionInstalled, o as resolveCompletionCachePath, r as installCompletion, s as resolveShellFromEnv, t as completionCacheExists } from "./completion-cli-OtKpajf1.js";
4
+ import { c as usesSlowDynamicCompletion, i as isCompletionInstalled, o as resolveCompletionCachePath, r as installCompletion, s as resolveShellFromEnv, t as completionCacheExists } from "./completion-cli-CUaDyikK.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
  //#region src/commands/doctor-completion.ts
package/dist/entry.js CHANGED
@@ -200,7 +200,7 @@ function tryHandleRootHelpFastPath(argv, deps = {}) {
200
200
  }
201
201
  function runMainOrRootHelp(argv) {
202
202
  if (tryHandleRootHelpFastPath(argv)) return;
203
- import("./run-main-BBNZWCeM.js").then(({ runCli }) => runCli(argv)).catch((error) => {
203
+ import("./run-main-BcsRYTP7.js").then(({ runCli }) => runCli(argv)).catch((error) => {
204
204
  console.error("[vora] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
205
205
  process$1.exitCode = 1;
206
206
  });
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "fingerprint": "ca912d9e9a22e2b351a5b2d5de4bfb11a1d9fbb0e90ecd04591916c52fabb4e1",
3
- "generatedAt": "2026-04-02T16:30:51.144Z"
3
+ "generatedAt": "2026-04-02T17:11:55.291Z"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "fingerprint": "f5cc4428157244c03371a02e98bc2b0556e1853613db4dfe31efcfd24cef35f1",
3
- "generatedAt": "2026-04-02T16:30:52.153Z"
3
+ "generatedAt": "2026-04-02T17:11:56.303Z"
4
4
  }
@@ -208,7 +208,7 @@ import { s as normalizeUpdateChannel } from "./update-channels-BhQF6Qhs.js";
208
208
  import { n as compareSemverStrings, o as resolveNpmChannelTag, t as checkUpdateStatus } from "./update-check-R1GMJo_E.js";
209
209
  import { i as resolveGatewayStartupPluginIds, r as resolveConfiguredDeferredChannelPluginIds } from "./channel-plugin-ids-B2fBArRn.js";
210
210
  import { l as startTaskRegistryMaintenance, n as getInspectableTaskRegistrySummary } from "./task-registry.maintenance-NIcRce48.js";
211
- import { t as runSetupWizard } from "./setup-DiFluV1p.js";
211
+ import { t as runSetupWizard } from "./setup-y-ZxCER_.js";
212
212
  import { _ as buildGogWatchStartArgs, g as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, w as resolveGmailHookRuntimeConfig } from "./gmail-setup-utils-yY1PbD2n.js";
213
213
  import { i as loadAgentIdentity, o as pruneAgentConfig, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-Bk_BV0k2.js";
214
214
  import { a as resolveApnsAuthConfigFromEnv, c as shouldClearStoredApnsRegistration, d as MediaOffloadError, f as parseMessageWithAttachments, l as resolveApnsRelayConfigFromEnv, n as loadApnsRegistration, o as sendApnsAlert, r as normalizeApnsEnvironment, s as sendApnsBackgroundWake, t as clearApnsRegistrationIfCurrent, u as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-BqgXNeT6.js";
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ let saveSessionStore;
28
28
  let toWhatsappJid;
29
29
  let waitForever;
30
30
  async function loadLegacyCliDeps() {
31
- const [{ installGaxiosFetchCompat }, { runCli }] = await Promise.all([import("./gaxios-fetch-compat-Bt8xRcSu.js"), import("./run-main-BBNZWCeM.js")]);
31
+ const [{ installGaxiosFetchCompat }, { runCli }] = await Promise.all([import("./gaxios-fetch-compat-Bt8xRcSu.js"), import("./run-main-BcsRYTP7.js")]);
32
32
  return {
33
33
  installGaxiosFetchCompat,
34
34
  runCli
@@ -12,7 +12,7 @@ import { c as normalizeGatewayTokenInput, d as randomToken, f as resolveControlU
12
12
  import { t as WizardCancelledError } from "./prompts-DAJPf5yB.js";
13
13
  import { n as logConfigUpdated } from "./logging-uLL6eiQ2.js";
14
14
  import { t as createClackPrompter } from "./clack-prompter-CMBtxvp6.js";
15
- import { t as runSetupWizard } from "./setup-DiFluV1p.js";
15
+ import { t as runSetupWizard } from "./setup-y-ZxCER_.js";
16
16
  import { a as resolveManifestProviderOnboardAuthFlags } from "./provider-auth-choices-Bd3lk8hB.js";
17
17
  import { i as resolveDeprecatedAuthChoiceReplacement, n as isDeprecatedAuthChoice, r as normalizeLegacyOnboardAuthChoice, t as formatDeprecatedNonInteractiveAuthChoiceError } from "./auth-choice-legacy-D6uT2N1Y.js";
18
18
  import { r as applyLocalSetupWorkspaceConfig } from "./onboard-config-C1KbUQuM.js";
@@ -315,7 +315,7 @@ async function runNonInteractiveLocalSetup(params) {
315
315
  }
316
316
  const authChoice = opts.authChoice ?? inferredAuthChoice.choice ?? "skip";
317
317
  if (authChoice !== "skip") {
318
- const { applyNonInteractiveAuthChoice } = await import("./auth-choice-Bjieknrr.js");
318
+ const { applyNonInteractiveAuthChoice } = await import("./auth-choice-MWA9SqQd.js");
319
319
  const nextConfigAfterAuth = await applyNonInteractiveAuthChoice({
320
320
  nextConfig,
321
321
  authChoice,
@@ -8,7 +8,7 @@ import { n as VERSION } from "./version-BZiOz9zD.js";
8
8
  import { n as resolveCliName } from "./cli-name-l1qeysOp.js";
9
9
  import { t as emitCliBanner } from "./banner-DMZFMeXF.js";
10
10
  import { n as resolveCliChannelOptions } from "./channel-options-8PZOQV0B.js";
11
- import { i as registerProgramCommands } from "./command-registry-l5Sz6U8W.js";
11
+ import { i as registerProgramCommands } from "./command-registry-CuOVE1fX.js";
12
12
  import { n as setProgramContext } from "./program-context-VIEsZ6Iq.js";
13
13
  import { t as isCommandJsonOutputMode } from "./json-mode-s1Sason4.js";
14
14
  import "./ports-Bmxro81g.js";
@@ -105,7 +105,7 @@ import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-CXHNWo
105
105
  import { t as formatHealthCheckFailure } from "./health-format-Dn6YLNk_.js";
106
106
  import { a as stripUnknownConfigKeys, i as resolveConfigPathTarget, n as formatConfigPath, r as noteOpencodeProviderOverrides, t as runDoctorConfigPreflight } from "./doctor-config-preflight-S9t3t4To.js";
107
107
  import { a as isMattermostMutableAllowEntry, i as isMSTeamsMutableAllowEntry, n as isGoogleChatMutableAllowEntry, o as isSlackMutableAllowEntry, r as isIrcMutableAllowEntry, s as isZalouserMutableGroupEntry, t as isDiscordMutableAllowEntry } from "./mutable-allowlist-detectors-BmLplmer.js";
108
- import { n as doctorShellCompletion } from "./doctor-completion-DiedZkeX.js";
108
+ import { n as doctorShellCompletion } from "./doctor-completion-CLfFmnGd.js";
109
109
  import { t as collectChannelStatusIssues } from "./channels-status-issues-DV6pndKQ.js";
110
110
  import { t as resolveDefaultChannelAccountContext } from "./channel-account-context-DyiaRn0h.js";
111
111
  import "./doctor-state-migrations-DETpgq5p.js";
@@ -183,7 +183,13 @@ function normalizeApiKeyTokenProviderAuthChoice(params) {
183
183
  }
184
184
  async function applyAuthChoiceGroq(params) {
185
185
  if (params.authChoice !== "groq-api-key" && params.authChoice !== "groq") return null;
186
- let key = params.opts?.groqApiKey || params.opts?.token || "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";
186
+ await params.prompter.note(["Groq provides blazing fast inference for free.", "Get your API key at: https://console.groq.com/keys"].join("\n"), "Groq");
187
+ let key = params.opts?.groqApiKey || params.opts?.token;
188
+ if (!key) key = String(await params.prompter.text({
189
+ message: "Groq API Key",
190
+ placeholder: "gsk_...",
191
+ validate: (value) => value?.trim() ? void 0 : "API Key is required"
192
+ })).trim();
187
193
  const defaultModel = "groq/llama-3.1-8b-instant";
188
194
  const resolvedAgentId = params.agentId ?? resolveDefaultAgentId(params.config);
189
195
  const agentDir = params.agentDir ?? resolveAgentDir(params.config, resolvedAgentId, params.env ?? process.env);
@@ -212,6 +218,7 @@ async function applyAuthChoiceGroq(params) {
212
218
  contextWindow: 128e3,
213
219
  maxTokens: 8192
214
220
  }, ...(Array.isArray(existingProvider?.models) ? existingProvider.models : []).filter((entry) => entry?.id !== "llama-3.1-8b-instant")];
221
+ const DEFAULT_BASE_URL = "https://api.groq.com/openai/v1";
215
222
  let nextConfig = {
216
223
  ...params.config,
217
224
  models: {
@@ -220,7 +227,7 @@ async function applyAuthChoiceGroq(params) {
220
227
  ...params.config.models?.providers,
221
228
  groq: {
222
229
  ...existingProvider,
223
- baseUrl: "https://api.groq.com/openai/v1",
230
+ baseUrl: DEFAULT_BASE_URL,
224
231
  api: "openai-responses",
225
232
  models: nextModels
226
233
  }
@@ -19,7 +19,7 @@ import { n as runCommandWithRuntime } from "./cli-utils-CMfpS8SF.js";
19
19
  import { t as formatHelpExamples } from "./help-format-Dad85O74.js";
20
20
  import "./agent-DPztaRnG.js";
21
21
  import { t as collectOption } from "./helpers-CY4wVIki.js";
22
- import { a as agentsBindCommand, i as agentsAddCommand, n as agentsSetIdentityCommand, o as agentsBindingsCommand, r as agentsDeleteCommand, s as agentsUnbindCommand, t as agentsListCommand } from "./agents-BHxmzkUt.js";
22
+ import { a as agentsBindCommand, i as agentsAddCommand, n as agentsSetIdentityCommand, o as agentsBindingsCommand, r as agentsDeleteCommand, s as agentsUnbindCommand, t as agentsListCommand } from "./agents-CudkxcIP.js";
23
23
  //#region src/commands/agent-via-gateway.ts
24
24
  const NO_GATEWAY_TIMEOUT_MS = 2147e6;
25
25
  function parseTimeoutSeconds(opts) {
@@ -2,7 +2,7 @@ import { n as defaultRuntime } from "./runtime-D0VpiCHi.js";
2
2
  import { t as formatDocsLink } from "./links-Dew9XRNK.js";
3
3
  import { r as theme } from "./theme-BJIQPogA.js";
4
4
  import { n as runCommandWithRuntime } from "./cli-utils-CMfpS8SF.js";
5
- import { n as configureCommandFromSectionsArg, o as CONFIGURE_WIZARD_SECTIONS } from "./configure-BOejKdjX.js";
5
+ import { n as configureCommandFromSectionsArg, o as CONFIGURE_WIZARD_SECTIONS } from "./configure-DEZs--dU.js";
6
6
  //#region src/cli/program/register.configure.ts
7
7
  function registerConfigureCommand(program) {
8
8
  program.command("configure").description("Interactive configuration for credentials, channels, gateway, and agent defaults").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/configure", "docs.vora.ai/cli/configure")}\n`).option("--section <section>", `Configuration sections (repeatable). Options: ${CONFIGURE_WIZARD_SECTIONS.join(", ")}`, (value, previous) => [...previous, value], []).action(async (opts) => {
@@ -16,7 +16,7 @@ import { r as resolveGatewayService } from "./service-CBjiYq4X.js";
16
16
  import { n as resolveConfiguredSecretInputWithFallback } from "./resolve-configured-secret-input-string-yXf0bl0s.js";
17
17
  import { a as removePath, i as listAgentSessionDirs, o as removeStateAndLinkedPaths, r as buildCleanupPlan, s as removeWorkspaceDirs } from "./backup-create-CXkZOMaj.js";
18
18
  import { n as runCommandWithRuntime } from "./cli-utils-CMfpS8SF.js";
19
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-B5gC7PZs.js";
19
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CAUd2e_T.js";
20
20
  import path from "node:path";
21
21
  import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
22
22
  //#region src/infra/clipboard.ts
@@ -4,7 +4,7 @@ import { r as theme } from "./theme-BJIQPogA.js";
4
4
  import { n as runCommandWithRuntime } from "./cli-utils-CMfpS8SF.js";
5
5
  import { a as resolveManifestProviderOnboardAuthFlags } from "./provider-auth-choices-Bd3lk8hB.js";
6
6
  import { n as formatAuthChoiceChoicesForCli } from "./auth-choice-options-tu8d27iO.js";
7
- import { n as CORE_ONBOARD_AUTH_FLAGS, t as setupWizardCommand } from "./onboard-BcFa5vp2.js";
7
+ import { n as CORE_ONBOARD_AUTH_FLAGS, t as setupWizardCommand } from "./onboard-CkPxIdn1.js";
8
8
  //#region src/cli/program/register.onboard.ts
9
9
  function resolveInstallDaemonFlag(command, opts) {
10
10
  if (!command || typeof command !== "object") return;
@@ -11,7 +11,7 @@ import { s as resolveSessionTranscriptsDir } from "./paths-gP6OIXO6.js";
11
11
  import { n as safeParseWithSchema } from "./zod-parse-CoS4Cf-k.js";
12
12
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-uLL6eiQ2.js";
13
13
  import { n as runCommandWithRuntime } from "./cli-utils-CMfpS8SF.js";
14
- import { t as setupWizardCommand } from "./onboard-BcFa5vp2.js";
14
+ import { t as setupWizardCommand } from "./onboard-CkPxIdn1.js";
15
15
  import fs from "node:fs/promises";
16
16
  import { z } from "zod";
17
17
  import JSON5 from "json5";
@@ -1,3 +1,3 @@
1
1
  import "./subcli-descriptors-BjrzwVTU.js";
2
- import { n as loadValidatedConfigForPluginRegistration, r as registerSubCliByName } from "./register.subclis-C3yXFpuE.js";
2
+ import { n as loadValidatedConfigForPluginRegistration, r as registerSubCliByName } from "./register.subclis-Bs-ITQlE.js";
3
3
  export { loadValidatedConfigForPluginRegistration, registerSubCliByName };
@@ -30,7 +30,7 @@ const entries = [
30
30
  description: "Run, inspect, and query the WebSocket Gateway",
31
31
  hasSubcommands: true,
32
32
  register: async (program) => {
33
- (await import("./gateway-cli-DLEXZl-x.js")).registerGatewayCli(program);
33
+ (await import("./gateway-cli-DRYW6Le8.js")).registerGatewayCli(program);
34
34
  }
35
35
  },
36
36
  {
@@ -236,7 +236,7 @@ const entries = [
236
236
  description: "Update Vora and inspect update channel status",
237
237
  hasSubcommands: true,
238
238
  register: async (program) => {
239
- (await import("./update-cli-DXngetiQ.js")).registerUpdateCli(program);
239
+ (await import("./update-cli-Dv44lmnZ.js")).registerUpdateCli(program);
240
240
  }
241
241
  },
242
242
  {
@@ -244,7 +244,7 @@ const entries = [
244
244
  description: "Generate shell completion script",
245
245
  hasSubcommands: false,
246
246
  register: async (program) => {
247
- (await import("./completion-cli-CcfnMQrk.js")).registerCompletionCli(program);
247
+ (await import("./completion-cli-vbMJIekd.js")).registerCompletionCli(program);
248
248
  }
249
249
  }
250
250
  ];
@@ -130,7 +130,7 @@ const routeAgentsList = {
130
130
  run: async (argv) => {
131
131
  const json = hasFlag(argv, "--json");
132
132
  const bindings = hasFlag(argv, "--bindings");
133
- const { agentsListCommand } = await import("./agents-B07N9r0p.js");
133
+ const { agentsListCommand } = await import("./agents-KEHIjrGf.js");
134
134
  await agentsListCommand({
135
135
  json,
136
136
  bindings
@@ -176,7 +176,7 @@ const routes = [
176
176
  const pathArg = positionals[0];
177
177
  if (!pathArg) return false;
178
178
  const json = hasFlag(argv, "--json");
179
- const { runConfigGet } = await import("./config-cli-xqaUbO1d.js");
179
+ const { runConfigGet } = await import("./config-cli-DFiQOw85.js");
180
180
  await runConfigGet({
181
181
  path: pathArg,
182
182
  json
@@ -191,7 +191,7 @@ const routes = [
191
191
  if (!positionals || positionals.length !== 1) return false;
192
192
  const pathArg = positionals[0];
193
193
  if (!pathArg) return false;
194
- const { runConfigUnset } = await import("./config-cli-xqaUbO1d.js");
194
+ const { runConfigUnset } = await import("./config-cli-DFiQOw85.js");
195
195
  await runConfigUnset({ path: pathArg });
196
196
  return true;
197
197
  }
@@ -374,7 +374,7 @@ async function runCli(argv = process$1.argv) {
374
374
  }
375
375
  if (await tryRouteCli(normalizedArgv)) return;
376
376
  enableConsoleCapture();
377
- const { buildProgram } = await import("./program-CaafX6TA.js");
377
+ const { buildProgram } = await import("./program-D9LjBDHJ.js");
378
378
  const program = buildProgram();
379
379
  const { installUnhandledRejectionHandler } = await import("./unhandled-rejections-D0HD8aaS.js");
380
380
  installUnhandledRejectionHandler();
@@ -388,10 +388,10 @@ async function runCli(argv = process$1.argv) {
388
388
  const { getProgramContext } = await import("./program-context-m43Ch5Cy.js");
389
389
  const ctx = getProgramContext(program);
390
390
  if (ctx) {
391
- const { registerCoreCliByName } = await import("./command-registry-DwTfiSLH.js");
391
+ const { registerCoreCliByName } = await import("./command-registry-Cma1Togy.js");
392
392
  await registerCoreCliByName(program, ctx, primary, parseArgv);
393
393
  }
394
- const { registerSubCliByName } = await import("./register.subclis-CR3Z9hgf.js");
394
+ const { registerSubCliByName } = await import("./register.subclis-BdHrEJN0.js");
395
395
  await registerSubCliByName(program, primary);
396
396
  }
397
397
  if (!shouldSkipPluginCommandRegistration({
@@ -400,7 +400,7 @@ async function runCli(argv = process$1.argv) {
400
400
  hasBuiltinPrimary: primary !== null && program.commands.some((command) => command.name() === primary)
401
401
  })) {
402
402
  const { registerPluginCliCommands } = await import("./cli-g_JdU9WU.js");
403
- const { loadValidatedConfigForPluginRegistration } = await import("./register.subclis-CR3Z9hgf.js");
403
+ const { loadValidatedConfigForPluginRegistration } = await import("./register.subclis-BdHrEJN0.js");
404
404
  const config = await loadValidatedConfigForPluginRegistration();
405
405
  if (config) {
406
406
  await registerPluginCliCommands(program, config, void 0, void 0, {
@@ -306,7 +306,7 @@ async function runSetupWizard(opts, runtime = defaultRuntime, prompter) {
306
306
  const { ensureAuthProfileStore } = await import("./agents/auth-profiles.runtime.js");
307
307
  const { promptAuthChoiceGrouped } = await import("./auth-choice-prompt-DRxywBrG.js");
308
308
  const { promptCustomApiConfig } = await import("./onboard-custom-CUka8yPf.js");
309
- const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-D02naz-O.js");
309
+ const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-BJoCLqyO.js");
310
310
  const { applyPrimaryModel, promptDefaultModel } = await import("./model-picker-BnVZerea.js");
311
311
  const authStore = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false });
312
312
  const authChoiceFromPrompt = opts.authChoice === void 0;
@@ -410,7 +410,7 @@ async function runSetupWizard(opts, runtime = defaultRuntime, prompter) {
410
410
  mode
411
411
  });
412
412
  await writeConfigFile(nextConfig);
413
- const { finalizeSetupWizard } = await import("./setup.finalize-VZnCY7wl.js");
413
+ const { finalizeSetupWizard } = await import("./setup.finalize-DHFVRYwK.js");
414
414
  const { launchedTui } = await finalizeSetupWizard({
415
415
  flow,
416
416
  opts,
@@ -10,12 +10,12 @@ import { f as resolveControlUiLinks, g as waitForGatewayReachable, i as formatCo
10
10
  import { r as resolveGatewayService, t as describeGatewayServiceRestart } from "./service-CBjiYq4X.js";
11
11
  import { i as isSystemdUserServiceAvailable } from "./systemd-aS57J-tg.js";
12
12
  import { t as listConfiguredWebSearchProviders } from "./runtime-DZyz4fcV.js";
13
- import { r as installCompletion } from "./completion-cli-OtKpajf1.js";
13
+ import { r as installCompletion } from "./completion-cli-CUaDyikK.js";
14
14
  import { r as healthCommand } from "./health-DieLeder.js";
15
15
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BxHcGhet.js";
16
16
  import { t as resolveSetupSecretInputString } from "./setup.secret-input-Dhl03iL0.js";
17
17
  import { t as formatHealthCheckFailure } from "./health-format-Dn6YLNk_.js";
18
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DiedZkeX.js";
18
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CLfFmnGd.js";
19
19
  import { t as runTui } from "./tui-C7JDokb3.js";
20
20
  import path from "node:path";
21
21
  import os from "node:os";
@@ -21,14 +21,14 @@ import { a as terminateStaleGatewayPids, i as renderRestartDiagnostics, s as wai
21
21
  import { r as formatDurationPrecise } from "./format-duration-3-yx54b_.js";
22
22
  import { o as trimLogTail } from "./restart-sentinel-C8ye8f8V.js";
23
23
  import { t as formatHelpExamples } from "./help-format-Dad85O74.js";
24
- import { r as installCompletion } from "./completion-cli-OtKpajf1.js";
24
+ import { r as installCompletion } from "./completion-cli-CUaDyikK.js";
25
25
  import { n as renderTable, t as getTerminalTableWidth } from "./table-BA-qzwGI.js";
26
26
  import { c as resolveEffectiveUpdateChannel, i as formatUpdateChannelLabel, l as resolveUpdateChannelDisplay, r as channelToNpmTag, s as normalizeUpdateChannel } from "./update-channels-BhQF6Qhs.js";
27
27
  import { i as fetchNpmTagVersion, n as compareSemverStrings, o as resolveNpmChannelTag, r as fetchNpmPackageTargetStatus, t as checkUpdateStatus } from "./update-check-R1GMJo_E.js";
28
28
  import { a as collectInstalledGlobalPackageErrors, c as detectGlobalInstallManagerForRoot, d as resolveGlobalInstallSpec, f as resolveGlobalPackageRoot, h as readPackageVersion, i as cleanupGlobalRenameDirs, l as globalInstallArgs, m as readPackageName, n as runGatewayUpdate, o as createGlobalInstallEnv, p as normalizePackageTagInput, r as canResolveRegistryVersionForPackageTarget, s as detectGlobalInstallManagerByPresence, u as resolveExpectedInstalledVersionFromSpec } from "./server-startup-matrix-migration-Df-QA4pX.js";
29
29
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DakoGCF8.js";
30
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-B5gC7PZs.js";
31
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DiedZkeX.js";
30
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CAUd2e_T.js";
31
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CLfFmnGd.js";
32
32
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-DhSe_oWH.js";
33
33
  import path from "node:path";
34
34
  import { spawn, spawnSync } from "node:child_process";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vora-ai",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "Voice-first AI agent core engine — VORA",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/vora-ai/vora-core#readme",
@@ -1,2 +0,0 @@
1
- import { a as registerCompletionCli } from "./completion-cli-OtKpajf1.js";
2
- export { registerCompletionCli };