@botbotgo/agent-harness 0.0.309 → 0.0.311
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 +14 -0
- package/README.zh.md +14 -0
- package/dist/acp.d.ts +1 -116
- package/dist/acp.js +1 -310
- package/dist/api.d.ts +1 -1
- package/dist/api.js +1 -1
- package/dist/cli/chat-interactive.d.ts +24 -0
- package/dist/cli/chat-interactive.js +244 -0
- package/dist/cli/chat-rendering.d.ts +9 -0
- package/dist/cli/chat-rendering.js +102 -0
- package/dist/cli/chat-stream.d.ts +23 -0
- package/dist/cli/chat-stream.js +330 -0
- package/dist/cli/chat-ui.d.ts +20 -0
- package/dist/cli/chat-ui.js +198 -0
- package/dist/cli/chat-workspace.d.ts +15 -0
- package/dist/cli/chat-workspace.js +205 -0
- package/dist/cli/main.d.ts +52 -0
- package/dist/cli/main.js +323 -0
- package/dist/cli/managed-service-commands.d.ts +23 -0
- package/dist/cli/managed-service-commands.js +63 -0
- package/dist/cli/managed-service.d.ts +27 -0
- package/dist/cli/managed-service.js +61 -0
- package/dist/cli/options-init-chat.d.ts +16 -0
- package/dist/cli/options-init-chat.js +108 -0
- package/dist/cli/options-runtime.d.ts +27 -0
- package/dist/cli/options-runtime.js +158 -0
- package/dist/cli/options-serve.d.ts +24 -0
- package/dist/cli/options-serve.js +166 -0
- package/dist/cli/options.d.ts +5 -0
- package/dist/cli/options.js +47 -0
- package/dist/cli/process-guards.d.ts +14 -0
- package/dist/cli/process-guards.js +139 -0
- package/dist/cli/request-tree.d.ts +12 -0
- package/dist/cli/request-tree.js +296 -0
- package/dist/cli/runtime-commands.d.ts +15 -0
- package/dist/cli/runtime-commands.js +247 -0
- package/dist/cli/runtime-output.d.ts +5 -0
- package/dist/cli/runtime-output.js +124 -0
- package/dist/cli/server-commands.d.ts +36 -0
- package/dist/cli/server-commands.js +250 -0
- package/dist/cli/workspace.d.ts +6 -0
- package/dist/cli/workspace.js +71 -0
- package/dist/cli.d.ts +1 -77
- package/dist/cli.js +2 -3023
- package/dist/client/acp.d.ts +1 -50
- package/dist/client/acp.js +1 -219
- package/dist/client/in-process.d.ts +5 -5
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.js +1 -1
- package/dist/contracts/runtime-evaluation.d.ts +103 -0
- package/dist/contracts/runtime-evaluation.js +1 -0
- package/dist/contracts/runtime-memory.d.ts +162 -0
- package/dist/contracts/runtime-memory.js +1 -0
- package/dist/contracts/runtime-observability.d.ts +248 -0
- package/dist/contracts/runtime-observability.js +1 -0
- package/dist/contracts/runtime-requests.d.ts +342 -0
- package/dist/contracts/runtime-requests.js +1 -0
- package/dist/contracts/runtime-scheduling.d.ts +146 -0
- package/dist/contracts/runtime-scheduling.js +1 -0
- package/dist/contracts/runtime.d.ts +5 -1042
- package/dist/contracts/runtime.js +27 -1
- package/dist/flow/build-flow-graph.js +4 -875
- package/dist/flow/flow-graph-normalization.d.ts +56 -0
- package/dist/flow/flow-graph-normalization.js +214 -0
- package/dist/flow/flow-graph-runtime.d.ts +8 -0
- package/dist/flow/flow-graph-runtime.js +107 -0
- package/dist/flow/flow-graph-upstream.d.ts +18 -0
- package/dist/flow/flow-graph-upstream.js +498 -0
- package/dist/flow/types.d.ts +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/init-project.d.ts +1 -12
- package/dist/init-project.js +1 -651
- package/dist/{procedural → knowledge/procedural}/manager.d.ts +3 -3
- package/dist/{procedural → knowledge/procedural}/manager.js +6 -6
- package/dist/mcp.d.ts +2 -76
- package/dist/mcp.js +2 -428
- package/dist/package-version.d.ts +1 -1
- package/dist/package-version.js +1 -1
- package/dist/persistence/file-store.js +1 -1
- package/dist/persistence/sqlite-runtime.d.ts +19 -0
- package/dist/persistence/sqlite-runtime.js +86 -0
- package/dist/persistence/sqlite-store.js +11 -99
- package/dist/{request-events.d.ts → projections/request-events.d.ts} +1 -1
- package/dist/{upstream-events.js → projections/upstream-events.js} +1 -1
- package/dist/protocol/a2a/http-discovery.d.ts +39 -0
- package/dist/protocol/a2a/http-discovery.js +178 -0
- package/dist/protocol/a2a/http-rpc.d.ts +28 -0
- package/dist/protocol/a2a/http-rpc.js +623 -0
- package/dist/protocol/a2a/http.d.ts +72 -1
- package/dist/protocol/a2a/http.js +14 -1124
- package/dist/protocol/a2a/task-state.d.ts +29 -0
- package/dist/protocol/a2a/task-state.js +317 -0
- package/dist/protocol/acp/client.js +1 -1
- package/dist/protocol/acp/harness-client.d.ts +50 -0
- package/dist/protocol/acp/harness-client.js +219 -0
- package/dist/protocol/acp/server.d.ts +116 -0
- package/dist/protocol/acp/server.js +310 -0
- package/dist/protocol/ag-ui/http.js +1 -1
- package/dist/protocol/mcp/server.d.ts +76 -0
- package/dist/protocol/mcp/server.js +428 -0
- package/dist/resource/backend/workspace-scoped-backend.d.ts +40 -0
- package/dist/resource/backend/workspace-scoped-backend.js +296 -0
- package/dist/resource/mcp/tool-support.d.ts +35 -0
- package/dist/resource/mcp/tool-support.js +296 -0
- package/dist/resource/mcp-tool-support.d.ts +2 -35
- package/dist/resource/mcp-tool-support.js +2 -296
- package/dist/resource/providers/resource-provider.d.ts +22 -0
- package/dist/resource/providers/resource-provider.js +215 -0
- package/dist/resource/resource-impl.d.ts +3 -33
- package/dist/resource/resource-impl.js +2 -808
- package/dist/resource/resource-types.d.ts +33 -0
- package/dist/resource/resource-types.js +1 -0
- package/dist/resource/tools/function-tool-resolver.d.ts +2 -0
- package/dist/resource/tools/function-tool-resolver.js +306 -0
- package/dist/runtime/adapter/middleware-assembly.js +1 -1
- package/dist/runtime/adapter/model/invocation-request.js +2 -2
- package/dist/runtime/adapter/model/message-assembly.js +1 -1
- package/dist/runtime/agent-runtime-adapter.d.ts +3 -63
- package/dist/runtime/agent-runtime-adapter.js +7 -235
- package/dist/runtime/agent-runtime-assembly.d.ts +67 -0
- package/dist/runtime/agent-runtime-assembly.js +211 -0
- package/dist/runtime/harness/background-runtime.d.ts +1 -1
- package/dist/runtime/harness/events/event-sink.js +1 -1
- package/dist/runtime/harness/events/runtime-event-operations.d.ts +1 -1
- package/dist/runtime/harness/events/streaming.js +1 -1
- package/dist/runtime/harness/public-shapes.d.ts +43 -0
- package/dist/runtime/harness/public-shapes.js +186 -0
- package/dist/runtime/harness/run/inspection.js +2 -2
- package/dist/runtime/harness/run/resources.js +1 -1
- package/dist/runtime/harness/run/surface-semantics.js +1 -1
- package/dist/runtime/harness/system/inventory.d.ts +1 -1
- package/dist/runtime/harness/system/inventory.js +2 -2
- package/dist/runtime/harness/system/policy-engine.js +1 -1
- package/dist/runtime/harness/system/runtime-memory-manager.js +1 -1
- package/dist/runtime/harness/system/skill-requirements.d.ts +1 -1
- package/dist/runtime/harness/system/skill-requirements.js +1 -1
- package/dist/runtime/harness.d.ts +2 -2
- package/dist/runtime/harness.js +7 -191
- package/dist/runtime/maintenance/checkpoint-maintenance.js +1 -1
- package/dist/runtime/maintenance/runtime-record-maintenance.js +1 -1
- package/dist/runtime/parsing/output-content.d.ts +11 -0
- package/dist/runtime/parsing/output-content.js +442 -0
- package/dist/runtime/parsing/output-parsing.d.ts +3 -29
- package/dist/runtime/parsing/output-parsing.js +3 -806
- package/dist/runtime/parsing/output-recovery.d.ts +14 -0
- package/dist/runtime/parsing/output-recovery.js +288 -0
- package/dist/runtime/parsing/output-tool-args.d.ts +4 -0
- package/dist/runtime/parsing/output-tool-args.js +120 -0
- package/dist/runtime/support/runtime-factories.js +1 -1
- package/dist/scaffold/init-project.d.ts +12 -0
- package/dist/scaffold/init-project.js +651 -0
- package/dist/{extensions.d.ts → tooling/extensions.d.ts} +1 -1
- package/dist/{extensions.js → tooling/extensions.js} +3 -3
- package/dist/{tool-modules.d.ts → tooling/module-loader.d.ts} +1 -1
- package/dist/{tool-modules.js → tooling/module-loader.js} +2 -2
- package/dist/workspace/agent-binding-compiler.js +2 -2
- package/dist/workspace/compile.js +2 -2
- package/dist/workspace/object-loader-paths.d.ts +11 -0
- package/dist/workspace/object-loader-paths.js +75 -0
- package/dist/workspace/object-loader-readers.d.ts +21 -0
- package/dist/workspace/object-loader-readers.js +187 -0
- package/dist/workspace/object-loader.d.ts +0 -1
- package/dist/workspace/object-loader.js +6 -260
- package/dist/workspace/resource-compilers.js +1 -1
- package/dist/workspace/support/discovery.js +1 -1
- package/package.json +1 -1
- package/dist/runtime/adapter/index.d.ts +0 -13
- package/dist/runtime/adapter/index.js +0 -13
- package/dist/runtime/harness/index.d.ts +0 -19
- package/dist/runtime/harness/index.js +0 -19
- package/dist/runtime/maintenance/index.d.ts +0 -4
- package/dist/runtime/maintenance/index.js +0 -4
- package/dist/runtime/parsing/index.d.ts +0 -2
- package/dist/runtime/parsing/index.js +0 -2
- package/dist/runtime/support/index.d.ts +0 -4
- package/dist/runtime/support/index.js +0 -4
- package/dist/workspace/support/index.d.ts +0 -2
- package/dist/workspace/support/index.js +0 -2
- /package/dist/{procedural → knowledge/procedural}/config.d.ts +0 -0
- /package/dist/{procedural → knowledge/procedural}/config.js +0 -0
- /package/dist/{procedural → knowledge/procedural}/index.d.ts +0 -0
- /package/dist/{procedural → knowledge/procedural}/index.js +0 -0
- /package/dist/{presentation.d.ts → projections/presentation.d.ts} +0 -0
- /package/dist/{presentation.js → projections/presentation.js} +0 -0
- /package/dist/{request-events.js → projections/request-events.js} +0 -0
- /package/dist/{upstream-events.d.ts → projections/upstream-events.d.ts} +0 -0
- /package/dist/runtime/{support → env}/runtime-env.d.ts +0 -0
- /package/dist/runtime/{support → env}/runtime-env.js +0 -0
- /package/dist/runtime/{support → layout}/runtime-layout.d.ts +0 -0
- /package/dist/runtime/{support → layout}/runtime-layout.js +0 -0
- /package/dist/runtime/{support → prompts}/runtime-prompts.d.ts +0 -0
- /package/dist/runtime/{support → prompts}/runtime-prompts.js +0 -0
- /package/dist/runtime/{support → skills}/skill-metadata.d.ts +0 -0
- /package/dist/runtime/{support → skills}/skill-metadata.js +0 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { existsSync, readdirSync, statSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
export function resolveCliWorkspaceRoot(cwd, inputPath) {
|
|
5
|
+
const resolved = path.resolve(cwd, inputPath ?? ".");
|
|
6
|
+
if (existsSync(path.join(resolved, "config", "runtime", "workspace.yaml"))) {
|
|
7
|
+
return resolved;
|
|
8
|
+
}
|
|
9
|
+
if (path.basename(resolved) === "config" && hasCliConfigYaml(resolved)) {
|
|
10
|
+
return path.dirname(resolved);
|
|
11
|
+
}
|
|
12
|
+
return resolved;
|
|
13
|
+
}
|
|
14
|
+
export function getWorkspaceConfigPath(workspaceRoot) {
|
|
15
|
+
return path.join(workspaceRoot, "config", "runtime", "workspace.yaml");
|
|
16
|
+
}
|
|
17
|
+
export function hasCliConfigYaml(configRoot) {
|
|
18
|
+
if (!existsSync(configRoot) || !statSync(configRoot).isDirectory()) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
const pending = [configRoot];
|
|
22
|
+
while (pending.length > 0) {
|
|
23
|
+
const current = pending.pop();
|
|
24
|
+
for (const entry of readdirSync(current, { withFileTypes: true })) {
|
|
25
|
+
if (entry.isDirectory()) {
|
|
26
|
+
if (entry.name === "node_modules") {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
pending.push(path.join(current, entry.name));
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (entry.isFile() && /\.ya?ml$/i.test(entry.name)) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
export function validateCliWorkspaceRoot(workspaceRoot, inputPath) {
|
|
40
|
+
if (!existsSync(workspaceRoot)) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
if (!statSync(workspaceRoot).isDirectory()) {
|
|
44
|
+
const workspaceLabel = inputPath ? "Workspace path" : "Current directory";
|
|
45
|
+
return `${workspaceLabel} is not a directory: ${workspaceRoot}`;
|
|
46
|
+
}
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
export function resolveCliConfigRoot(workspaceRoot) {
|
|
50
|
+
if (path.basename(workspaceRoot) === "config") {
|
|
51
|
+
return workspaceRoot;
|
|
52
|
+
}
|
|
53
|
+
return path.join(workspaceRoot, "config");
|
|
54
|
+
}
|
|
55
|
+
export function frameworkCliWorkspaceRoot() {
|
|
56
|
+
const resolved = fileURLToPath(new URL("../..", import.meta.url));
|
|
57
|
+
const distSegment = `${path.sep}dist`;
|
|
58
|
+
if (!resolved.endsWith(distSegment)) {
|
|
59
|
+
return resolved;
|
|
60
|
+
}
|
|
61
|
+
const sourceRoot = resolved.slice(0, -distSegment.length);
|
|
62
|
+
if (!existsSync(sourceRoot)) {
|
|
63
|
+
return resolved;
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
return statSync(sourceRoot).mtimeMs >= statSync(resolved).mtimeMs ? sourceRoot : resolved;
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return sourceRoot;
|
|
70
|
+
}
|
|
71
|
+
}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,78 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { createInterface as createReadlineInterface } from "node:readline";
|
|
4
|
-
import type { Readable } from "node:stream";
|
|
5
|
-
import { createAgentHarness } from "./api.js";
|
|
6
|
-
import { type HarnessClient } from "./client.js";
|
|
7
|
-
import { serveA2aOverHttp } from "./protocol/a2a/http.js";
|
|
8
|
-
import { serveAgUiOverHttp } from "./protocol/ag-ui/http.js";
|
|
9
|
-
import { serveAcpOverHttp } from "./protocol/acp/http.js";
|
|
10
|
-
import { serveAcpOverStdio } from "./protocol/acp/stdio.js";
|
|
11
|
-
import { serveRuntimeMcpOverStdio, serveRuntimeMcpOverStreamableHttp } from "./mcp.js";
|
|
12
|
-
type CliIo = {
|
|
13
|
-
cwd?: string;
|
|
14
|
-
stdin?: Readable;
|
|
15
|
-
stdout?: (message: string) => void;
|
|
16
|
-
stderr?: (message: string) => void;
|
|
17
|
-
};
|
|
18
|
-
type CliDeps = {
|
|
19
|
-
createChatClient?: (input: {
|
|
20
|
-
workspaceRoot: string;
|
|
21
|
-
transport: "stdio" | "http";
|
|
22
|
-
hostname?: string;
|
|
23
|
-
port?: number;
|
|
24
|
-
stderr?: (message: string) => void;
|
|
25
|
-
}) => Promise<HarnessClient>;
|
|
26
|
-
probeChatWorkspace?: (input: {
|
|
27
|
-
workspaceRoot: string;
|
|
28
|
-
agentId?: string;
|
|
29
|
-
}) => Promise<string | undefined>;
|
|
30
|
-
createReadlineInterface?: typeof createReadlineInterface;
|
|
31
|
-
createAgentHarness?: typeof createAgentHarness;
|
|
32
|
-
serveA2aOverHttp?: typeof serveA2aOverHttp;
|
|
33
|
-
serveAgUiOverHttp?: typeof serveAgUiOverHttp;
|
|
34
|
-
serveAcpOverHttp?: typeof serveAcpOverHttp;
|
|
35
|
-
serveAcpOverStdio?: typeof serveAcpOverStdio;
|
|
36
|
-
serveRuntimeMcpOverStdio?: typeof serveRuntimeMcpOverStdio;
|
|
37
|
-
serveRuntimeMcpOverStreamableHttp?: typeof serveRuntimeMcpOverStreamableHttp;
|
|
38
|
-
spawnManagedCliProcess?: (input: {
|
|
39
|
-
args: string[];
|
|
40
|
-
cwd: string;
|
|
41
|
-
stdoutPath: string;
|
|
42
|
-
stderrPath: string;
|
|
43
|
-
}) => Promise<{
|
|
44
|
-
pid?: number;
|
|
45
|
-
}>;
|
|
46
|
-
isManagedProcessRunning?: (pid: number) => boolean;
|
|
47
|
-
signalManagedProcess?: (pid: number, signal?: NodeJS.Signals) => void;
|
|
48
|
-
};
|
|
49
|
-
export declare function renderChatPromptLine(input: {
|
|
50
|
-
agentId?: string;
|
|
51
|
-
sessionId?: string;
|
|
52
|
-
requestId?: string;
|
|
53
|
-
color: boolean;
|
|
54
|
-
}): string;
|
|
55
|
-
export declare function renderChatBanner(input: {
|
|
56
|
-
workspacePath: string;
|
|
57
|
-
transport: "stdio" | "http";
|
|
58
|
-
agentId?: string;
|
|
59
|
-
sessionId?: string;
|
|
60
|
-
/** When true (TTY + default stdout), paint logo and accents in ANSI color */
|
|
61
|
-
color?: boolean;
|
|
62
|
-
}): string;
|
|
63
|
-
type ChatWorkspaceModelInfo = {
|
|
64
|
-
provider?: string;
|
|
65
|
-
model?: string;
|
|
66
|
-
baseUrl?: string;
|
|
67
|
-
};
|
|
68
|
-
export declare function renderChatRuntimeFailure(output: string, modelInfo?: ChatWorkspaceModelInfo): string;
|
|
69
|
-
export declare function probeChatWorkspace(input: {
|
|
70
|
-
workspaceRoot: string;
|
|
71
|
-
agentId?: string;
|
|
72
|
-
}): Promise<string | undefined>;
|
|
73
|
-
export declare function isChatServerNoiseLine(line: string): boolean;
|
|
74
|
-
type ProcessExitHookHost = Pick<NodeJS.Process, "on" | "off">;
|
|
75
|
-
export declare function installChatSubprocessExitGuard(child: ChildProcessWithoutNullStreams, host?: ProcessExitHookHost): () => void;
|
|
76
|
-
export declare function runCli(argv: string[], io?: CliIo, deps?: CliDeps): Promise<number>;
|
|
77
|
-
export declare function resolveInvokedCliHref(argvPath?: string): string;
|
|
78
|
-
export {};
|
|
2
|
+
export * from "./cli/main.js";
|