@mininglamp-oss/octo-runtime 1.1.0 → 1.1.2
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/README.md +4 -2
- package/apps/cli/README.md +3 -1
- package/apps/cli/dist/build-info.json +2 -2
- package/apps/cli/dist/extras.d.ts +4 -2
- package/apps/cli/dist/extras.js +20 -21
- package/apps/cli/dist/help.js +3 -0
- package/apps/cli/dist/logs.d.ts +10 -0
- package/apps/cli/dist/logs.js +186 -0
- package/apps/cli/dist/main.d.ts +1 -0
- package/apps/cli/dist/main.js +94 -19
- package/apps/cli/dist/{default_adapters.json → manifest.json} +10 -0
- package/apps/cli/dist/module-manifest.d.ts +3 -0
- package/apps/cli/dist/module-manifest.js +11 -0
- package/apps/cli/dist/openclaw.js +30 -6
- package/apps/cli/dist/output.js +3 -0
- package/apps/cli/dist/playboard.js +10 -8
- package/apps/cli/dist/status-output.d.ts +10 -0
- package/apps/cli/dist/status-output.js +65 -0
- package/apps/cli/dist/worker.d.ts +1 -0
- package/apps/cli/dist/worker.js +18 -0
- package/dist/public/host.d.ts +1 -0
- package/node_modules/@mininglamp-oss/octo-runtime-acp-client/package.json +3 -3
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-acp/package.json +4 -4
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-antigravity/package.json +3 -3
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-claude-code/package.json +3 -3
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-codebuddy/package.json +4 -4
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-codex/package.json +3 -3
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-grok-build/dist/adapter.d.ts +54 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-grok-build/dist/adapter.js +399 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-grok-build/dist/client.d.ts +14 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-grok-build/dist/client.js +156 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-grok-build/dist/index.d.ts +29 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-grok-build/dist/index.js +273 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-grok-build/dist/interactions.d.ts +27 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-grok-build/dist/interactions.js +161 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-grok-build/package.json +17 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-hermes/package.json +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-kimi-code/package.json +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-mcode/package.json +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-openclaw/dist/compatibility.d.ts +24 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-openclaw/dist/compatibility.js +181 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-openclaw/dist/gateway.d.ts +9 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-openclaw/dist/gateway.js +24 -8
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-openclaw/dist/index.js +229 -225
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-openclaw/package.json +3 -3
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-opencode/package.json +4 -4
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-qodercli/package.json +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-qoderclicn/package.json +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-sdk/dist/approval.d.ts +4 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-sdk/dist/approval.js +5 -6
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-sdk/dist/index.d.ts +1 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-sdk/dist/index.js +1 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-sdk/dist/module-manifest.d.ts +33 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-sdk/dist/module-manifest.js +118 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-sdk/dist/runtime-log-worker.js +7 -5
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-sdk/dist/runtime-log.d.ts +3 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-sdk/dist/runtime-log.js +45 -10
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-sdk/dist/service-status.d.ts +11 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-sdk/dist/service-status.js +70 -0
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-sdk/package.json +5 -3
- package/node_modules/@mininglamp-oss/octo-runtime-adapter-zcode-gui/package.json +3 -3
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/build-info.json +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/extras.d.ts +4 -2
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/extras.js +20 -21
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/help.js +3 -0
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/logs.d.ts +10 -0
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/logs.js +186 -0
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/main.d.ts +1 -0
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/main.js +94 -19
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/{default_adapters.json → manifest.json} +10 -0
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/module-manifest.d.ts +3 -0
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/module-manifest.js +11 -0
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/openclaw.js +30 -6
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/output.js +3 -0
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/playboard.js +10 -8
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/status-output.d.ts +10 -0
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/status-output.js +65 -0
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/worker.d.ts +1 -0
- package/node_modules/@mininglamp-oss/octo-runtime-cli/dist/worker.js +18 -0
- package/node_modules/@mininglamp-oss/octo-runtime-cli/package.json +23 -9
- package/node_modules/@mininglamp-oss/octo-runtime-cross-service/package.json +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-executor-core/dist/model-input.d.ts +1 -1
- package/node_modules/@mininglamp-oss/octo-runtime-executor-core/dist/model-input.js +13 -9
- package/node_modules/@mininglamp-oss/octo-runtime-executor-core/package.json +3 -3
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/heartbeat.d.ts +16 -0
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/heartbeat.js +59 -0
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/invocation-manifest.d.ts +1 -0
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/invocation-manifest.js +4 -1
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/manifest-adapters.d.ts +6 -0
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/manifest-adapters.js +88 -0
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/module-specifier.d.ts +1 -2
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/module-specifier.js +2 -9
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/process.d.ts +7 -2
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/process.js +138 -9
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/runner.js +3 -92
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/serve.js +36 -12
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/server.d.ts +4 -1
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/server.js +14 -6
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/service.js +2 -1
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/supervisor.d.ts +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/dist/supervisor.js +57 -34
- package/node_modules/@mininglamp-oss/octo-runtime-executor-kernel/package.json +8 -16
- package/node_modules/@mininglamp-oss/octo-runtime-extra-channel-gateway/config-schema.json +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-extra-channel-gateway/dist/application/im-channel.js +18 -18
- package/node_modules/@mininglamp-oss/octo-runtime-extra-channel-gateway/dist/contracts.d.ts +1 -0
- package/node_modules/@mininglamp-oss/octo-runtime-extra-channel-gateway/dist/execution/dispatcher.js +24 -0
- package/node_modules/@mininglamp-oss/octo-runtime-extra-channel-gateway/dist/transport/contexts.js +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-extra-channel-gateway/dist/transport/mentions.d.ts +5 -2
- package/node_modules/@mininglamp-oss/octo-runtime-extra-channel-gateway/dist/transport/mentions.js +19 -5
- package/node_modules/@mininglamp-oss/octo-runtime-extra-channel-gateway/dist/transport/normalize.js +1 -0
- package/node_modules/@mininglamp-oss/octo-runtime-extra-channel-gateway/package.json +6 -6
- package/node_modules/@mininglamp-oss/octo-runtime-extra-channel-wecom/config-schema.json +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-extra-channel-wecom/package.json +5 -5
- package/node_modules/@mininglamp-oss/octo-runtime-extra-webui/config-schema.json +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-extra-webui/dist/index.js +1 -1
- package/node_modules/@mininglamp-oss/octo-runtime-extra-webui/dist/store.d.ts +4 -1
- package/node_modules/@mininglamp-oss/octo-runtime-extra-webui/dist/store.js +54 -4
- package/node_modules/@mininglamp-oss/octo-runtime-extra-webui/package.json +2 -2
- package/node_modules/@mininglamp-oss/octo-runtime-host-sdk/dist/extra-config.d.ts +8 -1
- package/node_modules/@mininglamp-oss/octo-runtime-host-sdk/dist/extra-config.js +27 -12
- package/node_modules/@mininglamp-oss/octo-runtime-host-sdk/dist/extra-service.js +39 -2
- package/node_modules/@mininglamp-oss/octo-runtime-host-sdk/dist/index.d.ts +1 -0
- package/node_modules/@mininglamp-oss/octo-runtime-host-sdk/package.json +4 -4
- package/node_modules/@mininglamp-oss/octo-runtime-protocol/package.json +1 -1
- package/node_modules/import-meta-resolve/index.d.ts +19 -0
- package/node_modules/import-meta-resolve/index.d.ts.map +1 -0
- package/node_modules/import-meta-resolve/index.js +47 -0
- package/node_modules/import-meta-resolve/lib/errors.d.ts +24 -0
- package/node_modules/import-meta-resolve/lib/errors.d.ts.map +1 -0
- package/node_modules/import-meta-resolve/lib/errors.js +504 -0
- package/node_modules/import-meta-resolve/lib/get-format.d.ts +13 -0
- package/node_modules/import-meta-resolve/lib/get-format.d.ts.map +1 -0
- package/node_modules/import-meta-resolve/lib/get-format.js +159 -0
- package/node_modules/import-meta-resolve/lib/package-json-reader.d.ts +31 -0
- package/node_modules/import-meta-resolve/lib/package-json-reader.d.ts.map +1 -0
- package/node_modules/import-meta-resolve/lib/package-json-reader.js +177 -0
- package/node_modules/import-meta-resolve/lib/resolve.d.ts +29 -0
- package/node_modules/import-meta-resolve/lib/resolve.d.ts.map +1 -0
- package/node_modules/import-meta-resolve/lib/resolve.js +1301 -0
- package/node_modules/import-meta-resolve/lib/utils.d.ts +6 -0
- package/node_modules/import-meta-resolve/lib/utils.d.ts.map +1 -0
- package/node_modules/import-meta-resolve/lib/utils.js +47 -0
- package/node_modules/import-meta-resolve/license +74 -0
- package/node_modules/import-meta-resolve/package.json +78 -0
- package/node_modules/import-meta-resolve/readme.md +252 -0
- package/package.json +30 -26
- package/packages/octo-runtime-extra-channel-gateway/config-schema.json +2 -2
- package/packages/octo-runtime-extra-channel-wecom/config-schema.json +2 -2
- package/packages/octo-runtime-extra-webui/config-schema.json +2 -2
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { readFile, mkdir, writeFile, rename, lstat, chmod, rm } from "node:fs/promises";
|
|
2
2
|
import { parseEnv, promisify } from "node:util";
|
|
3
3
|
import { execFile } from "node:child_process";
|
|
4
|
-
import { configuredCredential, validateImBots, octoCliEnvironment } from "@mininglamp-oss/octo-runtime-extra-channel-gateway";
|
|
5
4
|
import { randomUUID } from "node:crypto";
|
|
6
5
|
import { isIP } from "node:net";
|
|
7
6
|
import { homedir, networkInterfaces } from "node:os";
|
|
@@ -103,15 +102,40 @@ export async function syncCliOpenClawToolEnvironment(runtimeRoot, extras) {
|
|
|
103
102
|
if (!channel || channel.config.bots === undefined)
|
|
104
103
|
return { written: false, restartRequired: false };
|
|
105
104
|
const bots = channel.config.bots;
|
|
106
|
-
|
|
105
|
+
if (!Array.isArray(bots) || bots.length > 64)
|
|
106
|
+
throw new Error("IM_CONFIG_LIST_REQUIRED");
|
|
107
107
|
let values;
|
|
108
|
-
for (const
|
|
109
|
-
|
|
108
|
+
for (const value of bots) {
|
|
109
|
+
const bot = record(value);
|
|
110
|
+
if (!bot)
|
|
111
|
+
throw new Error("IM_CONFIG_INVALID");
|
|
112
|
+
if (bot.enabled === false || record(bot.adapter)?.adapter_type !== "openclaw")
|
|
110
113
|
continue;
|
|
111
|
-
const token =
|
|
114
|
+
const token = typeof bot.bf_token === "string" ? bot.bf_token.trim() : undefined;
|
|
112
115
|
if (!token)
|
|
113
116
|
throw new Error("IM_CREDENTIALS_REQUIRED");
|
|
114
|
-
|
|
117
|
+
// CLI 仅校验自己要写入的工具身份;完整 Bot 配置由启动后的 Extra 校验。
|
|
118
|
+
// 不为 Kernel 的 dotenv 同步导入整个业务 Extra,否则未启动 Extra 缺包也会阻塞 Kernel。
|
|
119
|
+
if (!/^bf_[A-Za-z0-9_-]+$/.test(token))
|
|
120
|
+
throw new Error("IM_BOT_TOKEN_INVALID");
|
|
121
|
+
let url;
|
|
122
|
+
try {
|
|
123
|
+
if (typeof bot.api_url !== "string")
|
|
124
|
+
throw new Error();
|
|
125
|
+
url = new URL(bot.api_url);
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
throw new Error("IM_API_URL_INVALID");
|
|
129
|
+
}
|
|
130
|
+
if (url.username ||
|
|
131
|
+
url.password ||
|
|
132
|
+
url.search ||
|
|
133
|
+
url.hash ||
|
|
134
|
+
(url.protocol !== "https:" &&
|
|
135
|
+
!(url.protocol === "http:" && ["127.0.0.1", "localhost", "[::1]"].includes(url.hostname))))
|
|
136
|
+
throw new Error("IM_API_URL_INVALID");
|
|
137
|
+
url.pathname = url.pathname.replace(/\/+$/, "").replace(/\/api$/, "");
|
|
138
|
+
values = { OCTO_BOT_TOKEN: token, OCTO_API_BASE_URL: url.href.replace(/\/+$/, "") };
|
|
115
139
|
}
|
|
116
140
|
if (!values)
|
|
117
141
|
return { written: false, restartRequired: false };
|
package/apps/cli/dist/output.js
CHANGED
|
@@ -102,6 +102,9 @@ export function describeError(error, fallback = "COMMAND_FAILED") {
|
|
|
102
102
|
SERVICE_NOT_INSTALLED: "Run this component's install command, then start it.",
|
|
103
103
|
NOT_INSTALLED: "Run this component's install command, then start it.",
|
|
104
104
|
EXTRA_NOT_REGISTERED: "Save this Extra's declaration with extraset before starting it.",
|
|
105
|
+
EXTRA_MANIFEST_DECLARATION_REQUIRED: "Add this Extra's name and module to the selected Home manifest.json (extras array), then retry.",
|
|
106
|
+
EXTRA_MODULE_MIGRATION_REQUIRED: "The saved module differs from manifest.json. Review both declarations, then save matching module text or omit module from the Extra configuration.",
|
|
107
|
+
MANIFEST_INVALID: "Check manifest.json: version must be 1 and adapters/extras must be valid arrays without duplicate keys.",
|
|
105
108
|
MANAGER_UNAVAILABLE: "Run doctor and check the current user's native service manager.",
|
|
106
109
|
COMPONENT_UNAVAILABLE: "Check component status and the service logs; the IPC or worker is not ready.",
|
|
107
110
|
SERVICE_PROCESS_EXITED: "The service exited unexpectedly. Check its logs and configuration.",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defaultRuntimeHome, runtimePaths, readJsonFile } from "./state.js";
|
|
2
|
-
import {
|
|
2
|
+
import { loadCliManifest } from "./module-manifest.js";
|
|
3
|
+
import { resolveAdapterModules } from "@mininglamp-oss/octo-runtime-adapter-sdk/module-manifest";
|
|
3
4
|
import { readAdapterConfigurations, createKernelService } from "@mininglamp-oss/octo-runtime-executor-kernel";
|
|
4
|
-
import { resolve } from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
import { componentEndpoint } from "@mininglamp-oss/octo-runtime-host-sdk";
|
|
7
7
|
import { mkdtemp, rm } from "node:fs/promises";
|
|
@@ -67,15 +67,17 @@ export async function runPlayboard(options) {
|
|
|
67
67
|
const temporary = await mkdtemp(join(tmpdir(), "octo-playboard-"));
|
|
68
68
|
try {
|
|
69
69
|
const paths = runtimePaths(home, profile);
|
|
70
|
-
await
|
|
70
|
+
const manifest = await loadCliManifest(home, options.manifest);
|
|
71
71
|
const configuration = await readJsonFile(paths.profileConfig);
|
|
72
72
|
kernel = createKernelService({
|
|
73
73
|
endpoint: process.platform === "win32" ? componentEndpoint(temporary) : join(temporary, "k.sock"),
|
|
74
|
-
workerEntrypoint: fileURLToPath(import.meta.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
workerEntrypoint: fileURLToPath(new URL("./worker.js", import.meta.url)),
|
|
75
|
+
adapterModules: resolveAdapterModules(manifest),
|
|
76
|
+
env: {
|
|
77
|
+
...(options.env ?? process.env),
|
|
78
|
+
OCTO_RUNTIME_CLI_PROFILE_ROOT: paths.profileRoot,
|
|
79
|
+
OCTO_RUNTIME_CLI_SYNC_OPENCLAW_TOOLS: "0"
|
|
80
|
+
},
|
|
79
81
|
adapterConfigurations: readAdapterConfigurations(paths.profileRoot, configuration?.adapters)
|
|
80
82
|
});
|
|
81
83
|
await kernel.initialize({ signal: controller.signal });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Writable } from "node:stream";
|
|
2
|
+
import { type ExtraStatusRecord } from "@mininglamp-oss/octo-runtime-adapter-sdk";
|
|
3
|
+
/** Bound stdout buffering without blocking Extras; report dropped records when the pipe drains. */
|
|
4
|
+
export declare class StatusOutput {
|
|
5
|
+
#private;
|
|
6
|
+
private readonly output;
|
|
7
|
+
constructor(output: Writable);
|
|
8
|
+
readonly write: (record: ExtraStatusRecord) => void;
|
|
9
|
+
readonly close: () => void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { extraStatusRecord } from "@mininglamp-oss/octo-runtime-adapter-sdk";
|
|
2
|
+
/** Bound stdout buffering without blocking Extras; report dropped records when the pipe drains. */
|
|
3
|
+
export class StatusOutput {
|
|
4
|
+
output;
|
|
5
|
+
#queue = [];
|
|
6
|
+
#bytes = 0;
|
|
7
|
+
#blocked = false;
|
|
8
|
+
#closed = false;
|
|
9
|
+
#dropped = 0;
|
|
10
|
+
#extra = "extra";
|
|
11
|
+
constructor(output) {
|
|
12
|
+
this.output = output;
|
|
13
|
+
output.on("error", this.close);
|
|
14
|
+
}
|
|
15
|
+
write = (record) => {
|
|
16
|
+
if (this.#closed)
|
|
17
|
+
return;
|
|
18
|
+
this.#extra = record.extra_type;
|
|
19
|
+
const line = `${JSON.stringify(record)}\n`;
|
|
20
|
+
if (this.#queue.length >= 128 || this.#bytes + Buffer.byteLength(line) > 1024 * 1024) {
|
|
21
|
+
this.#dropped = Math.min(Number.MAX_SAFE_INTEGER, this.#dropped + 1);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
this.#queue.push(line);
|
|
25
|
+
this.#bytes += Buffer.byteLength(line);
|
|
26
|
+
this.#flush();
|
|
27
|
+
};
|
|
28
|
+
#drain = () => {
|
|
29
|
+
this.#blocked = false;
|
|
30
|
+
this.#flush();
|
|
31
|
+
};
|
|
32
|
+
#flush() {
|
|
33
|
+
if (this.#closed || this.#blocked)
|
|
34
|
+
return;
|
|
35
|
+
while (this.#queue.length) {
|
|
36
|
+
const line = this.#queue.shift();
|
|
37
|
+
this.#bytes -= Buffer.byteLength(line);
|
|
38
|
+
try {
|
|
39
|
+
if (!this.output.write(line)) {
|
|
40
|
+
this.#blocked = true;
|
|
41
|
+
this.output.once("drain", this.#drain);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
this.close();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (this.#dropped) {
|
|
51
|
+
const record = extraStatusRecord(this.#extra, "warn", "service.output_dropped", {
|
|
52
|
+
dropped_count: this.#dropped
|
|
53
|
+
});
|
|
54
|
+
this.#dropped = 0;
|
|
55
|
+
this.write(record);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
close = () => {
|
|
59
|
+
this.#closed = true;
|
|
60
|
+
this.#queue = [];
|
|
61
|
+
this.#bytes = 0;
|
|
62
|
+
this.output.off("drain", this.#drain);
|
|
63
|
+
this.output.off("error", this.close);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// CLI 自有执行 worker。顶层 Kernel 仍由 CLI 调用进程创建;SDK 原生入口不使用此装配。
|
|
2
|
+
import { loadManifestAdapters } from "@mininglamp-oss/octo-runtime-executor-kernel/manifest-adapters";
|
|
3
|
+
import { serveWorker } from "@mininglamp-oss/octo-runtime-executor-kernel";
|
|
4
|
+
import { readExtraDirectory } from "@mininglamp-oss/octo-runtime-host-sdk";
|
|
5
|
+
import { dirname, join } from "node:path";
|
|
6
|
+
const adapters = await loadManifestAdapters();
|
|
7
|
+
// 旧显式清单允许省略 type;以所选实例真实类型判断,不猜包名,也不在父进程重复实例化。
|
|
8
|
+
if (adapters.some((adapter) => adapter.metadata.type === "openclaw")) {
|
|
9
|
+
const profileRoot = process.env.OCTO_RUNTIME_CLI_PROFILE_ROOT;
|
|
10
|
+
if (!profileRoot)
|
|
11
|
+
throw new Error("CLI_PROFILE_ROOT_REQUIRED");
|
|
12
|
+
const { initializeCliOpenClaw, syncCliOpenClawToolEnvironment } = await import("./openclaw.js");
|
|
13
|
+
await initializeCliOpenClaw(profileRoot);
|
|
14
|
+
if (process.env.OCTO_RUNTIME_CLI_SYNC_OPENCLAW_TOOLS === "1")
|
|
15
|
+
await syncCliOpenClawToolEnvironment(profileRoot, await readExtraDirectory(join(dirname(profileRoot), "extras")));
|
|
16
|
+
}
|
|
17
|
+
// 产品连接准备完成后才建立既有 list/probe 握手;所有实例仅交给唯一 Core 注册一次。
|
|
18
|
+
serveWorker(adapters);
|
package/dist/public/host.d.ts
CHANGED
|
@@ -2,5 +2,6 @@ export { createExtraService, ComponentStartError, componentEndpoint, componentSe
|
|
|
2
2
|
export type { ExtraService, ExtraServiceOptions, ExtraServiceStatus, CleanupResult } from "@mininglamp-oss/octo-runtime-host-sdk";
|
|
3
3
|
export { startNativeComponent } from "@mininglamp-oss/octo-runtime-host-sdk";
|
|
4
4
|
export type { NativeComponentOptions } from "@mininglamp-oss/octo-runtime-host-sdk";
|
|
5
|
+
export type { RuntimeLoggingOptions, ExtraStatusRecord } from "@mininglamp-oss/octo-runtime-host-sdk";
|
|
5
6
|
export { createKernelService, ServiceInitializationError } from "./executor-kernel.js";
|
|
6
7
|
export type { KernelService, KernelServiceOptions, KernelServiceStatus, ServiceCleanupResult, ServiceLifecycle, ServicePhase } from "./executor-kernel.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mininglamp-oss/octo-runtime-acp-client",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": "./dist/index.js",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@mininglamp-oss/octo-runtime-adapter-sdk": "1.1.
|
|
13
|
-
"@mininglamp-oss/octo-runtime-protocol": "1.1.
|
|
12
|
+
"@mininglamp-oss/octo-runtime-adapter-sdk": "1.1.2",
|
|
13
|
+
"@mininglamp-oss/octo-runtime-protocol": "1.1.2"
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mininglamp-oss/octo-runtime-adapter-acp",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": "./dist/index.js",
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@mininglamp-oss/octo-runtime-protocol": "1.1.
|
|
13
|
-
"@mininglamp-oss/octo-runtime-acp-client": "1.1.
|
|
14
|
-
"@mininglamp-oss/octo-runtime-adapter-sdk": "1.1.
|
|
12
|
+
"@mininglamp-oss/octo-runtime-protocol": "1.1.2",
|
|
13
|
+
"@mininglamp-oss/octo-runtime-acp-client": "1.1.2",
|
|
14
|
+
"@mininglamp-oss/octo-runtime-adapter-sdk": "1.1.2"
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mininglamp-oss/octo-runtime-adapter-antigravity",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": "./dist/index.js",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"README.md"
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@mininglamp-oss/octo-runtime-adapter-sdk": "1.1.
|
|
14
|
-
"@mininglamp-oss/octo-runtime-protocol": "1.1.
|
|
13
|
+
"@mininglamp-oss/octo-runtime-adapter-sdk": "1.1.2",
|
|
14
|
+
"@mininglamp-oss/octo-runtime-protocol": "1.1.2"
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mininglamp-oss/octo-runtime-adapter-claude-code",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": "./dist/index.js",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@mininglamp-oss/octo-runtime-protocol": "1.1.
|
|
9
|
-
"@mininglamp-oss/octo-runtime-adapter-sdk": "1.1.
|
|
8
|
+
"@mininglamp-oss/octo-runtime-protocol": "1.1.2",
|
|
9
|
+
"@mininglamp-oss/octo-runtime-adapter-sdk": "1.1.2"
|
|
10
10
|
},
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
12
|
"files": [
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mininglamp-oss/octo-runtime-adapter-codebuddy",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": "./dist/index.js",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@mininglamp-oss/octo-runtime-protocol": "1.1.
|
|
9
|
-
"@mininglamp-oss/octo-runtime-acp-client": "1.1.
|
|
10
|
-
"@mininglamp-oss/octo-runtime-adapter-sdk": "1.1.
|
|
8
|
+
"@mininglamp-oss/octo-runtime-protocol": "1.1.2",
|
|
9
|
+
"@mininglamp-oss/octo-runtime-acp-client": "1.1.2",
|
|
10
|
+
"@mininglamp-oss/octo-runtime-adapter-sdk": "1.1.2"
|
|
11
11
|
},
|
|
12
12
|
"types": "./dist/index.d.ts",
|
|
13
13
|
"files": [
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mininglamp-oss/octo-runtime-adapter-codex",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": "./dist/index.js",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@mininglamp-oss/octo-runtime-protocol": "1.1.
|
|
9
|
-
"@mininglamp-oss/octo-runtime-adapter-sdk": "1.1.
|
|
8
|
+
"@mininglamp-oss/octo-runtime-protocol": "1.1.2",
|
|
9
|
+
"@mininglamp-oss/octo-runtime-adapter-sdk": "1.1.2"
|
|
10
10
|
},
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
12
|
"files": [
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { spawnGrokBuildAcpClient as spawnAcpClient, type SpawnGrokBuildClientOptions as SpawnAcpClientOptions } from "./client.js";
|
|
2
|
+
import { GrokBuildInteractionBridge as AcpApprovalBridge } from "./interactions.js";
|
|
3
|
+
import { acpActmodeSelectionRequest } from "@mininglamp-oss/octo-runtime-adapter-acp";
|
|
4
|
+
import { type AcpClient, type AcpUpdate } from "@mininglamp-oss/octo-runtime-acp-client";
|
|
5
|
+
import { type ProbeResult, type ReasoningLevelMap, type AdapterInvocationContext, type CanonicalEvent, type InvokeRequest } from "@mininglamp-oss/octo-runtime-adapter-sdk";
|
|
6
|
+
import { type InteractionResponse } from "@mininglamp-oss/octo-runtime-protocol";
|
|
7
|
+
type JsonRecord = Record<string, unknown>;
|
|
8
|
+
export interface AcpAdapterDefinition {
|
|
9
|
+
type: string;
|
|
10
|
+
provider: string;
|
|
11
|
+
command: string;
|
|
12
|
+
args?: readonly string[] | ((request: InvokeRequest) => readonly string[]);
|
|
13
|
+
env?: (request: InvokeRequest) => NodeJS.ProcessEnv;
|
|
14
|
+
protocolVersion?: string | number;
|
|
15
|
+
emptyLoadResultMeansMissing?: boolean;
|
|
16
|
+
probe?: () => Promise<ProbeResult>;
|
|
17
|
+
/** Grok Build 专用的握手、会话配置与交互策略,只在本包消费。 */
|
|
18
|
+
initialize?: (client: AcpClient, initialization: JsonRecord, request: InvokeRequest, env: NodeJS.ProcessEnv) => Promise<void>;
|
|
19
|
+
sessionParams?: (params: JsonRecord, request: InvokeRequest, fresh: boolean) => JsonRecord;
|
|
20
|
+
isMissingSessionError?: (error: unknown) => boolean;
|
|
21
|
+
configureSession?: (client: AcpClient, session: JsonRecord, sessionId: string, request: InvokeRequest) => AsyncIterable<CanonicalEvent>;
|
|
22
|
+
selectActmode?: typeof acpActmodeSelectionRequest;
|
|
23
|
+
controlInstructions?: "session";
|
|
24
|
+
reasoningLevels?: ReasoningLevelMap;
|
|
25
|
+
clientOptions?: (request: InvokeRequest, bridge: AcpApprovalBridge) => Pick<SpawnAcpClientOptions, "requestHandler" | "onRequestResponseWritten" | "onRequestResponseFailed">;
|
|
26
|
+
validatePromptResult?: (update: StandardAcpUpdate) => CanonicalEvent[];
|
|
27
|
+
}
|
|
28
|
+
export interface StandardAcpUpdate extends AcpUpdate {
|
|
29
|
+
sessionUpdate?: string;
|
|
30
|
+
content?: unknown;
|
|
31
|
+
text?: string;
|
|
32
|
+
toolCallId?: string;
|
|
33
|
+
name?: string;
|
|
34
|
+
title?: string;
|
|
35
|
+
rawInput?: unknown;
|
|
36
|
+
input?: unknown;
|
|
37
|
+
rawOutput?: unknown;
|
|
38
|
+
output?: unknown;
|
|
39
|
+
status?: string;
|
|
40
|
+
}
|
|
41
|
+
export declare function createGrokBuildAcpAdapter(definition: AcpAdapterDefinition, { acpClientFactory, command }?: {
|
|
42
|
+
acpClientFactory?: typeof spawnAcpClient;
|
|
43
|
+
command?: string;
|
|
44
|
+
}): Readonly<{
|
|
45
|
+
metadata: {
|
|
46
|
+
mcp: true;
|
|
47
|
+
type: string;
|
|
48
|
+
agentSources: "provisioned"[];
|
|
49
|
+
};
|
|
50
|
+
probe: () => Promise<ProbeResult>;
|
|
51
|
+
respondInteraction(invocationId: string, response: InteractionResponse): Promise<void>;
|
|
52
|
+
invoke(request: InvokeRequest, context?: AdapterInvocationContext): AsyncGenerator<CanonicalEvent>;
|
|
53
|
+
}>;
|
|
54
|
+
export {};
|