@openclaw-cloud/agent-controller 3.6.1 → 3.6.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/api.d.ts +2 -14
- package/dist/api.js +1 -15
- package/dist/api.js.map +1 -1
- package/dist/commands/agent-update-cli.js +0 -7
- package/dist/commands/agent-update-cli.js.map +1 -1
- package/dist/commands/bootstrap.d.ts +0 -10
- package/dist/commands/bootstrap.js +2 -16
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/channel-server.d.ts +0 -16
- package/dist/commands/channel-server.js +1 -19
- package/dist/commands/channel-server.js.map +1 -1
- package/dist/commands/deploy-cli.js +2 -12
- package/dist/commands/deploy-cli.js.map +1 -1
- package/dist/commands/diagnostics-cli.js +0 -6
- package/dist/commands/diagnostics-cli.js.map +1 -1
- package/dist/commands/install-deps.d.ts +0 -10
- package/dist/commands/install-deps.js +1 -10
- package/dist/commands/install-deps.js.map +1 -1
- package/dist/commands/install.js +0 -6
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/package-install-cli.js +1 -14
- package/dist/commands/package-install-cli.js.map +1 -1
- package/dist/commands/plugin-update-cli.js +1 -8
- package/dist/commands/plugin-update-cli.js.map +1 -1
- package/dist/commands/restart-cli.js +0 -4
- package/dist/commands/restart-cli.js.map +1 -1
- package/dist/commands/self-update.d.ts +2 -24
- package/dist/commands/self-update.js +5 -54
- package/dist/commands/self-update.js.map +1 -1
- package/dist/commands/stop-cli.d.ts +0 -4
- package/dist/commands/stop-cli.js +1 -24
- package/dist/commands/stop-cli.js.map +1 -1
- package/dist/config-file.d.ts +3 -20
- package/dist/config-file.js +3 -22
- package/dist/config-file.js.map +1 -1
- package/dist/config.d.ts +0 -22
- package/dist/config.js +1 -34
- package/dist/config.js.map +1 -1
- package/dist/connection.js +2 -39
- package/dist/connection.js.map +1 -1
- package/dist/handlers/agent-update.d.ts +1 -21
- package/dist/handlers/agent-update.js +1 -21
- package/dist/handlers/agent-update.js.map +1 -1
- package/dist/handlers/chat.d.ts +0 -8
- package/dist/handlers/chat.js +3 -23
- package/dist/handlers/chat.js.map +1 -1
- package/dist/handlers/file-write.js +1 -4
- package/dist/handlers/file-write.js.map +1 -1
- package/dist/handlers/memory.d.ts +1 -9
- package/dist/handlers/memory.js +3 -25
- package/dist/handlers/memory.js.map +1 -1
- package/dist/handlers/onboarding.js +0 -2
- package/dist/handlers/onboarding.js.map +1 -1
- package/dist/handlers/pair.js +1 -3
- package/dist/handlers/pair.js.map +1 -1
- package/dist/handlers/plugin-update.d.ts +1 -16
- package/dist/handlers/plugin-update.js +1 -16
- package/dist/handlers/plugin-update.js.map +1 -1
- package/dist/handlers/restart.js +0 -2
- package/dist/handlers/restart.js.map +1 -1
- package/dist/handlers/self-update.d.ts +2 -29
- package/dist/handlers/self-update.js +3 -35
- package/dist/handlers/self-update.js.map +1 -1
- package/dist/handlers/slack-event.d.ts +2 -9
- package/dist/handlers/slack-event.js +2 -10
- package/dist/handlers/slack-event.js.map +1 -1
- package/dist/heartbeat.d.ts +2 -12
- package/dist/heartbeat.js +3 -18
- package/dist/heartbeat.js.map +1 -1
- package/dist/index.js +6 -50
- package/dist/index.js.map +1 -1
- package/dist/lockfile.d.ts +0 -7
- package/dist/lockfile.js +0 -9
- package/dist/lockfile.js.map +1 -1
- package/dist/memory-mcp-server.d.ts +1 -19
- package/dist/memory-mcp-server.js +5 -53
- package/dist/memory-mcp-server.js.map +1 -1
- package/dist/mock-board-worker.d.ts +2 -25
- package/dist/mock-board-worker.js +7 -54
- package/dist/mock-board-worker.js.map +1 -1
- package/dist/platform/linux.js +0 -3
- package/dist/platform/linux.js.map +1 -1
- package/dist/platform/macos.js +0 -2
- package/dist/platform/macos.js.map +1 -1
- package/dist/providers/chat-types.d.ts +0 -3
- package/dist/providers/chat-types.js +0 -3
- package/dist/providers/chat-types.js.map +1 -1
- package/dist/providers/claude-code/channel-server.d.ts +0 -19
- package/dist/providers/claude-code/channel-server.js +0 -19
- package/dist/providers/claude-code/channel-server.js.map +1 -1
- package/dist/providers/claude-code/index.d.ts +0 -22
- package/dist/providers/claude-code/index.js +3 -26
- package/dist/providers/claude-code/index.js.map +1 -1
- package/dist/providers/claude-code/login-flow.d.ts +0 -17
- package/dist/providers/claude-code/login-flow.js +2 -16
- package/dist/providers/claude-code/login-flow.js.map +1 -1
- package/dist/providers/claude-code/settings-writer.d.ts +1 -16
- package/dist/providers/claude-code/settings-writer.js +5 -20
- package/dist/providers/claude-code/settings-writer.js.map +1 -1
- package/dist/providers/claude-code/socket-bridge.d.ts +0 -35
- package/dist/providers/claude-code/socket-bridge.js +2 -43
- package/dist/providers/claude-code/socket-bridge.js.map +1 -1
- package/dist/providers/claude-code/spawn-claude.d.ts +0 -17
- package/dist/providers/claude-code/spawn-claude.js +1 -15
- package/dist/providers/claude-code/spawn-claude.js.map +1 -1
- package/dist/providers/index.d.ts +1 -10
- package/dist/providers/index.js +2 -13
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/mock/index.d.ts +0 -4
- package/dist/providers/mock/index.js +0 -4
- package/dist/providers/mock/index.js.map +1 -1
- package/dist/providers/openclaw/auto-pair.d.ts +1 -6
- package/dist/providers/openclaw/auto-pair.js +1 -10
- package/dist/providers/openclaw/auto-pair.js.map +1 -1
- package/dist/providers/openclaw/device-identity.d.ts +1 -1
- package/dist/providers/openclaw/device-identity.js +33 -17
- package/dist/providers/openclaw/device-identity.js.map +1 -1
- package/dist/providers/openclaw/gateway-adapter.d.ts +0 -5
- package/dist/providers/openclaw/gateway-adapter.js +4 -32
- package/dist/providers/openclaw/gateway-adapter.js.map +1 -1
- package/dist/providers/openclaw/gateway-client.js +3 -9
- package/dist/providers/openclaw/gateway-client.js.map +1 -1
- package/dist/providers/openclaw/index.js +2 -15
- package/dist/providers/openclaw/index.js.map +1 -1
- package/dist/providers/types.d.ts +0 -10
- package/dist/slack-relay-server.d.ts +4 -33
- package/dist/slack-relay-server.js +9 -57
- package/dist/slack-relay-server.js.map +1 -1
- package/dist/types.d.ts +1 -12
- package/dist/types.js +0 -6
- package/dist/types.js.map +1 -1
- package/dist/utils/agent-controller-bin.d.ts +0 -6
- package/dist/utils/agent-controller-bin.js +1 -21
- package/dist/utils/agent-controller-bin.js.map +1 -1
- package/dist/utils/anthropic-auth.d.ts +1 -22
- package/dist/utils/anthropic-auth.js +0 -10
- package/dist/utils/anthropic-auth.js.map +1 -1
- package/dist/utils/apply-config.d.ts +8 -68
- package/dist/utils/apply-config.js +75 -203
- package/dist/utils/apply-config.js.map +1 -1
- package/dist/utils/backup-push.d.ts +0 -10
- package/dist/utils/backup-push.js +0 -15
- package/dist/utils/backup-push.js.map +1 -1
- package/dist/utils/claude-env.d.ts +1 -10
- package/dist/utils/claude-env.js +2 -14
- package/dist/utils/claude-env.js.map +1 -1
- package/dist/utils/config-merge-paths.d.ts +5 -43
- package/dist/utils/config-merge-paths.js +5 -43
- package/dist/utils/config-merge-paths.js.map +1 -1
- package/dist/utils/deploy-type.d.ts +1 -13
- package/dist/utils/deploy-type.js +2 -19
- package/dist/utils/deploy-type.js.map +1 -1
- package/dist/utils/diagnostics.d.ts +0 -7
- package/dist/utils/diagnostics.js +0 -15
- package/dist/utils/diagnostics.js.map +1 -1
- package/dist/utils/exec.d.ts +0 -10
- package/dist/utils/exec.js +2 -32
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/gateway-restart-handler.d.ts +1 -8
- package/dist/utils/gateway-restart-handler.js +1 -8
- package/dist/utils/gateway-restart-handler.js.map +1 -1
- package/dist/utils/gateway-restart.d.ts +1 -11
- package/dist/utils/gateway-restart.js +1 -11
- package/dist/utils/gateway-restart.js.map +1 -1
- package/dist/utils/knowledge-graph.d.ts +2 -25
- package/dist/utils/knowledge-graph.js +2 -37
- package/dist/utils/knowledge-graph.js.map +1 -1
- package/dist/utils/knowledge-push.d.ts +0 -4
- package/dist/utils/knowledge-push.js +4 -19
- package/dist/utils/knowledge-push.js.map +1 -1
- package/dist/utils/legacy-mcp-servers.d.ts +1 -11
- package/dist/utils/legacy-mcp-servers.js +1 -11
- package/dist/utils/legacy-mcp-servers.js.map +1 -1
- package/dist/utils/log-collector.js +0 -2
- package/dist/utils/log-collector.js.map +1 -1
- package/dist/utils/openclaw-ops.d.ts +5 -72
- package/dist/utils/openclaw-ops.js +6 -98
- package/dist/utils/openclaw-ops.js.map +1 -1
- package/dist/utils/openclaw-stack-update.d.ts +2 -14
- package/dist/utils/openclaw-stack-update.js +1 -6
- package/dist/utils/openclaw-stack-update.js.map +1 -1
- package/dist/utils/package-install.d.ts +0 -5
- package/dist/utils/package-install.js +2 -21
- package/dist/utils/package-install.js.map +1 -1
- package/dist/utils/package-version.d.ts +1 -9
- package/dist/utils/package-version.js +1 -9
- package/dist/utils/package-version.js.map +1 -1
- package/dist/utils/parse-id-at-version.d.ts +1 -11
- package/dist/utils/parse-id-at-version.js +1 -11
- package/dist/utils/parse-id-at-version.js.map +1 -1
- package/dist/utils/plugin-reconcile.d.ts +2 -33
- package/dist/utils/plugin-reconcile.js +7 -77
- package/dist/utils/plugin-reconcile.js.map +1 -1
- package/dist/utils/release-channel.d.ts +0 -8
- package/dist/utils/release-channel.js.map +1 -1
- package/dist/utils/write-home-files.d.ts +2 -24
- package/dist/utils/write-home-files.js +3 -27
- package/dist/utils/write-home-files.js.map +1 -1
- package/dist/utils/write-workspace-files.d.ts +0 -14
- package/dist/utils/write-workspace-files.js +1 -19
- package/dist/utils/write-workspace-files.js.map +1 -1
- package/dist/workspace.d.ts +1 -21
- package/dist/workspace.js +1 -21
- package/dist/workspace.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-flow.js","sourceRoot":"","sources":["../../../src/providers/claude-code/login-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAuC,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,GAAG,6CAA6C,CAAC;AAClE,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"login-flow.js","sourceRoot":"","sources":["../../../src/providers/claude-code/login-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +1,20 @@
|
|
|
1
1
|
export interface ClaudeCodeSettingsContext {
|
|
2
|
-
/** Absolute path to the Claude workspace (cwd of `claude` process) */
|
|
3
2
|
workspaceDir: string;
|
|
4
|
-
/** Anthropic API key. If prefixed with `sk-ant-oat` → treated as OAuth token. */
|
|
5
3
|
anthropicApiKey?: string;
|
|
6
|
-
/** Alternative: explicit auth token (takes precedence over anthropicApiKey) */
|
|
7
4
|
anthropicAuthToken?: string;
|
|
8
|
-
/** Backend URL for the openclaw-backend MCP server entry */
|
|
9
5
|
backendUrl?: string;
|
|
10
|
-
/** Bearer token for the openclaw-backend MCP server */
|
|
11
6
|
agentToken?: string;
|
|
12
|
-
/** Content of CLAUDE.md to write into the workspace (persona / bootstrap) */
|
|
13
7
|
claudeMdContent?: string;
|
|
14
|
-
/** Port of the local agent-memory MCP server (defaults to 3457). */
|
|
15
8
|
memoryMcpPort?: number;
|
|
16
9
|
/**
|
|
17
10
|
* Bearer token for the local agent-memory MCP server. Omitted only when the
|
|
18
11
|
* token file could not be read — that server then answers 401.
|
|
19
12
|
*/
|
|
20
13
|
memoryMcpToken?: string;
|
|
21
|
-
/** Absolute path to the `agent-controller` bin. Defaults to `agent-controller` on PATH. */
|
|
22
14
|
agentControllerBin?: string;
|
|
23
|
-
/** Override the socket path (tests). */
|
|
24
15
|
channelSocketPath?: string;
|
|
25
16
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Write `.claude/settings.json`, `.mcp.json`, and `CLAUDE.md` into the workspace.
|
|
28
|
-
*
|
|
29
|
-
* Idempotent — overwrites each call. The permissions block and the OAuth-vs-
|
|
30
|
-
* API-key branch come from `buildClaudeSettings()`, shared with
|
|
31
|
-
* `src/utils/claude-env.ts`.
|
|
32
|
-
*/
|
|
17
|
+
/** Remove stale CLAUDE.md only when writing AGENTS.md, or Claude would load the persona twice. */
|
|
33
18
|
export declare function writeClaudeCodeSettings(ctx: ClaudeCodeSettingsContext): Promise<void>;
|
|
34
19
|
export declare function buildSettings(ctx: ClaudeCodeSettingsContext): Record<string, unknown>;
|
|
35
20
|
export declare function buildMcpJson(ctx: ClaudeCodeSettingsContext): Record<string, unknown>;
|
|
@@ -4,13 +4,7 @@ import { config } from '../../config.js';
|
|
|
4
4
|
import { getAgentControllerBinPath } from '../../utils/agent-controller-bin.js';
|
|
5
5
|
import { buildClaudeSettings, classifyAnthropicAuth } from '../../utils/anthropic-auth.js';
|
|
6
6
|
import { logCollector } from '../../connection.js';
|
|
7
|
-
/**
|
|
8
|
-
* Write `.claude/settings.json`, `.mcp.json`, and `CLAUDE.md` into the workspace.
|
|
9
|
-
*
|
|
10
|
-
* Idempotent — overwrites each call. The permissions block and the OAuth-vs-
|
|
11
|
-
* API-key branch come from `buildClaudeSettings()`, shared with
|
|
12
|
-
* `src/utils/claude-env.ts`.
|
|
13
|
-
*/
|
|
7
|
+
/** Remove stale CLAUDE.md only when writing AGENTS.md, or Claude would load the persona twice. */
|
|
14
8
|
export async function writeClaudeCodeSettings(ctx) {
|
|
15
9
|
const { workspaceDir } = ctx;
|
|
16
10
|
const dotClaude = path.join(workspaceDir, '.claude');
|
|
@@ -20,12 +14,11 @@ export async function writeClaudeCodeSettings(ctx) {
|
|
|
20
14
|
await fs.writeFile(path.join(dotClaude, 'settings.json'), JSON.stringify(buildSettings(ctx), null, 2) + '\n', { mode: 0o600 });
|
|
21
15
|
await fs.writeFile(path.join(workspaceDir, '.mcp.json'), JSON.stringify(buildMcpJson(ctx), null, 2) + '\n');
|
|
22
16
|
if (ctx.claudeMdContent !== undefined) {
|
|
23
|
-
await fs.writeFile(path.join(workspaceDir, '
|
|
17
|
+
await fs.writeFile(path.join(workspaceDir, 'AGENTS.md'), ctx.claudeMdContent);
|
|
18
|
+
// Only when we wrote AGENTS.md — otherwise a CLAUDE.md may be the user's own.
|
|
19
|
+
await fs.rm(path.join(workspaceDir, 'CLAUDE.md'), { force: true });
|
|
24
20
|
}
|
|
25
21
|
}
|
|
26
|
-
// ---------------------------------------------------------------------------
|
|
27
|
-
// Builders (exported for unit tests)
|
|
28
|
-
// ---------------------------------------------------------------------------
|
|
29
22
|
export function buildSettings(ctx) {
|
|
30
23
|
return buildClaudeSettings(classifyAnthropicAuth({
|
|
31
24
|
anthropicAuthToken: ctx.anthropicAuthToken,
|
|
@@ -38,7 +31,6 @@ export function buildMcpJson(ctx) {
|
|
|
38
31
|
'agent-memory': {
|
|
39
32
|
type: 'http',
|
|
40
33
|
url: `http://127.0.0.1:${memoryPort}/mcp`,
|
|
41
|
-
// The memory server requires a bearer token (see memory-mcp-server.ts).
|
|
42
34
|
...(ctx.memoryMcpToken ? { headers: { Authorization: `Bearer ${ctx.memoryMcpToken}` } } : {}),
|
|
43
35
|
},
|
|
44
36
|
};
|
|
@@ -51,14 +43,7 @@ export function buildMcpJson(ctx) {
|
|
|
51
43
|
headers: { Authorization: `Bearer ${token}` },
|
|
52
44
|
};
|
|
53
45
|
}
|
|
54
|
-
//
|
|
55
|
-
// the `experimental.claude/channel` capability, so Claude routes inbound
|
|
56
|
-
// chat traffic through it (and invokes the `reply`/`edit_message` tools
|
|
57
|
-
// when it wants to reply to the user).
|
|
58
|
-
//
|
|
59
|
-
// We use a plain stdio MCP entry (Option B) rather than Claude's `--channels
|
|
60
|
-
// plugin:` install mechanism — it avoids any out-of-band plugin install
|
|
61
|
-
// step and works with stock Claude Code.
|
|
46
|
+
// A plain stdio MCP entry avoids requiring an out-of-band Claude plugin installation.
|
|
62
47
|
const explicitBin = ctx.agentControllerBin?.trim();
|
|
63
48
|
let binary;
|
|
64
49
|
if (explicitBin) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-writer.js","sourceRoot":"","sources":["../../../src/providers/claude-code/settings-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"settings-writer.js","sourceRoot":"","sources":["../../../src/providers/claude-code/settings-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
2
|
import type { ChannelReply, ChannelMessageMeta, ChannelReplyMeta } from './channel-server.js';
|
|
3
|
-
/**
|
|
4
|
-
* Unix-domain-socket bridge between the main agent-controller process and the
|
|
5
|
-
* channel-server worker that holds Claude Code's stdio MCP channel.
|
|
6
|
-
*
|
|
7
|
-
* Protocol: newline-delimited JSON. Ops:
|
|
8
|
-
* { op: "hello", pid } — worker → main
|
|
9
|
-
* { op: "reply", content, meta } — worker → main (Claude reply tool)
|
|
10
|
-
* { op: "edit", content, meta } — worker → main (Claude edit_message tool)
|
|
11
|
-
* { op: "push", content, meta } — main → worker (inbound chat msg)
|
|
12
|
-
*
|
|
13
|
-
* Liberal parsing: malformed lines are logged + dropped (never crash the link).
|
|
14
|
-
*/
|
|
15
3
|
export declare const DEFAULT_SOCKET_PATH: string;
|
|
16
|
-
/**
|
|
17
|
-
* Feed a chunk into a newline-delimited JSON accumulator. Returns the updated
|
|
18
|
-
* buffer (remaining, unterminated partial line) after invoking `onMessage`
|
|
19
|
-
* for each completed line that parses as JSON. Malformed lines invoke
|
|
20
|
-
* `onBadLine` (if provided) and are dropped.
|
|
21
|
-
*
|
|
22
|
-
* Extracted so the ChannelBridgeServer and ChannelBridgeClient can share
|
|
23
|
-
* the identical framing logic without duplication.
|
|
24
|
-
*/
|
|
25
4
|
export declare function ingestNdjsonLines<T>(buf: string, chunk: string, onMessage: (msg: Partial<T>) => void, onBadLine?: () => void): string;
|
|
26
5
|
export type SocketOp = {
|
|
27
6
|
op: 'hello';
|
|
@@ -45,13 +24,6 @@ export interface ChannelBridgeServerEvents {
|
|
|
45
24
|
close: [];
|
|
46
25
|
error: [err: Error];
|
|
47
26
|
}
|
|
48
|
-
/**
|
|
49
|
-
* Server side — lives in the main agent-controller process.
|
|
50
|
-
*
|
|
51
|
-
* Accepts exactly one worker connection (extras are rejected + closed). Emits
|
|
52
|
-
* reply/edit ops; callers invoke `push(content, meta)` to emit an inbound
|
|
53
|
-
* chat message to the worker.
|
|
54
|
-
*/
|
|
55
27
|
export declare class ChannelBridgeServer extends EventEmitter {
|
|
56
28
|
private readonly opts;
|
|
57
29
|
private server;
|
|
@@ -65,18 +37,11 @@ export declare class ChannelBridgeServer extends EventEmitter {
|
|
|
65
37
|
private handleConnection;
|
|
66
38
|
private ingest;
|
|
67
39
|
private dispatch;
|
|
68
|
-
/** Push an inbound chat message to the worker (→ Claude MCP notification). */
|
|
69
40
|
push(content: string, meta: ChannelMessageMeta): void;
|
|
70
41
|
private write;
|
|
71
42
|
close(): Promise<void>;
|
|
72
43
|
isConnected(): boolean;
|
|
73
44
|
}
|
|
74
|
-
/**
|
|
75
|
-
* Client side — lives in the channel-server worker subprocess.
|
|
76
|
-
*
|
|
77
|
-
* Connects to the bridge socket with retry/backoff (up to 30s). Parses
|
|
78
|
-
* incoming `push` ops and forwards outgoing `reply`/`edit` ops.
|
|
79
|
-
*/
|
|
80
45
|
export declare class ChannelBridgeClient extends EventEmitter {
|
|
81
46
|
private readonly opts;
|
|
82
47
|
private sock;
|
|
@@ -5,28 +5,7 @@ import os from 'node:os';
|
|
|
5
5
|
import { EventEmitter } from 'node:events';
|
|
6
6
|
import { logCollector } from '../../connection.js';
|
|
7
7
|
import { toErrorMessage } from '../../utils/response.js';
|
|
8
|
-
/**
|
|
9
|
-
* Unix-domain-socket bridge between the main agent-controller process and the
|
|
10
|
-
* channel-server worker that holds Claude Code's stdio MCP channel.
|
|
11
|
-
*
|
|
12
|
-
* Protocol: newline-delimited JSON. Ops:
|
|
13
|
-
* { op: "hello", pid } — worker → main
|
|
14
|
-
* { op: "reply", content, meta } — worker → main (Claude reply tool)
|
|
15
|
-
* { op: "edit", content, meta } — worker → main (Claude edit_message tool)
|
|
16
|
-
* { op: "push", content, meta } — main → worker (inbound chat msg)
|
|
17
|
-
*
|
|
18
|
-
* Liberal parsing: malformed lines are logged + dropped (never crash the link).
|
|
19
|
-
*/
|
|
20
8
|
export const DEFAULT_SOCKET_PATH = path.join(os.homedir(), '.openclaw', 'claude-channel.sock');
|
|
21
|
-
/**
|
|
22
|
-
* Feed a chunk into a newline-delimited JSON accumulator. Returns the updated
|
|
23
|
-
* buffer (remaining, unterminated partial line) after invoking `onMessage`
|
|
24
|
-
* for each completed line that parses as JSON. Malformed lines invoke
|
|
25
|
-
* `onBadLine` (if provided) and are dropped.
|
|
26
|
-
*
|
|
27
|
-
* Extracted so the ChannelBridgeServer and ChannelBridgeClient can share
|
|
28
|
-
* the identical framing logic without duplication.
|
|
29
|
-
*/
|
|
30
9
|
export function ingestNdjsonLines(buf, chunk, onMessage, onBadLine) {
|
|
31
10
|
let updated = buf + chunk;
|
|
32
11
|
let idx;
|
|
@@ -44,13 +23,6 @@ export function ingestNdjsonLines(buf, chunk, onMessage, onBadLine) {
|
|
|
44
23
|
}
|
|
45
24
|
return updated;
|
|
46
25
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Server side — lives in the main agent-controller process.
|
|
49
|
-
*
|
|
50
|
-
* Accepts exactly one worker connection (extras are rejected + closed). Emits
|
|
51
|
-
* reply/edit ops; callers invoke `push(content, meta)` to emit an inbound
|
|
52
|
-
* chat message to the worker.
|
|
53
|
-
*/
|
|
54
26
|
export class ChannelBridgeServer extends EventEmitter {
|
|
55
27
|
opts;
|
|
56
28
|
server = null;
|
|
@@ -59,9 +31,7 @@ export class ChannelBridgeServer extends EventEmitter {
|
|
|
59
31
|
constructor(opts = {}) {
|
|
60
32
|
super();
|
|
61
33
|
this.opts = opts;
|
|
62
|
-
//
|
|
63
|
-
// into an unhandled-exception process crash if no external listener is
|
|
64
|
-
// registered. External callers can still attach their own listener.
|
|
34
|
+
// A default error listener prevents re-emitted server errors from crashing callers without a listener.
|
|
65
35
|
this.on('error', () => {
|
|
66
36
|
/* no-op */
|
|
67
37
|
});
|
|
@@ -82,10 +52,7 @@ export class ChannelBridgeServer extends EventEmitter {
|
|
|
82
52
|
return new Promise((resolve, reject) => {
|
|
83
53
|
const srv = net.createServer((sock) => this.handleConnection(sock));
|
|
84
54
|
let bound = false;
|
|
85
|
-
//
|
|
86
|
-
// the promise; after bind, it's a runtime error emitted to listeners.
|
|
87
|
-
// This removes the previous two-listener dance (once + on) and the
|
|
88
|
-
// brittle cross-removeListener cleanup on success.
|
|
55
|
+
// Before bind, errors reject listen(); afterwards they must reach runtime listeners.
|
|
89
56
|
const onError = (err) => {
|
|
90
57
|
if (!bound) {
|
|
91
58
|
reject(err);
|
|
@@ -159,7 +126,6 @@ export class ChannelBridgeServer extends EventEmitter {
|
|
|
159
126
|
logCollector?.push('channel_bridge_unknown_op', 'warn', `unknown op: ${String(msg.op)}`);
|
|
160
127
|
}
|
|
161
128
|
}
|
|
162
|
-
/** Push an inbound chat message to the worker (→ Claude MCP notification). */
|
|
163
129
|
push(content, meta) {
|
|
164
130
|
this.write({ op: 'push', content, meta });
|
|
165
131
|
}
|
|
@@ -199,12 +165,6 @@ export class ChannelBridgeServer extends EventEmitter {
|
|
|
199
165
|
return !!this.active;
|
|
200
166
|
}
|
|
201
167
|
}
|
|
202
|
-
/**
|
|
203
|
-
* Client side — lives in the channel-server worker subprocess.
|
|
204
|
-
*
|
|
205
|
-
* Connects to the bridge socket with retry/backoff (up to 30s). Parses
|
|
206
|
-
* incoming `push` ops and forwards outgoing `reply`/`edit` ops.
|
|
207
|
-
*/
|
|
208
168
|
export class ChannelBridgeClient extends EventEmitter {
|
|
209
169
|
opts;
|
|
210
170
|
sock = null;
|
|
@@ -221,7 +181,6 @@ export class ChannelBridgeClient extends EventEmitter {
|
|
|
221
181
|
const maxWait = this.opts.maxWaitMs ?? 30_000;
|
|
222
182
|
const started = Date.now();
|
|
223
183
|
let attempt = 0;
|
|
224
|
-
// Retry with capped exponential backoff while the main process comes up.
|
|
225
184
|
while (true) {
|
|
226
185
|
try {
|
|
227
186
|
await this.connectOnce();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-bridge.js","sourceRoot":"","sources":["../../../src/providers/claude-code/socket-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD
|
|
1
|
+
{"version":3,"file":"socket-bridge.js","sourceRoot":"","sources":["../../../src/providers/claude-code/socket-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { spawn, type ChildProcess } from 'node:child_process';
|
|
2
2
|
import { EventEmitter } from 'node:events';
|
|
3
3
|
export interface SpawnClaudeDeps {
|
|
4
|
-
/** Working directory for the claude process (workspace). */
|
|
5
4
|
workspaceDir: string;
|
|
6
|
-
/** Channels plugin flag argument (defaults to `plugin:agent-controller`). */
|
|
7
5
|
channelsFlag?: string;
|
|
8
|
-
/** Extra CLI flags to append. */
|
|
9
6
|
extraArgs?: string[];
|
|
10
|
-
/** Environment variables to merge on top of process.env. */
|
|
11
7
|
env?: Record<string, string | undefined>;
|
|
12
8
|
/**
|
|
13
9
|
* Pass `--dangerously-load-development-channels` to claude. Only needed
|
|
@@ -15,21 +11,9 @@ export interface SpawnClaudeDeps {
|
|
|
15
11
|
* production flows do not require it. Default: `false`.
|
|
16
12
|
*/
|
|
17
13
|
danglyDev?: boolean;
|
|
18
|
-
/** Override spawn (tests). */
|
|
19
14
|
spawnFn?: typeof spawn;
|
|
20
|
-
/** Max retries on crash (default 5). */
|
|
21
15
|
maxRetries?: number;
|
|
22
16
|
}
|
|
23
|
-
/**
|
|
24
|
-
* Supervise a `claude` subprocess. Emits:
|
|
25
|
-
* - `stderr` (Buffer)
|
|
26
|
-
* - `stdout` (Buffer)
|
|
27
|
-
* - `spawn` (ChildProcess)
|
|
28
|
-
* - `exit` (code|null, signal|null)
|
|
29
|
-
* - `gaveup` — too many crashes, no more restarts.
|
|
30
|
-
*
|
|
31
|
-
* Restart on crash with capped exponential backoff.
|
|
32
|
-
*/
|
|
33
17
|
export declare class ClaudeProcess extends EventEmitter {
|
|
34
18
|
private readonly deps;
|
|
35
19
|
private child;
|
|
@@ -40,7 +24,6 @@ export declare class ClaudeProcess extends EventEmitter {
|
|
|
40
24
|
start(): void;
|
|
41
25
|
private spawnOnce;
|
|
42
26
|
private buildArgs;
|
|
43
|
-
/** Send SIGINT to interrupt the current turn. */
|
|
44
27
|
interrupt(): void;
|
|
45
28
|
stop(): void;
|
|
46
29
|
isRunning(): boolean;
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { EventEmitter } from 'node:events';
|
|
3
3
|
import { logCollector } from '../../connection.js';
|
|
4
|
-
/**
|
|
5
|
-
* Supervise a `claude` subprocess. Emits:
|
|
6
|
-
* - `stderr` (Buffer)
|
|
7
|
-
* - `stdout` (Buffer)
|
|
8
|
-
* - `spawn` (ChildProcess)
|
|
9
|
-
* - `exit` (code|null, signal|null)
|
|
10
|
-
* - `gaveup` — too many crashes, no more restarts.
|
|
11
|
-
*
|
|
12
|
-
* Restart on crash with capped exponential backoff.
|
|
13
|
-
*/
|
|
14
4
|
export class ClaudeProcess extends EventEmitter {
|
|
15
5
|
deps;
|
|
16
6
|
child = null;
|
|
@@ -51,13 +41,10 @@ export class ClaudeProcess extends EventEmitter {
|
|
|
51
41
|
this.child = null;
|
|
52
42
|
if (this.shuttingDown)
|
|
53
43
|
return;
|
|
54
|
-
// Reset retries on a healthy long run
|
|
55
44
|
if (Date.now() - this.lastSpawnAt > 60_000)
|
|
56
45
|
this.retries = 0;
|
|
57
46
|
const maxRetries = this.deps.maxRetries ?? 5;
|
|
58
|
-
//
|
|
59
|
-
// Increment first, then check — so maxRetries=5 yields exactly 5 restarts
|
|
60
|
-
// (retry counts 1..5) before giving up on the 6th crash.
|
|
47
|
+
// maxRetries counts restarts, not crashes: give up on crash maxRetries + 1.
|
|
61
48
|
this.retries += 1;
|
|
62
49
|
if (this.retries > maxRetries) {
|
|
63
50
|
logCollector?.push('claude_giveup', 'error', `claude crashed too many times (${this.retries - 1}/${maxRetries}), giving up`);
|
|
@@ -82,7 +69,6 @@ export class ClaudeProcess extends EventEmitter {
|
|
|
82
69
|
args.push(...this.deps.extraArgs);
|
|
83
70
|
return args;
|
|
84
71
|
}
|
|
85
|
-
/** Send SIGINT to interrupt the current turn. */
|
|
86
72
|
interrupt() {
|
|
87
73
|
this.child?.kill('SIGINT');
|
|
88
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-claude.js","sourceRoot":"","sources":["../../../src/providers/claude-code/spawn-claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn-claude.js","sourceRoot":"","sources":["../../../src/providers/claude-code/spawn-claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,17 +8,8 @@ export { ClaudeCodeProvider } from './claude-code/index.js';
|
|
|
8
8
|
export type { ClaudeCodeProviderConfig } from './claude-code/index.js';
|
|
9
9
|
export declare function configureProvider(provider: IAgentProvider): void;
|
|
10
10
|
export declare function getProvider(): IAgentProvider | null;
|
|
11
|
-
/** For testing only — reset the global provider */
|
|
12
11
|
export declare function resetProvider(): void;
|
|
13
|
-
/**
|
|
14
|
-
* Build the provider named by `AGENT_PROVIDER` straight from `config`.
|
|
15
|
-
* Returns null for an unknown type so callers can fail with their own message.
|
|
16
|
-
*
|
|
17
|
-
* Deliberately does NOT install the result as the process-wide provider: the
|
|
18
|
-
* daemon installs it (and leaves it unset on purpose when the openclaw gateway
|
|
19
|
-
* token is missing, so chat fails fast), while `restartGateway()` builds a
|
|
20
|
-
* throwaway so a CLI invocation can restart without the daemon's chat wiring.
|
|
21
|
-
*/
|
|
12
|
+
/** CLI restarts need a throwaway provider; installing it globally would silently enable daemon chat. */
|
|
22
13
|
export declare function createProviderFromConfig(overrides?: {
|
|
23
14
|
backendUrl?: string;
|
|
24
15
|
agentToken?: string;
|
package/dist/providers/index.js
CHANGED
|
@@ -13,19 +13,10 @@ export function configureProvider(provider) {
|
|
|
13
13
|
export function getProvider() {
|
|
14
14
|
return _provider;
|
|
15
15
|
}
|
|
16
|
-
/** For testing only — reset the global provider */
|
|
17
16
|
export function resetProvider() {
|
|
18
17
|
_provider = null;
|
|
19
18
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Build the provider named by `AGENT_PROVIDER` straight from `config`.
|
|
22
|
-
* Returns null for an unknown type so callers can fail with their own message.
|
|
23
|
-
*
|
|
24
|
-
* Deliberately does NOT install the result as the process-wide provider: the
|
|
25
|
-
* daemon installs it (and leaves it unset on purpose when the openclaw gateway
|
|
26
|
-
* token is missing, so chat fails fast), while `restartGateway()` builds a
|
|
27
|
-
* throwaway so a CLI invocation can restart without the daemon's chat wiring.
|
|
28
|
-
*/
|
|
19
|
+
/** CLI restarts need a throwaway provider; installing it globally would silently enable daemon chat. */
|
|
29
20
|
export function createProviderFromConfig(overrides = {}) {
|
|
30
21
|
const type = appConfig.agentProvider;
|
|
31
22
|
if (type !== 'openclaw' && type !== 'mock' && type !== 'claude-code')
|
|
@@ -49,9 +40,7 @@ export function createProvider(type, config) {
|
|
|
49
40
|
return new MockProvider();
|
|
50
41
|
case 'claude-code':
|
|
51
42
|
return new ClaudeCodeProvider({
|
|
52
|
-
//
|
|
53
|
-
// shared workspace util so K8s / VM / standalone all resolve
|
|
54
|
-
// consistently (no hardcoded /home/ubuntu).
|
|
43
|
+
// Use the shared workspace resolver so K8s, VM and standalone paths stay consistent.
|
|
55
44
|
workspaceDir: config.workspaceDir ?? getWorkspaceDir(),
|
|
56
45
|
anthropicApiKey: config.anthropicApiKey,
|
|
57
46
|
anthropicAuthToken: config.anthropicAuthToken,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AAUnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,IAAI,SAAS,GAA0B,IAAI,CAAC;AAE5C,MAAM,UAAU,iBAAiB,CAAC,QAAwB;IACxD,SAAS,GAAG,QAAQ,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AAUnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,IAAI,SAAS,GAA0B,IAAI,CAAC;AAE5C,MAAM,UAAU,iBAAiB,CAAC,QAAwB;IACxD,SAAS,GAAG,QAAQ,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,wBAAwB,CACtC,YAA0D,EAAE;IAE5D,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC;IACrC,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAClF,OAAO,cAAc,CAAC,IAAI,EAAE;QAC1B,KAAK,EAAE,SAAS,CAAC,YAAY;QAC7B,OAAO,EAAE,SAAS,CAAC,YAAY;QAC/B,YAAY,EAAE,SAAS,CAAC,kBAAkB;QAC1C,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;QACpD,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU;QACxD,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU;KACzD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,MAA0C;IAE1C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,KAAK,IAAI,sBAAsB,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC5F,KAAK,MAAM;YACT,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B,KAAK,aAAa;YAChB,OAAO,IAAI,kBAAkB,CAAC;gBAC5B,qFAAqF;gBACrF,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,eAAe,EAAE;gBACtD,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;gBACjD,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC,CAAC,CAAC;QACL;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
|
|
@@ -5,10 +5,6 @@ export interface MockAction {
|
|
|
5
5
|
ms?: number;
|
|
6
6
|
body?: Record<string, unknown>;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Mock provider for testing. Does not connect to any external service.
|
|
10
|
-
* When sendMessage is called, it calls onDone with a mock response.
|
|
11
|
-
*/
|
|
12
8
|
export declare class MockProvider implements IAgentProvider {
|
|
13
9
|
readonly name = "mock";
|
|
14
10
|
private _connected;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/mock/index.ts"],"names":[],"mappings":"AASA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/mock/index.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,YAAY;IACd,IAAI,GAAG,MAAM,CAAC;IACf,UAAU,GAAG,KAAK,CAAC;IAE3B,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,UAAU;QACR,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAyB;QACzC,MAAM,YAAY,GAAG,gCAAgC,CAAC;QACtD,MAAM,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,WAAmB,EAAE,MAAe;QACnD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,WAAmB,EAAE,MAAe;QAC9C,QAAQ;IACV,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,QAAQ;IACV,CAAC;CACF"}
|
|
@@ -7,10 +7,5 @@ export type AutoPairOutcome = {
|
|
|
7
7
|
reason: 'cli_missing' | 'no_pending' | 'no_match' | 'list_failed' | 'approve_failed' | 'identity_error';
|
|
8
8
|
detail?: string;
|
|
9
9
|
};
|
|
10
|
-
/**
|
|
11
|
-
* Best-effort one-shot auto-approval of our own pending pairing request via
|
|
12
|
-
* the local `openclaw` CLI. Never throws — all failures resolve to a
|
|
13
|
-
* `{ status: 'skipped', reason }` outcome so the caller can treat it as a
|
|
14
|
-
* no-op and continue its retry loop.
|
|
15
|
-
*/
|
|
10
|
+
/** Auto-pair failures must leave the caller's retry loop running. */
|
|
16
11
|
export declare function autoApproveOwnPairing(): Promise<AutoPairOutcome>;
|
|
@@ -8,12 +8,7 @@ const CLI_TIMEOUT_MS = 10_000;
|
|
|
8
8
|
function isErrnoException(e) {
|
|
9
9
|
return e instanceof Error && typeof e.code === 'string';
|
|
10
10
|
}
|
|
11
|
-
/**
|
|
12
|
-
* Best-effort one-shot auto-approval of our own pending pairing request via
|
|
13
|
-
* the local `openclaw` CLI. Never throws — all failures resolve to a
|
|
14
|
-
* `{ status: 'skipped', reason }` outcome so the caller can treat it as a
|
|
15
|
-
* no-op and continue its retry loop.
|
|
16
|
-
*/
|
|
11
|
+
/** Auto-pair failures must leave the caller's retry loop running. */
|
|
17
12
|
export async function autoApproveOwnPairing() {
|
|
18
13
|
let ownDeviceId;
|
|
19
14
|
try {
|
|
@@ -25,7 +20,6 @@ export async function autoApproveOwnPairing() {
|
|
|
25
20
|
return { status: 'skipped', reason: 'identity_error', detail };
|
|
26
21
|
}
|
|
27
22
|
logCollector?.push('chat_provider_auto_pair', 'info', 'Pairing required — attempting auto-approve', { deviceId: ownDeviceId });
|
|
28
|
-
// 1. List pending pairing requests.
|
|
29
23
|
let listStdout;
|
|
30
24
|
try {
|
|
31
25
|
const { stdout } = await execFileAsync('openclaw', ['devices', 'list', '--json'], {
|
|
@@ -42,7 +36,6 @@ export async function autoApproveOwnPairing() {
|
|
|
42
36
|
logCollector?.push('chat_provider_auto_pair', 'warn', `openclaw devices list failed: ${detail}`, { deviceId: ownDeviceId });
|
|
43
37
|
return { status: 'skipped', reason: 'list_failed', detail };
|
|
44
38
|
}
|
|
45
|
-
// 2. Parse the JSON payload.
|
|
46
39
|
let parsed;
|
|
47
40
|
try {
|
|
48
41
|
parsed = JSON.parse(listStdout);
|
|
@@ -57,13 +50,11 @@ export async function autoApproveOwnPairing() {
|
|
|
57
50
|
logCollector?.push('chat_provider_auto_pair', 'info', 'No pending pairing requests on gateway', { deviceId: ownDeviceId });
|
|
58
51
|
return { status: 'skipped', reason: 'no_pending' };
|
|
59
52
|
}
|
|
60
|
-
// 3. Match our own deviceId.
|
|
61
53
|
const match = pending.find((p) => p?.deviceId === ownDeviceId);
|
|
62
54
|
if (!match) {
|
|
63
55
|
logCollector?.push('chat_provider_auto_pair', 'warn', 'No pending request matches our deviceId', { ownDeviceId, pendingCount: pending.length });
|
|
64
56
|
return { status: 'skipped', reason: 'no_match' };
|
|
65
57
|
}
|
|
66
|
-
// 4. Approve.
|
|
67
58
|
const { requestId } = match;
|
|
68
59
|
try {
|
|
69
60
|
await execFileAsync('openclaw', ['devices', 'approve', requestId, '--json'], {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-pair.js","sourceRoot":"","sources":["../../../src/providers/openclaw/auto-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,cAAc,GAAG,MAAM,CAAC;AAyB9B,SAAS,gBAAgB,CAAC,CAAU;IAClC,OAAO,CAAC,YAAY,KAAK,IAAI,OAAQ,CAA2B,CAAC,IAAI,KAAK,QAAQ,CAAC;AACrF,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"auto-pair.js","sourceRoot":"","sources":["../../../src/providers/openclaw/auto-pair.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,4 +17,4 @@ export declare function buildDeviceAuthPayloadV3(params: {
|
|
|
17
17
|
platform: string;
|
|
18
18
|
deviceFamily: string;
|
|
19
19
|
}): string;
|
|
20
|
-
export declare function loadOrCreateDeviceIdentity(): DeviceIdentity;
|
|
20
|
+
export declare function loadOrCreateDeviceIdentity(stateDir?: string): DeviceIdentity;
|