@marxbiotech/openclaw 2026.3.28-beta.2 → 2026.3.28-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.buildstamp +1 -1
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/cli-startup-metadata.json +1 -1
- package/dist/{command-registry-rZb7lPtI.js → command-registry-B9bgU9hV.js} +5 -5
- package/dist/{command-registry-WKy4Mx4x.js → command-registry-BuxJ5NtM.js} +1 -1
- package/dist/{completion-cli-B8zT2HAK.js → completion-cli-CofiidKK.js} +2 -2
- package/dist/completion-cli-Gj-f2vks.js +2 -0
- package/dist/{config-cli-E-zhWRmA.js → config-cli-jZdsV_1z.js} +1 -1
- package/dist/{doctor-completion-Dl-XmE3u.js → doctor-completion-gl3VS5_j.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensions/diffs/.openclaw-runtime-deps-stamp.json +1 -1
- package/dist/extensions/discord/.openclaw-runtime-deps-stamp.json +1 -1
- package/dist/extensions/feishu/.openclaw-runtime-deps-stamp.json +1 -1
- package/dist/extensions/feishu/node_modules/.package-lock.json +3 -3
- package/dist/extensions/feishu/node_modules/@larksuiteoapi/node-sdk/es/index.js +20 -16
- package/dist/extensions/feishu/node_modules/@larksuiteoapi/node-sdk/lib/index.js +20 -16
- package/dist/extensions/feishu/node_modules/@larksuiteoapi/node-sdk/package.json +1 -1
- package/dist/extensions/feishu/node_modules/@larksuiteoapi/node-sdk/types/index.d.ts +4 -0
- package/dist/extensions/slack/.openclaw-runtime-deps-stamp.json +1 -1
- package/dist/extensions/telegram/.openclaw-runtime-deps-stamp.json +1 -1
- package/dist/{gateway-cli-BQs8Qd9u.js → gateway-cli-BPgXFsX-.js} +2 -2
- package/dist/index.js +1 -1
- package/dist/{node-cli-ZfoSKAgY.js → node-cli-C-NHDws4.js} +12 -3
- package/dist/{onboard-CtQTF9Pq.js → onboard-D8mLBBSq.js} +1 -1
- package/dist/plugin-sdk/src/config/schema.base.generated.d.ts +1 -1
- package/dist/{program-DB9XGsJm.js → program-CS3D__yJ.js} +1 -1
- package/dist/{prompt-select-styled-jBrfeHUG.js → prompt-select-styled-D0JcqEaf.js} +1 -1
- package/dist/{register.maintenance-Ddm9pXEy.js → register.maintenance-BYiyh4Bv.js} +1 -1
- package/dist/{register.onboard-C1wg5SMO.js → register.onboard-BLh7MvqL.js} +1 -1
- package/dist/{register.setup-C_YIt_Hg.js → register.setup-5Iz11tL5.js} +1 -1
- package/dist/{register.subclis-CkFAlHtB.js → register.subclis-Bdfqcaq1.js} +1 -1
- package/dist/{register.subclis-BZB6oeZE.js → register.subclis-D5PoU4cG.js} +4 -4
- package/dist/{run-main-BSypopS7.js → run-main-GxMMbcni.js} +6 -6
- package/dist/{runtime-schema-BirGs1_v.js → runtime-schema-DUD60Mz3.js} +1 -1
- package/dist/{setup-Tc8Q5EMN.js → setup-D7aEmeVi.js} +1 -1
- package/dist/{setup.finalize-BXnUa_kR.js → setup.finalize-DT2NHFPD.js} +2 -2
- package/dist/{update-cli-CpGu1-wL.js → update-cli-CqrlF5yT.js} +3 -3
- package/package.json +1 -1
- package/dist/completion-cli-YOsLr1vu.js +0 -2
package/dist/.buildstamp
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"builtAt":
|
|
1
|
+
{"builtAt":1777452602471,"head":"a26098415e072ddc6102d397aca50bdca61fd716"}
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
d4146ac7f5d52f4087e1cd83ee956f8cb1711ef5b72643526140eca93c0ca9c0
|
|
@@ -23,5 +23,5 @@
|
|
|
23
23
|
"tlon",
|
|
24
24
|
"twitch"
|
|
25
25
|
],
|
|
26
|
-
"rootHelpText": "\n🦞 OpenClaw 2026.3.28-beta.
|
|
26
|
+
"rootHelpText": "\n🦞 OpenClaw 2026.3.28-beta.3 (a260984) — If it works, it's automation; if it breaks, it's a \"learning opportunity.\"\n\nUsage: openclaw [options] [command]\n\nOptions:\n --container <name> Run the CLI inside a running Podman/Docker container\n named <name> (default: env OPENCLAW_CONTAINER)\n --dev Dev profile: isolate state under ~/.openclaw-dev, default\n gateway port 19001, and shift derived ports\n (browser/canvas)\n -h, --help Display help for command\n --log-level <level> Global log level override for file + console\n (silent|fatal|error|warn|info|debug|trace)\n --no-color Disable ANSI colors\n --profile <name> Use a named profile (isolates\n OPENCLAW_STATE_DIR/OPENCLAW_CONFIG_PATH under\n ~/.openclaw-<name>)\n -V, --version output the version number\n\nCommands:\n Hint: commands suffixed with * have subcommands. Run <command> --help for details.\n acp * Agent Control Protocol tools\n agent Run one agent turn via the Gateway\n agents * Manage isolated agents (workspaces, auth, routing)\n approvals * Manage exec approvals (gateway or node host)\n backup * Create and verify local backup archives for OpenClaw\n state\n channels * Manage connected chat channels (Telegram, Discord, etc.)\n clawbot * Legacy clawbot command aliases\n completion Generate shell completion script\n config * Non-interactive config helpers\n (get/set/unset/file/validate). Default: starts guided\n setup.\n configure Interactive configuration for credentials, channels,\n gateway, and agent defaults\n cron * Manage cron jobs via the Gateway scheduler\n daemon * Gateway service (legacy alias)\n dashboard Open the Control UI with your current token\n devices * Device pairing + token management\n directory * Lookup contact and group IDs (self, peers, groups) for\n supported chat channels\n dns * DNS helpers for wide-area discovery (Tailscale + CoreDNS)\n docs Search the live OpenClaw docs\n doctor Health checks + quick fixes for the gateway and channels\n gateway * Run, inspect, and query the WebSocket Gateway\n health Fetch health from the running gateway\n help Display help for command\n hooks * Manage internal agent hooks\n logs Tail gateway file logs via RPC\n message * Send, read, and manage messages\n models * Discover, scan, and configure models\n node * Run and manage the headless node host service\n nodes * Manage gateway-owned node pairing and node commands\n onboard Interactive onboarding for gateway, workspace, and skills\n pairing * Secure DM pairing (approve inbound requests)\n plugins * Manage OpenClaw plugins and extensions\n qr Generate iOS pairing QR/setup code\n reset Reset local config/state (keeps the CLI installed)\n sandbox * Manage sandbox containers for agent isolation\n secrets * Secrets runtime reload controls\n security * Security tools and local config audits\n sessions * List stored conversation sessions\n setup Initialize local config and agent workspace\n skills * List and inspect available skills\n status Show channel health and recent session recipients\n system * System events, heartbeat, and presence\n tui Open a terminal UI connected to the Gateway\n uninstall Uninstall the gateway service + local data (CLI remains)\n update * Update OpenClaw and inspect update channel status\n webhooks * Webhook helpers and integrations\n\nExamples:\n openclaw models --help\n Show detailed help for the models command.\n openclaw channels login --verbose\n Link personal WhatsApp Web and show QR + connection logs.\n openclaw message send --target +15555550123 --message \"Hi\" --json\n Send via your web session and print JSON result.\n openclaw gateway --port 18789\n Run the WebSocket Gateway locally.\n openclaw --dev gateway\n Run a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.\n openclaw gateway --force\n Kill anything bound to the default gateway port, then start it.\n openclaw gateway ...\n Gateway control via WebSocket.\n openclaw agent --to +15555550123 --message \"Run summary\" --deliver\n Talk directly to the agent using the Gateway; optionally send the WhatsApp reply.\n openclaw message send --channel telegram --target @mychat --message \"Hi\"\n Send via your Telegram bot.\n\nDocs: https://docs.openclaw.ai/cli\n\n"
|
|
27
27
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { O as getPrimaryCommand, j as hasHelpOrVersion } from "./logger-BCzP_yik.js";
|
|
2
|
-
import { a as removeCommandByName, i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-
|
|
2
|
+
import { a as removeCommandByName, i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-D5PoU4cG.js";
|
|
3
3
|
import { t as getCoreCliCommandDescriptors } from "./core-command-descriptors-3IsGrTdH.js";
|
|
4
4
|
//#region src/cli/program/command-registry.ts
|
|
5
5
|
const shouldRegisterCorePrimaryOnly = (argv) => {
|
|
@@ -14,7 +14,7 @@ const coreEntries = [
|
|
|
14
14
|
hasSubcommands: false
|
|
15
15
|
}],
|
|
16
16
|
register: async ({ program }) => {
|
|
17
|
-
(await import("./register.setup-
|
|
17
|
+
(await import("./register.setup-5Iz11tL5.js")).registerSetupCommand(program);
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
{
|
|
@@ -24,7 +24,7 @@ const coreEntries = [
|
|
|
24
24
|
hasSubcommands: false
|
|
25
25
|
}],
|
|
26
26
|
register: async ({ program }) => {
|
|
27
|
-
(await import("./register.onboard-
|
|
27
|
+
(await import("./register.onboard-BLh7MvqL.js")).registerOnboardCommand(program);
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
{
|
|
@@ -44,7 +44,7 @@ const coreEntries = [
|
|
|
44
44
|
hasSubcommands: true
|
|
45
45
|
}],
|
|
46
46
|
register: async ({ program }) => {
|
|
47
|
-
(await import("./config-cli-
|
|
47
|
+
(await import("./config-cli-jZdsV_1z.js")).registerConfigCli(program);
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
{
|
|
@@ -81,7 +81,7 @@ const coreEntries = [
|
|
|
81
81
|
}
|
|
82
82
|
],
|
|
83
83
|
register: async ({ program }) => {
|
|
84
|
-
(await import("./register.maintenance-
|
|
84
|
+
(await import("./register.maintenance-BYiyh4Bv.js")).registerMaintenanceCommands(program);
|
|
85
85
|
}
|
|
86
86
|
},
|
|
87
87
|
{
|
|
@@ -3,8 +3,8 @@ import { m as pathExists } from "./utils-BfvDpbwh.js";
|
|
|
3
3
|
import { t as formatDocsLink } from "./links-CNsP_rfF.js";
|
|
4
4
|
import { r as theme } from "./theme-D-TumEpz.js";
|
|
5
5
|
import { _ as resolveStateDir } from "./paths-Y4UT24Of.js";
|
|
6
|
-
import { n as loadValidatedConfigForPluginRegistration, r as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-
|
|
7
|
-
import { n as registerCoreCliByName, t as getCoreCliCommandNames } from "./command-registry-
|
|
6
|
+
import { n as loadValidatedConfigForPluginRegistration, r as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-D5PoU4cG.js";
|
|
7
|
+
import { n as registerCoreCliByName, t as getCoreCliCommandNames } from "./command-registry-B9bgU9hV.js";
|
|
8
8
|
import { t as getProgramContext } from "./program-context-Bv9xg3LZ.js";
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
import os from "node:os";
|
|
@@ -13,7 +13,7 @@ import { a as formatExecSecretRefIdValidationMessage, c as isValidSecretProvider
|
|
|
13
13
|
import { C as SecretProviderSchema } from "./zod-schema.core-CGoKjdG2.js";
|
|
14
14
|
import { a as resolveSecretRefValue } from "./resolve-CFB7mNpd.js";
|
|
15
15
|
import { l as discoverConfigSecretTargets, m as resolveConfigSecretTargetByPath } from "./command-secret-targets-DayQlnoD.js";
|
|
16
|
-
import { i as redactConfigObject, n as readBestEffortRuntimeConfigSchema } from "./runtime-schema-
|
|
16
|
+
import { i as redactConfigObject, n as readBestEffortRuntimeConfigSchema } from "./runtime-schema-DUD60Mz3.js";
|
|
17
17
|
import { n as setCommandJsonMode } from "./json-mode-DP5Id_4L.js";
|
|
18
18
|
import fsSync from "node:fs";
|
|
19
19
|
import JSON5 from "json5";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as resolveOpenClawPackageRoot } from "./openclaw-root-BYOI_ohY.js";
|
|
2
2
|
import { r as resolveCliName } from "./command-format-CR4nOXgc.js";
|
|
3
3
|
import { t as note } from "./note-C01OqYRg.js";
|
|
4
|
-
import { c as usesSlowDynamicCompletion, i as isCompletionInstalled, o as resolveCompletionCachePath, r as installCompletion, s as resolveShellFromEnv, t as completionCacheExists } from "./completion-cli-
|
|
4
|
+
import { c as usesSlowDynamicCompletion, i as isCompletionInstalled, o as resolveCompletionCachePath, r as installCompletion, s as resolveShellFromEnv, t as completionCacheExists } from "./completion-cli-CofiidKK.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
|
@@ -204,7 +204,7 @@ function tryHandleRootHelpFastPath(argv, deps = {}) {
|
|
|
204
204
|
}
|
|
205
205
|
function runMainOrRootHelp(argv) {
|
|
206
206
|
if (tryHandleRootHelpFastPath(argv)) return;
|
|
207
|
-
import("./run-main-
|
|
207
|
+
import("./run-main-GxMMbcni.js").then(({ runCli }) => runCli(argv)).catch((error) => {
|
|
208
208
|
console.error("[openclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
|
|
209
209
|
process$1.exitCode = 1;
|
|
210
210
|
});
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"requires": true,
|
|
4
4
|
"packages": {
|
|
5
5
|
"node_modules/@larksuiteoapi/node-sdk": {
|
|
6
|
-
"version": "1.62.
|
|
7
|
-
"resolved": "https://registry.npmjs.org/@larksuiteoapi/node-sdk/-/node-sdk-1.62.
|
|
8
|
-
"integrity": "sha512-
|
|
6
|
+
"version": "1.62.1",
|
|
7
|
+
"resolved": "https://registry.npmjs.org/@larksuiteoapi/node-sdk/-/node-sdk-1.62.1.tgz",
|
|
8
|
+
"integrity": "sha512-o9oAjv5Ffnp/6iXIJLHrO6N0US/r2ZZy3xmO6ylGegjuVSC05cx0fADA38Dc1h0FV8T9BDK+ariWk84TNMGbKg==",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"axios": "~1.13.3",
|
|
@@ -146,19 +146,21 @@ function getSdkVersion() {
|
|
|
146
146
|
function sanitizeSource(raw) {
|
|
147
147
|
return raw.replace(/[^a-zA-Z0-9._-]/g, '_').slice(0, 64);
|
|
148
148
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
149
|
+
function buildUserAgent(source, opts) {
|
|
150
|
+
let ua = `oapi-node-sdk/${getSdkVersion()}`;
|
|
151
|
+
if (source) {
|
|
152
|
+
const clean = sanitizeSource(source);
|
|
153
|
+
if (clean)
|
|
154
|
+
ua += ` source/${clean}`;
|
|
155
|
+
}
|
|
156
|
+
if (opts === null || opts === void 0 ? void 0 : opts.extraTags) {
|
|
157
|
+
for (const t of opts.extraTags) {
|
|
158
|
+
const clean = sanitizeSource(t);
|
|
159
|
+
if (clean)
|
|
160
|
+
ua += ` ${clean}`;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return ua;
|
|
162
164
|
}
|
|
163
165
|
|
|
164
166
|
const defaultHttpInstance = axios.create();
|
|
@@ -83993,7 +83995,7 @@ class Client extends Client$1 {
|
|
|
83993
83995
|
this.appId = params.appId;
|
|
83994
83996
|
this.appSecret = params.appSecret;
|
|
83995
83997
|
this.disableTokenCache = params.disableTokenCache;
|
|
83996
|
-
this.userAgent = buildUserAgent(params.source);
|
|
83998
|
+
this.userAgent = buildUserAgent(params.source, { extraTags: params.extraUaTags });
|
|
83997
83999
|
assert(!this.appId, () => this.logger.error('appId is needed'));
|
|
83998
84000
|
assert(!this.appSecret, () => this.logger.error('appSecret is needed'));
|
|
83999
84001
|
this.helpDeskId = params.helpDeskId;
|
|
@@ -85362,8 +85364,8 @@ class WSClient {
|
|
|
85362
85364
|
/** True if the WS has ever connected successfully in this client's
|
|
85363
85365
|
* lifetime — used to distinguish first-connect from reconnect. */
|
|
85364
85366
|
this.hasEverConnected = false;
|
|
85365
|
-
const { appId, appSecret, agent, domain = Domain.Feishu, httpInstance = defaultHttpInstance, loggerLevel = LoggerLevel.info, logger = defaultLogger, autoReconnect = true, source, onReady, onError, onReconnecting, onReconnected, } = params;
|
|
85366
|
-
this.userAgent = buildUserAgent(source);
|
|
85367
|
+
const { appId, appSecret, agent, domain = Domain.Feishu, httpInstance = defaultHttpInstance, loggerLevel = LoggerLevel.info, logger = defaultLogger, autoReconnect = true, source, extraUaTags, onReady, onError, onReconnecting, onReconnected, } = params;
|
|
85368
|
+
this.userAgent = buildUserAgent(source, { extraTags: extraUaTags });
|
|
85367
85369
|
this.logger = new LoggerProxy(loggerLevel, logger);
|
|
85368
85370
|
assert(!appId, () => this.logger.error('appId is needed'));
|
|
85369
85371
|
assert(!appSecret, () => this.logger.error('appSecret is needed'));
|
|
@@ -89328,6 +89330,7 @@ class LarkChannel {
|
|
|
89328
89330
|
logger: opts.logger,
|
|
89329
89331
|
loggerLevel: opts.loggerLevel,
|
|
89330
89332
|
source: opts.source,
|
|
89333
|
+
extraUaTags: ['channel'],
|
|
89331
89334
|
});
|
|
89332
89335
|
this.dispatcher = new EventDispatcher({
|
|
89333
89336
|
verificationToken: (_d = opts.webhook) === null || _d === void 0 ? void 0 : _d.verificationToken,
|
|
@@ -89405,6 +89408,7 @@ class LarkChannel {
|
|
|
89405
89408
|
httpInstance: this.opts.httpInstance,
|
|
89406
89409
|
autoReconnect: true,
|
|
89407
89410
|
source: this.opts.source,
|
|
89411
|
+
extraUaTags: ['channel'],
|
|
89408
89412
|
onReady: () => {
|
|
89409
89413
|
if (settled)
|
|
89410
89414
|
return;
|
|
@@ -164,19 +164,21 @@ function getSdkVersion() {
|
|
|
164
164
|
function sanitizeSource(raw) {
|
|
165
165
|
return raw.replace(/[^a-zA-Z0-9._-]/g, '_').slice(0, 64);
|
|
166
166
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
167
|
+
function buildUserAgent(source, opts) {
|
|
168
|
+
let ua = `oapi-node-sdk/${getSdkVersion()}`;
|
|
169
|
+
if (source) {
|
|
170
|
+
const clean = sanitizeSource(source);
|
|
171
|
+
if (clean)
|
|
172
|
+
ua += ` source/${clean}`;
|
|
173
|
+
}
|
|
174
|
+
if (opts === null || opts === void 0 ? void 0 : opts.extraTags) {
|
|
175
|
+
for (const t of opts.extraTags) {
|
|
176
|
+
const clean = sanitizeSource(t);
|
|
177
|
+
if (clean)
|
|
178
|
+
ua += ` ${clean}`;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return ua;
|
|
180
182
|
}
|
|
181
183
|
|
|
182
184
|
const defaultHttpInstance = axios__default["default"].create();
|
|
@@ -84011,7 +84013,7 @@ class Client extends Client$1 {
|
|
|
84011
84013
|
this.appId = params.appId;
|
|
84012
84014
|
this.appSecret = params.appSecret;
|
|
84013
84015
|
this.disableTokenCache = params.disableTokenCache;
|
|
84014
|
-
this.userAgent = buildUserAgent(params.source);
|
|
84016
|
+
this.userAgent = buildUserAgent(params.source, { extraTags: params.extraUaTags });
|
|
84015
84017
|
assert(!this.appId, () => this.logger.error('appId is needed'));
|
|
84016
84018
|
assert(!this.appSecret, () => this.logger.error('appSecret is needed'));
|
|
84017
84019
|
this.helpDeskId = params.helpDeskId;
|
|
@@ -85380,8 +85382,8 @@ class WSClient {
|
|
|
85380
85382
|
/** True if the WS has ever connected successfully in this client's
|
|
85381
85383
|
* lifetime — used to distinguish first-connect from reconnect. */
|
|
85382
85384
|
this.hasEverConnected = false;
|
|
85383
|
-
const { appId, appSecret, agent, domain = exports.Domain.Feishu, httpInstance = defaultHttpInstance, loggerLevel = exports.LoggerLevel.info, logger = defaultLogger, autoReconnect = true, source, onReady, onError, onReconnecting, onReconnected, } = params;
|
|
85384
|
-
this.userAgent = buildUserAgent(source);
|
|
85385
|
+
const { appId, appSecret, agent, domain = exports.Domain.Feishu, httpInstance = defaultHttpInstance, loggerLevel = exports.LoggerLevel.info, logger = defaultLogger, autoReconnect = true, source, extraUaTags, onReady, onError, onReconnecting, onReconnected, } = params;
|
|
85386
|
+
this.userAgent = buildUserAgent(source, { extraTags: extraUaTags });
|
|
85385
85387
|
this.logger = new LoggerProxy(loggerLevel, logger);
|
|
85386
85388
|
assert(!appId, () => this.logger.error('appId is needed'));
|
|
85387
85389
|
assert(!appSecret, () => this.logger.error('appSecret is needed'));
|
|
@@ -89346,6 +89348,7 @@ class LarkChannel {
|
|
|
89346
89348
|
logger: opts.logger,
|
|
89347
89349
|
loggerLevel: opts.loggerLevel,
|
|
89348
89350
|
source: opts.source,
|
|
89351
|
+
extraUaTags: ['channel'],
|
|
89349
89352
|
});
|
|
89350
89353
|
this.dispatcher = new EventDispatcher({
|
|
89351
89354
|
verificationToken: (_d = opts.webhook) === null || _d === void 0 ? void 0 : _d.verificationToken,
|
|
@@ -89423,6 +89426,7 @@ class LarkChannel {
|
|
|
89423
89426
|
httpInstance: this.opts.httpInstance,
|
|
89424
89427
|
autoReconnect: true,
|
|
89425
89428
|
source: this.opts.source,
|
|
89429
|
+
extraUaTags: ['channel'],
|
|
89426
89430
|
onReady: () => {
|
|
89427
89431
|
if (settled)
|
|
89428
89432
|
return;
|
|
@@ -112,6 +112,8 @@ interface IClientParams {
|
|
|
112
112
|
httpInstance?: HttpInstance;
|
|
113
113
|
/** Caller tag appended to User-Agent as `source/<name>`. */
|
|
114
114
|
source?: string;
|
|
115
|
+
/** @internal Extra bare tokens appended to User-Agent, set by sub-modules. */
|
|
116
|
+
extraUaTags?: string[];
|
|
115
117
|
}
|
|
116
118
|
interface IPayload {
|
|
117
119
|
params?: Record<string, any>;
|
|
@@ -293052,6 +293054,8 @@ interface IConstructorParams {
|
|
|
293052
293054
|
agent?: any;
|
|
293053
293055
|
/** Caller tag appended to User-Agent as `source/<name>`. */
|
|
293054
293056
|
source?: string;
|
|
293057
|
+
/** @internal Extra bare tokens appended to User-Agent, set by sub-modules. */
|
|
293058
|
+
extraUaTags?: string[];
|
|
293055
293059
|
/** Fires once when the first WebSocket handshake succeeds. */
|
|
293056
293060
|
onReady?: () => void;
|
|
293057
293061
|
/**
|
|
@@ -112,7 +112,7 @@ import { t as ensureOpenClawCliOnPath } from "./path-env-CnuZbAnP.js";
|
|
|
112
112
|
import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-CXOUipYm.js";
|
|
113
113
|
import { t as readSecretFromFile } from "./secret-file-Yxvhw2BY.js";
|
|
114
114
|
import { t as buildChannelUiCatalog } from "./catalog-CXSV1A5r.js";
|
|
115
|
-
import { a as redactConfigSnapshot, i as redactConfigObject, o as restoreRedactedValues, r as lookupConfigSchema, t as loadGatewayRuntimeConfigSchema } from "./runtime-schema-
|
|
115
|
+
import { a as redactConfigSnapshot, i as redactConfigObject, o as restoreRedactedValues, r as lookupConfigSchema, t as loadGatewayRuntimeConfigSchema } from "./runtime-schema-DUD60Mz3.js";
|
|
116
116
|
import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-T_YTt6aT.js";
|
|
117
117
|
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-CHc66k3d.js";
|
|
118
118
|
import { i as discoverGatewayBeacons, n as buildGatewayDiscoveryTarget, r as serializeGatewayDiscoveryBeacon } from "./gateway-discovery-targets-DmW9k0_i.js";
|
|
@@ -123,7 +123,7 @@ import { n as formatPluginInstallPathIssue, t as detectPluginInstallPathIssue }
|
|
|
123
123
|
import { s as normalizeUpdateChannel } from "./update-channels-B-xUHsxn.js";
|
|
124
124
|
import { n as compareSemverStrings, o as resolveNpmChannelTag, t as checkUpdateStatus } from "./update-check-CBvDyb4y.js";
|
|
125
125
|
import { i as resolveGatewayStartupPluginIds, r as resolveConfiguredDeferredChannelPluginIds } from "./channel-plugin-ids-DNcOBw7g.js";
|
|
126
|
-
import { t as runSetupWizard } from "./setup-
|
|
126
|
+
import { t as runSetupWizard } from "./setup-D7aEmeVi.js";
|
|
127
127
|
import { _ as buildGogWatchStartArgs, g as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, w as resolveGmailHookRuntimeConfig } from "./gmail-setup-utils-wQyeJrgH.js";
|
|
128
128
|
import { _ as coerceFiniteScheduleNumber, g as normalizeStoredCronJobs, n as runGatewayUpdate, t as runStartupMatrixMigration, v as computeNextRunAtMs, y as computePreviousRunAtMs } from "./server-startup-matrix-migration-IRd288cT.js";
|
|
129
129
|
import { i as loadAgentIdentity, o as pruneAgentConfig, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-B2ywJN0y.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-gheufJJy.js"), import("./run-main-
|
|
31
|
+
const [{ installGaxiosFetchCompat }, { runCli }] = await Promise.all([import("./gaxios-fetch-compat-gheufJJy.js"), import("./run-main-GxMMbcni.js")]);
|
|
32
32
|
return {
|
|
33
33
|
installGaxiosFetchCompat,
|
|
34
34
|
runCli
|
|
@@ -131,16 +131,25 @@ async function handleSpawn(payload, client) {
|
|
|
131
131
|
const { execFileSync } = await import("node:child_process");
|
|
132
132
|
execFileSync(sessionInvocation.command, sessionInvocation.argv, {
|
|
133
133
|
cwd,
|
|
134
|
-
timeout:
|
|
134
|
+
timeout: 3e4,
|
|
135
135
|
stdio: [
|
|
136
136
|
"ignore",
|
|
137
|
-
"
|
|
137
|
+
"pipe",
|
|
138
138
|
"pipe"
|
|
139
139
|
],
|
|
140
140
|
shell: sessionInvocation.shell,
|
|
141
141
|
windowsHide: sessionInvocation.windowsHide
|
|
142
142
|
});
|
|
143
|
-
} catch {
|
|
143
|
+
} catch (err) {
|
|
144
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
145
|
+
const rawStderr = asRecord(err)?.stderr;
|
|
146
|
+
const stderr = typeof rawStderr === "string" || Buffer.isBuffer(rawStderr) ? String(rawStderr).trim().slice(0, 500) : "";
|
|
147
|
+
await sendNodeEvent$1(client, "acp.error", {
|
|
148
|
+
acpSessionId,
|
|
149
|
+
error: `sessions new failed: ${message}${stderr ? ` | stderr: ${stderr}` : ""}`
|
|
150
|
+
});
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
144
153
|
await sendNodeEvent$1(client, "acp.spawned", {
|
|
145
154
|
acpSessionId,
|
|
146
155
|
agentCommand
|
|
@@ -10,7 +10,7 @@ import { n as WizardCancelledError } from "./setup-Cwl-lwyP.js";
|
|
|
10
10
|
import "./daemon-runtime-DOak7cvW.js";
|
|
11
11
|
import { c as normalizeGatewayTokenInput, d as randomToken, f as resolveControlUiLinks, g as waitForGatewayReachable, n as applyWizardMetadata, o as handleReset, r as ensureWorkspaceAndSessions, t as DEFAULT_WORKSPACE } from "./onboard-helpers-DwA3PlvE.js";
|
|
12
12
|
import { t as createClackPrompter } from "./clack-prompter-BiYDNc5T.js";
|
|
13
|
-
import { t as runSetupWizard } from "./setup-
|
|
13
|
+
import { t as runSetupWizard } from "./setup-D7aEmeVi.js";
|
|
14
14
|
import { a as resolveManifestProviderOnboardAuthFlags } from "./provider-auth-choices-dW54Fzji.js";
|
|
15
15
|
import { i as resolveDeprecatedAuthChoiceReplacement, n as isDeprecatedAuthChoice, r as normalizeLegacyOnboardAuthChoice, t as formatDeprecatedNonInteractiveAuthChoiceError } from "./auth-choice-legacy-BFKLMq1E.js";
|
|
16
16
|
import { r as applyLocalSetupWorkspaceConfig } from "./onboard-config-BL_lvk7T.js";
|
|
@@ -14552,6 +14552,6 @@ export declare const GENERATED_BASE_CONFIG_SCHEMA: {
|
|
|
14552
14552
|
readonly tags: ["security", "auth"];
|
|
14553
14553
|
};
|
|
14554
14554
|
};
|
|
14555
|
-
readonly version: "2026.3.28-beta.
|
|
14555
|
+
readonly version: "2026.3.28-beta.3";
|
|
14556
14556
|
readonly generatedAt: "2026-03-22T21:17:33.302Z";
|
|
14557
14557
|
};
|
|
@@ -7,7 +7,7 @@ import { n as VERSION } from "./version-pQXc43AL.js";
|
|
|
7
7
|
import { r as resolveCliName } from "./command-format-CR4nOXgc.js";
|
|
8
8
|
import { t as emitCliBanner } from "./banner-gsaJ6dcJ.js";
|
|
9
9
|
import { n as resolveCliChannelOptions } from "./channel-options-B67XtGim.js";
|
|
10
|
-
import { i as registerProgramCommands } from "./command-registry-
|
|
10
|
+
import { i as registerProgramCommands } from "./command-registry-B9bgU9hV.js";
|
|
11
11
|
import { n as setProgramContext } from "./program-context-Bv9xg3LZ.js";
|
|
12
12
|
import { t as isCommandJsonOutputMode } from "./json-mode-DP5Id_4L.js";
|
|
13
13
|
import "./ports-CC4LkdnK.js";
|
|
@@ -77,7 +77,7 @@ import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-BrDIQs
|
|
|
77
77
|
import { t as formatHealthCheckFailure } from "./health-format-DNIEVtuF.js";
|
|
78
78
|
import { a as stripUnknownConfigKeys, i as resolveConfigPathTarget, n as formatConfigPath, r as noteOpencodeProviderOverrides, t as runDoctorConfigPreflight } from "./doctor-config-preflight-DK3Q_2pH.js";
|
|
79
79
|
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-FRErTNTi.js";
|
|
80
|
-
import { n as doctorShellCompletion } from "./doctor-completion-
|
|
80
|
+
import { n as doctorShellCompletion } from "./doctor-completion-gl3VS5_j.js";
|
|
81
81
|
import { t as collectChannelStatusIssues } from "./channels-status-issues-DO14xH_0.js";
|
|
82
82
|
import { t as resolveDefaultChannelAccountContext } from "./channel-account-context-D68-LJee.js";
|
|
83
83
|
import { i as runLegacyStateMigrations, n as detectLegacyStateMigrations } from "./doctor-state-migrations-Csgc_Q_V.js";
|
|
@@ -10,7 +10,7 @@ import { n as openUrl, t as detectBrowserOpenSupport } from "./browser-open-jk8C
|
|
|
10
10
|
import { f as resolveControlUiLinks, i as formatControlUiSshHint } from "./onboard-helpers-DwA3PlvE.js";
|
|
11
11
|
import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-BraGXuAF.js";
|
|
12
12
|
import { r as resolveGatewayService } from "./service-B6FeS3ro.js";
|
|
13
|
-
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-
|
|
13
|
+
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-D0JcqEaf.js";
|
|
14
14
|
import path from "node:path";
|
|
15
15
|
import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
|
|
16
16
|
//#region src/infra/clipboard.ts
|
|
@@ -4,7 +4,7 @@ import { r as theme } from "./theme-D-TumEpz.js";
|
|
|
4
4
|
import { Yy as runCommandWithRuntime } from "./auth-profiles-TH_VkVvF.js";
|
|
5
5
|
import { a as resolveManifestProviderOnboardAuthFlags } from "./provider-auth-choices-dW54Fzji.js";
|
|
6
6
|
import { n as formatAuthChoiceChoicesForCli } from "./auth-choice-options-DaeqlsRG.js";
|
|
7
|
-
import { n as CORE_ONBOARD_AUTH_FLAGS, t as setupWizardCommand } from "./onboard-
|
|
7
|
+
import { n as CORE_ONBOARD_AUTH_FLAGS, t as setupWizardCommand } from "./onboard-D8mLBBSq.js";
|
|
8
8
|
//#region src/cli/program/register.onboard.ts
|
|
9
9
|
function resolveInstallDaemonFlag(command, opts) {
|
|
10
10
|
if (!command || typeof command !== "object") return;
|
|
@@ -6,7 +6,7 @@ import { QI as logConfigUpdated, VL as hasExplicitOptions, Yy as runCommandWithR
|
|
|
6
6
|
import { d as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR } from "./workspace-gGdwHCNO.js";
|
|
7
7
|
import { n as safeParseWithSchema } from "./zod-parse-DgsspuWq.js";
|
|
8
8
|
import { s as resolveSessionTranscriptsDir } from "./paths-CFxPq48L.js";
|
|
9
|
-
import { t as setupWizardCommand } from "./onboard-
|
|
9
|
+
import { t as setupWizardCommand } from "./onboard-D8mLBBSq.js";
|
|
10
10
|
import fs from "node:fs/promises";
|
|
11
11
|
import JSON5 from "json5";
|
|
12
12
|
import { z } from "zod";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as loadValidatedConfigForPluginRegistration, r as registerSubCliByName } from "./register.subclis-
|
|
1
|
+
import { n as loadValidatedConfigForPluginRegistration, r as registerSubCliByName } from "./register.subclis-D5PoU4cG.js";
|
|
2
2
|
import "./subcli-descriptors-BN4V8fAs.js";
|
|
3
3
|
export { loadValidatedConfigForPluginRegistration, registerSubCliByName };
|
|
@@ -58,7 +58,7 @@ const entries = [
|
|
|
58
58
|
description: "Run, inspect, and query the WebSocket Gateway",
|
|
59
59
|
hasSubcommands: true,
|
|
60
60
|
register: async (program) => {
|
|
61
|
-
(await import("./gateway-cli-
|
|
61
|
+
(await import("./gateway-cli-BPgXFsX-.js")).registerGatewayCli(program);
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
64
|
{
|
|
@@ -122,7 +122,7 @@ const entries = [
|
|
|
122
122
|
description: "Run and manage the headless node host service",
|
|
123
123
|
hasSubcommands: true,
|
|
124
124
|
register: async (program) => {
|
|
125
|
-
(await import("./node-cli-
|
|
125
|
+
(await import("./node-cli-C-NHDws4.js")).registerNodeCli(program);
|
|
126
126
|
}
|
|
127
127
|
},
|
|
128
128
|
{
|
|
@@ -264,7 +264,7 @@ const entries = [
|
|
|
264
264
|
description: "Update OpenClaw and inspect update channel status",
|
|
265
265
|
hasSubcommands: true,
|
|
266
266
|
register: async (program) => {
|
|
267
|
-
(await import("./update-cli-
|
|
267
|
+
(await import("./update-cli-CqrlF5yT.js")).registerUpdateCli(program);
|
|
268
268
|
}
|
|
269
269
|
},
|
|
270
270
|
{
|
|
@@ -272,7 +272,7 @@ const entries = [
|
|
|
272
272
|
description: "Generate shell completion script",
|
|
273
273
|
hasSubcommands: false,
|
|
274
274
|
register: async (program) => {
|
|
275
|
-
(await import("./completion-cli-
|
|
275
|
+
(await import("./completion-cli-Gj-f2vks.js")).registerCompletionCli(program);
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
];
|
|
@@ -175,7 +175,7 @@ const routes = [
|
|
|
175
175
|
const pathArg = positionals[0];
|
|
176
176
|
if (!pathArg) return false;
|
|
177
177
|
const json = hasFlag(argv, "--json");
|
|
178
|
-
const { runConfigGet } = await import("./config-cli-
|
|
178
|
+
const { runConfigGet } = await import("./config-cli-jZdsV_1z.js");
|
|
179
179
|
await runConfigGet({
|
|
180
180
|
path: pathArg,
|
|
181
181
|
json
|
|
@@ -190,7 +190,7 @@ const routes = [
|
|
|
190
190
|
if (!positionals || positionals.length !== 1) return false;
|
|
191
191
|
const pathArg = positionals[0];
|
|
192
192
|
if (!pathArg) return false;
|
|
193
|
-
const { runConfigUnset } = await import("./config-cli-
|
|
193
|
+
const { runConfigUnset } = await import("./config-cli-jZdsV_1z.js");
|
|
194
194
|
await runConfigUnset({ path: pathArg });
|
|
195
195
|
return true;
|
|
196
196
|
}
|
|
@@ -367,7 +367,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
367
367
|
}
|
|
368
368
|
if (await tryRouteCli(normalizedArgv)) return;
|
|
369
369
|
enableConsoleCapture();
|
|
370
|
-
const { buildProgram } = await import("./program-
|
|
370
|
+
const { buildProgram } = await import("./program-CS3D__yJ.js");
|
|
371
371
|
const program = buildProgram();
|
|
372
372
|
const { installUnhandledRejectionHandler } = await import("./unhandled-rejections-BbX0Cjcp.js");
|
|
373
373
|
installUnhandledRejectionHandler();
|
|
@@ -381,10 +381,10 @@ async function runCli(argv = process$1.argv) {
|
|
|
381
381
|
const { getProgramContext } = await import("./program-context-B4zoT31i.js");
|
|
382
382
|
const ctx = getProgramContext(program);
|
|
383
383
|
if (ctx) {
|
|
384
|
-
const { registerCoreCliByName } = await import("./command-registry-
|
|
384
|
+
const { registerCoreCliByName } = await import("./command-registry-BuxJ5NtM.js");
|
|
385
385
|
await registerCoreCliByName(program, ctx, primary, parseArgv);
|
|
386
386
|
}
|
|
387
|
-
const { registerSubCliByName } = await import("./register.subclis-
|
|
387
|
+
const { registerSubCliByName } = await import("./register.subclis-Bdfqcaq1.js");
|
|
388
388
|
await registerSubCliByName(program, primary);
|
|
389
389
|
}
|
|
390
390
|
if (!shouldSkipPluginCommandRegistration({
|
|
@@ -393,7 +393,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
393
393
|
hasBuiltinPrimary: primary !== null && program.commands.some((command) => command.name() === primary)
|
|
394
394
|
})) {
|
|
395
395
|
const { registerPluginCliCommands } = await import("./cli-ZcS97SCb.js");
|
|
396
|
-
const { loadValidatedConfigForPluginRegistration } = await import("./register.subclis-
|
|
396
|
+
const { loadValidatedConfigForPluginRegistration } = await import("./register.subclis-Bdfqcaq1.js");
|
|
397
397
|
const config = await loadValidatedConfigForPluginRegistration();
|
|
398
398
|
if (config) registerPluginCliCommands(program, config);
|
|
399
399
|
}
|
|
@@ -14196,7 +14196,7 @@ const GENERATED_BASE_CONFIG_SCHEMA = {
|
|
|
14196
14196
|
tags: ["security", "auth"]
|
|
14197
14197
|
}
|
|
14198
14198
|
},
|
|
14199
|
-
version: "2026.3.28-beta.
|
|
14199
|
+
version: "2026.3.28-beta.3",
|
|
14200
14200
|
generatedAt: "2026-03-22T21:17:33.302Z"
|
|
14201
14201
|
};
|
|
14202
14202
|
//#endregion
|
|
@@ -409,7 +409,7 @@ async function runSetupWizard(opts, runtime = defaultRuntime, prompter) {
|
|
|
409
409
|
mode
|
|
410
410
|
});
|
|
411
411
|
await writeConfigFile(nextConfig);
|
|
412
|
-
const { finalizeSetupWizard } = await import("./setup.finalize-
|
|
412
|
+
const { finalizeSetupWizard } = await import("./setup.finalize-DT2NHFPD.js");
|
|
413
413
|
const { launchedTui } = await finalizeSetupWizard({
|
|
414
414
|
flow,
|
|
415
415
|
opts,
|
|
@@ -9,12 +9,12 @@ import { n as openUrl, t as detectBrowserOpenSupport } from "./browser-open-jk8C
|
|
|
9
9
|
import { f as resolveControlUiLinks, g as waitForGatewayReachable, i as formatControlUiSshHint, u as probeGatewayReachable } from "./onboard-helpers-DwA3PlvE.js";
|
|
10
10
|
import { r as resolveGatewayService, t as describeGatewayServiceRestart } from "./service-B6FeS3ro.js";
|
|
11
11
|
import { i as isSystemdUserServiceAvailable } from "./systemd-DLR8owrQ.js";
|
|
12
|
-
import { r as installCompletion } from "./completion-cli-
|
|
12
|
+
import { r as installCompletion } from "./completion-cli-CofiidKK.js";
|
|
13
13
|
import { r as healthCommand } from "./health-CGO48PhL.js";
|
|
14
14
|
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-wJIJo8fl.js";
|
|
15
15
|
import { t as resolveSetupSecretInputString } from "./setup.secret-input-CSdoGG0T.js";
|
|
16
16
|
import { t as formatHealthCheckFailure } from "./health-format-DNIEVtuF.js";
|
|
17
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
17
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-gl3VS5_j.js";
|
|
18
18
|
import { t as runTui } from "./tui-BgxbMFwK.js";
|
|
19
19
|
import path from "node:path";
|
|
20
20
|
import os from "node:os";
|
|
@@ -16,14 +16,14 @@ import { n as stylePromptMessage } from "./prompt-style-BraGXuAF.js";
|
|
|
16
16
|
import { r as resolveGatewayService } from "./service-B6FeS3ro.js";
|
|
17
17
|
import { r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-Btp5dxEF.js";
|
|
18
18
|
import { a as terminateStaleGatewayPids, i as renderRestartDiagnostics, s as waitForGatewayHealthyRestart } from "./status-Bobucbt4.js";
|
|
19
|
-
import { r as installCompletion } from "./completion-cli-
|
|
19
|
+
import { r as installCompletion } from "./completion-cli-CofiidKK.js";
|
|
20
20
|
import { n as renderTable, t as getTerminalTableWidth } from "./table-BCfvCJ3j.js";
|
|
21
21
|
import { c as resolveEffectiveUpdateChannel, i as formatUpdateChannelLabel, l as resolveUpdateChannelDisplay, r as channelToNpmTag, s as normalizeUpdateChannel } from "./update-channels-B-xUHsxn.js";
|
|
22
22
|
import { i as fetchNpmTagVersion, n as compareSemverStrings, o as resolveNpmChannelTag, r as fetchNpmPackageTargetStatus, t as checkUpdateStatus } from "./update-check-CBvDyb4y.js";
|
|
23
23
|
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-IRd288cT.js";
|
|
24
24
|
import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-CxPsOpIk.js";
|
|
25
|
-
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-
|
|
26
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
25
|
+
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-D0JcqEaf.js";
|
|
26
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-gl3VS5_j.js";
|
|
27
27
|
import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-B910Rm5P.js";
|
|
28
28
|
import path from "node:path";
|
|
29
29
|
import { spawn, spawnSync } from "node:child_process";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marxbiotech/openclaw",
|
|
3
|
-
"version": "2026.3.28-beta.
|
|
3
|
+
"version": "2026.3.28-beta.3",
|
|
4
4
|
"description": "Multi-channel AI gateway with extensible messaging integrations",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"homepage": "https://github.com/marxbiotech/openclaw#readme",
|