@intent-systems/nexus 2026.1.5-4 → 2026.1.5-5

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 (123) hide show
  1. package/dist/agents/agent-id.js +41 -0
  2. package/dist/agents/auth-profiles.js +114 -25
  3. package/dist/agents/identity-state.js +79 -0
  4. package/dist/agents/model-auth.js +1 -0
  5. package/dist/agents/model-fallback.js +15 -9
  6. package/dist/agents/model-selection.js +1 -1
  7. package/dist/agents/models-config.js +17 -11
  8. package/dist/agents/pi-embedded-runner.js +101 -9
  9. package/dist/agents/sandbox.js +12 -3
  10. package/dist/agents/skill-runner.js +29 -4
  11. package/dist/agents/skill-usage.js +114 -11
  12. package/dist/agents/skills-status.js +4 -4
  13. package/dist/agents/skills.js +18 -7
  14. package/dist/agents/subagent-registry.js +25 -11
  15. package/dist/agents/system-prompt.js +16 -0
  16. package/dist/agents/tool-policy.js +19 -3
  17. package/dist/agents/tools/browser-tool.js +5 -2
  18. package/dist/agents/tools/image-tool.js +93 -8
  19. package/dist/agents/tools/sessions-announce-target.js +5 -1
  20. package/dist/agents/workspace.js +55 -46
  21. package/dist/auto-reply/command-detection.js +2 -1
  22. package/dist/auto-reply/reply/directive-handling.js +153 -28
  23. package/dist/auto-reply/reply/directives.js +17 -2
  24. package/dist/auto-reply/reply/model-selection.js +8 -3
  25. package/dist/auto-reply/reply/queue.js +2 -2
  26. package/dist/auto-reply/reply.js +1 -1
  27. package/dist/auto-reply/thinking.js +15 -0
  28. package/dist/browser/chrome.js +1 -1
  29. package/dist/browser/client.js +2 -0
  30. package/dist/browser/config.js +6 -2
  31. package/dist/browser/pw-tools-core.js +3 -0
  32. package/dist/browser/routes/agent.js +14 -0
  33. package/dist/canvas-host/server.js +1 -1
  34. package/dist/capabilities/detector.js +46 -15
  35. package/dist/capabilities/registry.js +2 -1
  36. package/dist/cli/cloud-cli.js +12 -7
  37. package/dist/cli/credential-cli.js +139 -17
  38. package/dist/cli/gateway-cli.js +1 -1
  39. package/dist/cli/log-cli.js +25 -0
  40. package/dist/cli/pairing-cli.js +1 -1
  41. package/dist/cli/program.js +58 -6
  42. package/dist/cli/run-main.js +1 -1
  43. package/dist/cli/skills-cli.js +144 -21
  44. package/dist/cli/skills-hub-cli.js +59 -29
  45. package/dist/cli/tool-connector-cli.js +99 -24
  46. package/dist/cli/upstream-sync-cli.js +253 -96
  47. package/dist/cli/usage-cli.js +14 -0
  48. package/dist/commands/auth-choice-options.js +6 -1
  49. package/dist/commands/auth-choice.js +157 -5
  50. package/dist/commands/bootstrap-preset.js +10 -6
  51. package/dist/commands/capabilities.js +33 -6
  52. package/dist/commands/claude-md.js +3 -2
  53. package/dist/commands/config-view.js +1 -1
  54. package/dist/commands/configure.js +4 -4
  55. package/dist/commands/credential.js +497 -36
  56. package/dist/commands/cursor-rules.js +39 -19
  57. package/dist/commands/doctor.js +5 -4
  58. package/dist/commands/identity.js +28 -31
  59. package/dist/commands/init.js +15 -18
  60. package/dist/commands/log.js +134 -0
  61. package/dist/commands/models/fallbacks.js +1 -1
  62. package/dist/commands/models/image-fallbacks.js +1 -1
  63. package/dist/commands/models/list.js +1 -1
  64. package/dist/commands/models/scan.js +1 -1
  65. package/dist/commands/onboard-auth.js +27 -2
  66. package/dist/commands/onboard-eve-identity.js +7 -8
  67. package/dist/commands/onboard-non-interactive.js +4 -2
  68. package/dist/commands/onboard-quickstart.js +18 -11
  69. package/dist/commands/quest-state.js +271 -0
  70. package/dist/commands/quest.js +53 -13
  71. package/dist/commands/reset.js +1 -1
  72. package/dist/commands/sessions-ingest.js +5 -4
  73. package/dist/commands/setup.js +4 -2
  74. package/dist/commands/skills-manifest.js +2 -2
  75. package/dist/commands/status.js +179 -61
  76. package/dist/commands/suggestions.js +1 -1
  77. package/dist/commands/usage-tracking.js +32 -0
  78. package/dist/commands/usage-upload.js +6 -1
  79. package/dist/config/defaults.js +1 -3
  80. package/dist/config/includes.js +5 -7
  81. package/dist/config/io.js +88 -16
  82. package/dist/config/legacy.js +4 -2
  83. package/dist/config/paths.js +16 -0
  84. package/dist/config/sessions.js +9 -5
  85. package/dist/config/zod-schema.js +4 -3
  86. package/dist/control-plane/broker/broker.js +131 -78
  87. package/dist/control-plane/compaction.js +3 -5
  88. package/dist/control-plane/factory.js +2 -2
  89. package/dist/control-plane/index.js +2 -2
  90. package/dist/control-plane/odu/agents.js +28 -23
  91. package/dist/control-plane/odu/interaction-tools.js +62 -50
  92. package/dist/control-plane/odu/prompt-loader.js +8 -8
  93. package/dist/control-plane/odu/runtime.js +87 -75
  94. package/dist/control-plane/odu-control-plane.js +14 -12
  95. package/dist/control-plane/single-agent.js +13 -13
  96. package/dist/credentials/store.js +133 -7
  97. package/dist/gateway/server-browser.js +5 -4
  98. package/dist/gateway/server-methods/cron.js +11 -1
  99. package/dist/gateway/server.js +14 -7
  100. package/dist/infra/bonjour.js +1 -1
  101. package/dist/infra/event-log.js +8 -2
  102. package/dist/infra/path-env.js +1 -2
  103. package/dist/infra/provider-usage.auth.js +5 -3
  104. package/dist/infra/provider-usage.fetch.claude.js +16 -6
  105. package/dist/infra/provider-usage.fetch.minimax.js +8 -3
  106. package/dist/infra/provider-usage.js +9 -5
  107. package/dist/infra/restart.js +2 -2
  108. package/dist/infra/usage-settings.js +78 -0
  109. package/dist/infra/usage-suggestions.js +17 -5
  110. package/dist/infra/usage-upload.js +38 -1
  111. package/dist/infra/voicewake.js +2 -2
  112. package/dist/media/image-ops.js +3 -1
  113. package/dist/memory/index.js +2 -381
  114. package/dist/pairing/pairing-store.js +24 -0
  115. package/dist/providers/github-copilot-auth.js +1 -1
  116. package/dist/routing/resolve-route.js +6 -6
  117. package/dist/routing/session-key.js +3 -1
  118. package/dist/sessions/send-policy.js +5 -5
  119. package/dist/slack/monitor.js +22 -1
  120. package/dist/telegram/reaction-level.js +2 -1
  121. package/dist/utils.js +4 -3
  122. package/dist/wizard/onboarding.js +29 -7
  123. package/package.json +1 -1
@@ -10,12 +10,12 @@ import { applyAuthChoice } from "../commands/auth-choice.js";
10
10
  import { buildAuthChoiceOptions } from "../commands/auth-choice-options.js";
11
11
  import { healthCommand } from "../commands/health.js";
12
12
  import { applyAuthProfileConfig, applyMinimaxConfig, setAnthropicApiKey, writeOAuthCredentials, } from "../commands/onboard-auth.js";
13
- import { applyWizardMetadata, DEFAULT_WORKSPACE, detectBrowserOpenSupport, ensureWorkspaceAndSessions, formatControlUiSshHint, handleReset, openUrl, printWizardHeader, probeGatewayReachable, randomToken, resolveControlUiLinks, summarizeExistingConfig, } from "../commands/onboard-helpers.js";
13
+ import { maybeSetupIdentityFromEve } from "../commands/onboard-eve-identity.js";
14
14
  import { setupGitHubSync } from "../commands/onboard-github.js";
15
+ import { applyWizardMetadata, DEFAULT_WORKSPACE, detectBrowserOpenSupport, ensureWorkspaceAndSessions, formatControlUiSshHint, handleReset, openUrl, printWizardHeader, probeGatewayReachable, randomToken, resolveControlUiLinks, summarizeExistingConfig, } from "../commands/onboard-helpers.js";
15
16
  import { setupProviders } from "../commands/onboard-providers.js";
16
17
  import { promptRemoteGatewayConfig } from "../commands/onboard-remote.js";
17
18
  import { setupSkills } from "../commands/onboard-skills.js";
18
- import { maybeSetupIdentityFromEve } from "../commands/onboard-eve-identity.js";
19
19
  import { applyOpenAICodexModelDefault, OPENAI_CODEX_DEFAULT_MODEL, } from "../commands/openai-codex-model-default.js";
20
20
  import { ensureSystemdUserLingerInteractive } from "../commands/systemd-linger.js";
21
21
  import { CONFIG_PATH_NEXUS, readConfigFileSnapshot, resolveGatewayPort, writeConfigFile, } from "../config/config.js";
@@ -24,6 +24,7 @@ import { resolveGatewayProgramArguments } from "../daemon/program-args.js";
24
24
  import { resolveGatewayService } from "../daemon/service.js";
25
25
  import { ensureControlUiAssetsBuilt } from "../infra/control-ui-assets.js";
26
26
  import { defaultRuntime } from "../runtime.js";
27
+ import { runTui } from "../tui/tui.js";
27
28
  import { resolveUserPath, sleep } from "../utils.js";
28
29
  async function warnIfModelConfigLooksOff(config, prompter) {
29
30
  const ref = resolveConfiguredModelRef({
@@ -61,6 +62,17 @@ export async function runOnboardingWizard(opts, runtime = defaultRuntime, prompt
61
62
  await prompter.intro("Nexus onboarding");
62
63
  const snapshot = await readConfigFileSnapshot();
63
64
  let baseConfig = snapshot.valid ? snapshot.config : {};
65
+ if (snapshot.exists && !snapshot.valid) {
66
+ await prompter.note(summarizeExistingConfig(baseConfig), "Invalid config");
67
+ if (snapshot.issues.length > 0) {
68
+ await prompter.note(snapshot.issues
69
+ .map((iss) => `- ${iss.path}: ${iss.message}`)
70
+ .join("\n"), "Config issues");
71
+ }
72
+ await prompter.outro("Fix config issues and rerun onboarding.");
73
+ runtime.exit(1);
74
+ return;
75
+ }
64
76
  if (snapshot.exists) {
65
77
  const title = snapshot.valid
66
78
  ? "Existing config detected"
@@ -104,15 +116,16 @@ export async function runOnboardingWizard(opts, runtime = defaultRuntime, prompt
104
116
  }
105
117
  const localPort = resolveGatewayPort(baseConfig);
106
118
  const localUrl = `ws://127.0.0.1:${localPort}`;
107
- const localToken = process.env.NEXUS_GATEWAY_TOKEN ?? process.env.NEXUS_GATEWAY_TOKEN;
119
+ const _localToken = process.env.NEXUS_GATEWAY_TOKEN ?? process.env.NEXUS_GATEWAY_TOKEN;
108
120
  const configPassword = baseConfig.gateway?.auth?.password;
109
121
  const envPassword = process.env.NEXUS_GATEWAY_PASSWORD ?? process.env.NEXUS_GATEWAY_PASSWORD;
110
- const primaryPassword = configPassword ?? envPassword;
111
- let localProbe = await probeGatewayReachable({
122
+ const _primaryPassword = configPassword ?? envPassword;
123
+ const localProbe = await probeGatewayReachable({
112
124
  url: localUrl,
113
125
  token: process.env.NEXUS_GATEWAY_TOKEN ?? process.env.CLAWDBOT_GATEWAY_TOKEN,
114
126
  password: baseConfig.gateway?.auth?.password ??
115
- process.env.NEXUS_GATEWAY_PASSWORD ?? process.env.CLAWDBOT_GATEWAY_PASSWORD,
127
+ process.env.NEXUS_GATEWAY_PASSWORD ??
128
+ process.env.CLAWDBOT_GATEWAY_PASSWORD,
116
129
  });
117
130
  const remoteUrl = baseConfig.gateway?.remote?.url?.trim() ?? "";
118
131
  const remoteProbe = remoteUrl
@@ -534,7 +547,9 @@ export async function runOnboardingWizard(opts, runtime = defaultRuntime, prompt
534
547
  const environment = {
535
548
  PATH: process.env.PATH,
536
549
  NEXUS_GATEWAY_TOKEN: gatewayToken,
537
- NEXUS_LAUNCHD_LABEL: process.platform === "darwin" ? GATEWAY_LAUNCH_AGENT_LABEL : undefined,
550
+ NEXUS_LAUNCHD_LABEL: process.platform === "darwin"
551
+ ? GATEWAY_LAUNCH_AGENT_LABEL
552
+ : undefined,
538
553
  };
539
554
  await service.install({
540
555
  env: process.env,
@@ -616,5 +631,12 @@ export async function runOnboardingWizard(opts, runtime = defaultRuntime, prompt
616
631
  await maybeSetupIdentityFromEve({ workspaceDir, prompter, runtime });
617
632
  // Set up GitHub sync for workspace portability
618
633
  await setupGitHubSync(workspaceDir, prompter, runtime);
634
+ const hatch = await prompter.confirm({
635
+ message: "Do you want to hatch your bot now?",
636
+ initialValue: false,
637
+ });
638
+ if (hatch) {
639
+ await runTui({ deliver: false, message: "Wake up, my friend!" });
640
+ }
619
641
  await prompter.outro("Onboarding complete.");
620
642
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intent-systems/nexus",
3
- "version": "2026.1.5-4",
3
+ "version": "2026.1.5-5",
4
4
  "description": "WhatsApp gateway CLI (Baileys web) with Pi RPC agent",
5
5
  "homepage": "https://github.com/Napageneral/nexus",
6
6
  "repository": {