@botbotgo/agent-harness 0.0.309 → 0.0.310
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 -78
- package/dist/cli.js +2 -3024
- 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 +5 -233
- 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
package/dist/client/acp.d.ts
CHANGED
|
@@ -1,50 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import type { Approval, OperatorOverview, RequestEvent, RequestPlanState, RequestTraceItem } from "../api.js";
|
|
3
|
-
import type { CancelOptions, RequestSummary, RuntimeHealthSnapshot, SessionListSummary, SessionRecord, SessionSummary } from "../contracts/types.js";
|
|
4
|
-
import type { HarnessClient, HarnessClientApprovalFilter, HarnessClientRequestFilter, HarnessClientRequestOptions, HarnessClientRequestResult } from "./types.js";
|
|
5
|
-
export type AcpHarnessTransport = Pick<AcpStdioClient, "request" | "subscribe" | "close">;
|
|
6
|
-
export declare class AcpHarnessClient implements HarnessClient {
|
|
7
|
-
private readonly transport;
|
|
8
|
-
private streamSequence;
|
|
9
|
-
constructor(transport: AcpHarnessTransport);
|
|
10
|
-
request(options: HarnessClientRequestOptions): Promise<HarnessClientRequestResult>;
|
|
11
|
-
private hasStreamingListeners;
|
|
12
|
-
private streamRequestInternal;
|
|
13
|
-
private requestWithStreamingListeners;
|
|
14
|
-
resolveApproval(options: Parameters<HarnessClient["resolveApproval"]>[0]): Promise<HarnessClientRequestResult>;
|
|
15
|
-
cancelRequest(options: CancelOptions): Promise<HarnessClientRequestResult>;
|
|
16
|
-
subscribe(listener: (event: RequestEvent) => void | Promise<void>): () => void;
|
|
17
|
-
listSessions(filter?: {
|
|
18
|
-
agentId?: string;
|
|
19
|
-
status?: RequestSummary["state"];
|
|
20
|
-
}): Promise<SessionSummary[]>;
|
|
21
|
-
listSessionSummaries(filter?: {
|
|
22
|
-
agentId?: string;
|
|
23
|
-
status?: RequestSummary["state"];
|
|
24
|
-
}): Promise<SessionListSummary[]>;
|
|
25
|
-
listRequests(filter?: HarnessClientRequestFilter): Promise<RequestSummary[]>;
|
|
26
|
-
getSession(sessionId: string): Promise<SessionRecord | null>;
|
|
27
|
-
getRequest(requestId: string): Promise<RequestSummary | null>;
|
|
28
|
-
listApprovals(filter?: HarnessClientApprovalFilter): Promise<Approval[]>;
|
|
29
|
-
getApproval(approvalId: string): Promise<Approval | null>;
|
|
30
|
-
getRequestPlanState(input: {
|
|
31
|
-
sessionId: string;
|
|
32
|
-
requestId: string;
|
|
33
|
-
}): Promise<RequestPlanState | null>;
|
|
34
|
-
listRequestEvents(input: {
|
|
35
|
-
sessionId: string;
|
|
36
|
-
requestId: string;
|
|
37
|
-
}): Promise<RequestEvent[]>;
|
|
38
|
-
listRequestTraceItems(input: {
|
|
39
|
-
sessionId: string;
|
|
40
|
-
requestId: string;
|
|
41
|
-
}): Promise<RequestTraceItem[]>;
|
|
42
|
-
getHealth(): Promise<RuntimeHealthSnapshot>;
|
|
43
|
-
getOperatorOverview(options?: {
|
|
44
|
-
limit?: number;
|
|
45
|
-
}): Promise<OperatorOverview>;
|
|
46
|
-
stop(): Promise<void>;
|
|
47
|
-
}
|
|
48
|
-
export declare function createAcpHarnessClient(transport: AcpHarnessTransport): HarnessClient;
|
|
49
|
-
export declare function createAcpStdioHarnessClient(options: AcpStdioClientOptions): HarnessClient;
|
|
50
|
-
export declare function createAcpHttpHarnessClient(options: AcpHttpClientOptions): HarnessClient;
|
|
1
|
+
export * from "../protocol/acp/harness-client.js";
|
package/dist/client/acp.js
CHANGED
|
@@ -1,219 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { applyRequestStreamItemToSnapshot, createInitialRequestEventSnapshot, toRequestDataEvent, } from "../request-events.js";
|
|
3
|
-
function toEvent(notification) {
|
|
4
|
-
return notification.params.event;
|
|
5
|
-
}
|
|
6
|
-
function isRuntimeEventNotification(notification) {
|
|
7
|
-
return notification.method === "events.runtime";
|
|
8
|
-
}
|
|
9
|
-
function isStreamNotification(notification) {
|
|
10
|
-
return notification.method === "requests.stream";
|
|
11
|
-
}
|
|
12
|
-
export class AcpHarnessClient {
|
|
13
|
-
transport;
|
|
14
|
-
streamSequence = 0;
|
|
15
|
-
constructor(transport) {
|
|
16
|
-
this.transport = transport;
|
|
17
|
-
}
|
|
18
|
-
request(options) {
|
|
19
|
-
if (this.hasStreamingListeners(options)) {
|
|
20
|
-
return this.requestWithStreamingListeners(options);
|
|
21
|
-
}
|
|
22
|
-
return this.transport.request("requests.submit", options);
|
|
23
|
-
}
|
|
24
|
-
hasStreamingListeners(options) {
|
|
25
|
-
return Boolean(("eventListener" in options && options.eventListener)
|
|
26
|
-
|| ("dataListener" in options && options.dataListener)
|
|
27
|
-
|| options.listeners);
|
|
28
|
-
}
|
|
29
|
-
async *streamRequestInternal(options) {
|
|
30
|
-
const streamId = `harness-stream-${++this.streamSequence}`;
|
|
31
|
-
const queued = [];
|
|
32
|
-
let notify;
|
|
33
|
-
let settled = false;
|
|
34
|
-
let streamedResult = false;
|
|
35
|
-
let responseResolved = false;
|
|
36
|
-
let failure;
|
|
37
|
-
let fallbackTimer;
|
|
38
|
-
const waitForItem = () => new Promise((resolve) => {
|
|
39
|
-
notify = resolve;
|
|
40
|
-
});
|
|
41
|
-
const push = (item) => {
|
|
42
|
-
queued.push(item);
|
|
43
|
-
notify?.();
|
|
44
|
-
notify = undefined;
|
|
45
|
-
};
|
|
46
|
-
const settle = () => {
|
|
47
|
-
if (settled) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
settled = true;
|
|
51
|
-
notify?.();
|
|
52
|
-
notify = undefined;
|
|
53
|
-
};
|
|
54
|
-
const unsubscribe = this.transport.subscribe((notification) => {
|
|
55
|
-
if (!isStreamNotification(notification) || notification.params.streamId !== streamId) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
if (notification.params.item.type === "result") {
|
|
59
|
-
streamedResult = true;
|
|
60
|
-
if (fallbackTimer) {
|
|
61
|
-
clearTimeout(fallbackTimer);
|
|
62
|
-
fallbackTimer = undefined;
|
|
63
|
-
}
|
|
64
|
-
if (responseResolved) {
|
|
65
|
-
settle();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
push(notification.params.item);
|
|
69
|
-
});
|
|
70
|
-
const resultPromise = this.transport.request("requests.submit", {
|
|
71
|
-
...options,
|
|
72
|
-
streamId,
|
|
73
|
-
listeners: undefined,
|
|
74
|
-
eventListener: undefined,
|
|
75
|
-
dataListener: undefined,
|
|
76
|
-
});
|
|
77
|
-
resultPromise
|
|
78
|
-
.then((result) => {
|
|
79
|
-
responseResolved = true;
|
|
80
|
-
if (streamedResult) {
|
|
81
|
-
settle();
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
fallbackTimer = setTimeout(() => {
|
|
85
|
-
push({
|
|
86
|
-
type: "result",
|
|
87
|
-
result,
|
|
88
|
-
});
|
|
89
|
-
settle();
|
|
90
|
-
}, 50);
|
|
91
|
-
})
|
|
92
|
-
.catch((error) => {
|
|
93
|
-
failure = error;
|
|
94
|
-
settle();
|
|
95
|
-
})
|
|
96
|
-
.finally(() => undefined);
|
|
97
|
-
try {
|
|
98
|
-
while (!settled || queued.length > 0) {
|
|
99
|
-
if (queued.length === 0) {
|
|
100
|
-
await waitForItem();
|
|
101
|
-
continue;
|
|
102
|
-
}
|
|
103
|
-
const item = queued.shift();
|
|
104
|
-
if (item) {
|
|
105
|
-
yield item;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
if (failure) {
|
|
109
|
-
throw failure;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
finally {
|
|
113
|
-
if (fallbackTimer) {
|
|
114
|
-
clearTimeout(fallbackTimer);
|
|
115
|
-
}
|
|
116
|
-
unsubscribe();
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
async requestWithStreamingListeners(options) {
|
|
120
|
-
const legacyListeners = options.listeners;
|
|
121
|
-
const eventListener = "eventListener" in options ? options.eventListener : undefined;
|
|
122
|
-
const dataListener = "dataListener" in options ? options.dataListener : undefined;
|
|
123
|
-
let snapshot = createInitialRequestEventSnapshot();
|
|
124
|
-
let finalResult;
|
|
125
|
-
for await (const item of this.streamRequestInternal(options)) {
|
|
126
|
-
snapshot = applyRequestStreamItemToSnapshot(snapshot, item);
|
|
127
|
-
if (item.type === "event") {
|
|
128
|
-
await legacyListeners?.onEvent?.(item.event);
|
|
129
|
-
}
|
|
130
|
-
else if (item.type === "upstream-event") {
|
|
131
|
-
await legacyListeners?.onUpstreamEvent?.(item.event);
|
|
132
|
-
if (item.surfaceItem) {
|
|
133
|
-
await legacyListeners?.onTraceItem?.({
|
|
134
|
-
sessionId: item.sessionId,
|
|
135
|
-
requestId: item.requestId,
|
|
136
|
-
surfaceItem: item.surfaceItem,
|
|
137
|
-
event: item.event,
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
else if (item.type === "plan-state") {
|
|
142
|
-
await legacyListeners?.onPlanState?.(item.planState);
|
|
143
|
-
}
|
|
144
|
-
else if (item.type === "result") {
|
|
145
|
-
finalResult = item.result;
|
|
146
|
-
}
|
|
147
|
-
const dataEvent = toRequestDataEvent(item);
|
|
148
|
-
if (dataEvent) {
|
|
149
|
-
await dataListener?.(dataEvent);
|
|
150
|
-
}
|
|
151
|
-
await eventListener?.(snapshot);
|
|
152
|
-
}
|
|
153
|
-
if (!finalResult) {
|
|
154
|
-
throw new Error("ACP streaming request completed without a terminal result.");
|
|
155
|
-
}
|
|
156
|
-
return finalResult;
|
|
157
|
-
}
|
|
158
|
-
resolveApproval(options) {
|
|
159
|
-
return this.transport.request("approvals.resolve", options);
|
|
160
|
-
}
|
|
161
|
-
cancelRequest(options) {
|
|
162
|
-
return this.transport.request("requests.cancel", options);
|
|
163
|
-
}
|
|
164
|
-
subscribe(listener) {
|
|
165
|
-
return this.transport.subscribe((notification) => {
|
|
166
|
-
if (isRuntimeEventNotification(notification)) {
|
|
167
|
-
void listener(toEvent(notification));
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
listSessions(filter) {
|
|
172
|
-
return this.transport.request("sessions.list", filter);
|
|
173
|
-
}
|
|
174
|
-
listSessionSummaries(filter) {
|
|
175
|
-
return this.transport.request("sessions.summaries", filter);
|
|
176
|
-
}
|
|
177
|
-
listRequests(filter) {
|
|
178
|
-
return this.transport.request("requests.list", filter);
|
|
179
|
-
}
|
|
180
|
-
getSession(sessionId) {
|
|
181
|
-
return this.transport.request("sessions.get", { sessionId });
|
|
182
|
-
}
|
|
183
|
-
getRequest(requestId) {
|
|
184
|
-
return this.transport.request("requests.get", { requestId });
|
|
185
|
-
}
|
|
186
|
-
listApprovals(filter) {
|
|
187
|
-
return this.transport.request("approvals.list", filter);
|
|
188
|
-
}
|
|
189
|
-
getApproval(approvalId) {
|
|
190
|
-
return this.transport.request("approvals.get", { approvalId });
|
|
191
|
-
}
|
|
192
|
-
getRequestPlanState(input) {
|
|
193
|
-
return this.transport.request("requests.plan.get", input);
|
|
194
|
-
}
|
|
195
|
-
listRequestEvents(input) {
|
|
196
|
-
return this.transport.request("events.list", input);
|
|
197
|
-
}
|
|
198
|
-
listRequestTraceItems(input) {
|
|
199
|
-
return this.transport.request("requests.trace.list", input);
|
|
200
|
-
}
|
|
201
|
-
getHealth() {
|
|
202
|
-
return this.transport.request("runtime.health");
|
|
203
|
-
}
|
|
204
|
-
getOperatorOverview(options) {
|
|
205
|
-
return this.transport.request("runtime.overview", options);
|
|
206
|
-
}
|
|
207
|
-
stop() {
|
|
208
|
-
return this.transport.close();
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
export function createAcpHarnessClient(transport) {
|
|
212
|
-
return new AcpHarnessClient(transport);
|
|
213
|
-
}
|
|
214
|
-
export function createAcpStdioHarnessClient(options) {
|
|
215
|
-
return new AcpHarnessClient(createAcpStdioClient(options));
|
|
216
|
-
}
|
|
217
|
-
export function createAcpHttpHarnessClient(options) {
|
|
218
|
-
return new AcpHarnessClient(createAcpHttpClient(options));
|
|
219
|
-
}
|
|
1
|
+
export * from "../protocol/acp/harness-client.js";
|
|
@@ -13,16 +13,16 @@ export declare class InProcessHarnessClient implements HarnessClient {
|
|
|
13
13
|
status?: Parameters<typeof listSessions>[1] extends infer T ? T extends {
|
|
14
14
|
status?: infer S;
|
|
15
15
|
} ? S : never : never;
|
|
16
|
-
}): Promise<import("../contracts/runtime.js").SessionSummary[]>;
|
|
16
|
+
}): Promise<import("../contracts/runtime-observability.js").SessionSummary[]>;
|
|
17
17
|
listSessionSummaries(filter?: {
|
|
18
18
|
agentId?: string;
|
|
19
19
|
status?: Parameters<typeof listSessionSummaries>[1] extends infer T ? T extends {
|
|
20
20
|
status?: infer S;
|
|
21
21
|
} ? S : never : never;
|
|
22
22
|
}): Promise<import("../api.js").SessionListSummary[]>;
|
|
23
|
-
listRequests(filter?: HarnessClientRequestFilter): Promise<import("../contracts/runtime.js").SessionRequestRecord[]>;
|
|
24
|
-
getSession(sessionId: string): Promise<import("../contracts/runtime.js").SessionRecord | null>;
|
|
25
|
-
getRequest(requestId: string): Promise<import("../contracts/runtime.js").RequestRecord | null>;
|
|
23
|
+
listRequests(filter?: HarnessClientRequestFilter): Promise<import("../contracts/runtime-requests.js").SessionRequestRecord[]>;
|
|
24
|
+
getSession(sessionId: string): Promise<import("../contracts/runtime-requests.js").SessionRecord | null>;
|
|
25
|
+
getRequest(requestId: string): Promise<import("../contracts/runtime-requests.js").RequestRecord | null>;
|
|
26
26
|
listApprovals(filter?: HarnessClientApprovalFilter): Promise<import("../api.js").Approval[]>;
|
|
27
27
|
getApproval(approvalId: string): Promise<import("../api.js").Approval | null>;
|
|
28
28
|
getRequestPlanState(input: {
|
|
@@ -37,7 +37,7 @@ export declare class InProcessHarnessClient implements HarnessClient {
|
|
|
37
37
|
sessionId: string;
|
|
38
38
|
requestId: string;
|
|
39
39
|
}): Promise<import("../api.js").RequestTraceItem[]>;
|
|
40
|
-
getHealth(): Promise<import("../contracts/runtime.js").RuntimeHealthSnapshot>;
|
|
40
|
+
getHealth(): Promise<import("../contracts/runtime-observability.js").RuntimeHealthSnapshot>;
|
|
41
41
|
getOperatorOverview(options?: {
|
|
42
42
|
limit?: number;
|
|
43
43
|
}): Promise<import("../api.js").OperatorOverview>;
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AcpHarnessClient, createAcpHarnessClient, createAcpHttpHarnessClient, createAcpStdioHarnessClient } from "
|
|
1
|
+
export { AcpHarnessClient, createAcpHarnessClient, createAcpHttpHarnessClient, createAcpStdioHarnessClient } from "../protocol/acp/harness-client.js";
|
|
2
2
|
export { InProcessHarnessClient, createAgentHarnessClient, createInProcessHarnessClient } from "./in-process.js";
|
|
3
3
|
export type { HarnessClient, HarnessClientApprovalFilter, HarnessClientRequestFilter, HarnessClientRequestOptions, HarnessClientRequestResult, HarnessClientRequestStartOptions, } from "./types.js";
|
|
4
|
-
export type { AcpHarnessTransport } from "
|
|
4
|
+
export type { AcpHarnessTransport } from "../protocol/acp/harness-client.js";
|
package/dist/client/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { AcpHarnessClient, createAcpHarnessClient, createAcpHttpHarnessClient, createAcpStdioHarnessClient } from "
|
|
1
|
+
export { AcpHarnessClient, createAcpHarnessClient, createAcpHttpHarnessClient, createAcpStdioHarnessClient } from "../protocol/acp/harness-client.js";
|
|
2
2
|
export { InProcessHarnessClient, createAgentHarnessClient, createInProcessHarnessClient } from "./in-process.js";
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { WorkspaceBundle } from "./workspace.js";
|
|
2
|
+
import type { HarnessEvent, RuntimeHealthSnapshot } from "./runtime-observability.js";
|
|
3
|
+
import type { ApprovalRecord, ArtifactRecord, InvocationEnvelope, MessageContent, RequestRecord, RequestResult, RuntimeGovernanceEvidence, SessionRecord, TranscriptMessage } from "./runtime-requests.js";
|
|
4
|
+
export type RuntimeEvaluationExportInput = {
|
|
5
|
+
sessionId: string;
|
|
6
|
+
requestId: string;
|
|
7
|
+
includeArtifacts?: boolean;
|
|
8
|
+
includeArtifactContents?: boolean;
|
|
9
|
+
expectedOutput?: string;
|
|
10
|
+
rubric?: string[];
|
|
11
|
+
tags?: string[];
|
|
12
|
+
metadata?: Record<string, unknown>;
|
|
13
|
+
};
|
|
14
|
+
export type RuntimeArtifactWriteInput = {
|
|
15
|
+
sessionId: string;
|
|
16
|
+
requestId: string;
|
|
17
|
+
kind: string;
|
|
18
|
+
path: string;
|
|
19
|
+
content: unknown;
|
|
20
|
+
artifactId?: string;
|
|
21
|
+
createdAt?: string;
|
|
22
|
+
};
|
|
23
|
+
export type RuntimeEvaluationArtifact = ArtifactRecord & {
|
|
24
|
+
content?: unknown;
|
|
25
|
+
};
|
|
26
|
+
export type RuntimeEvaluationExport = {
|
|
27
|
+
session: SessionRecord | null;
|
|
28
|
+
request: RequestRecord | null;
|
|
29
|
+
requestInput: {
|
|
30
|
+
input: MessageContent;
|
|
31
|
+
invocation?: InvocationEnvelope;
|
|
32
|
+
priority?: number;
|
|
33
|
+
} | null;
|
|
34
|
+
approvals: ApprovalRecord[];
|
|
35
|
+
transcript: TranscriptMessage[];
|
|
36
|
+
events: HarnessEvent[];
|
|
37
|
+
artifacts: RuntimeEvaluationArtifact[];
|
|
38
|
+
runtimeHealth: RuntimeHealthSnapshot;
|
|
39
|
+
expectedOutput?: string;
|
|
40
|
+
rubric: string[];
|
|
41
|
+
tags: string[];
|
|
42
|
+
metadata?: Record<string, unknown>;
|
|
43
|
+
};
|
|
44
|
+
export type RuntimeEvaluationReplayInput = {
|
|
45
|
+
bundle: RuntimeEvaluationExport;
|
|
46
|
+
agentId?: string;
|
|
47
|
+
sessionId?: string;
|
|
48
|
+
invocation?: InvocationEnvelope;
|
|
49
|
+
};
|
|
50
|
+
export type RuntimeEvaluationReplayResult = {
|
|
51
|
+
request: {
|
|
52
|
+
agentId: string;
|
|
53
|
+
input: MessageContent;
|
|
54
|
+
invocation?: InvocationEnvelope;
|
|
55
|
+
sessionId?: string;
|
|
56
|
+
};
|
|
57
|
+
result: RequestResult;
|
|
58
|
+
assertions: {
|
|
59
|
+
expectedOutputMatched?: boolean;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export type RuntimeRequestPackageInput = {
|
|
63
|
+
sessionId: string;
|
|
64
|
+
requestId: string;
|
|
65
|
+
includeArtifacts?: boolean;
|
|
66
|
+
includeArtifactContents?: boolean;
|
|
67
|
+
includeRuntimeHealth?: boolean;
|
|
68
|
+
};
|
|
69
|
+
export type RuntimeRequestPackage = {
|
|
70
|
+
session: SessionRecord | null;
|
|
71
|
+
request: RequestRecord | null;
|
|
72
|
+
approvals: ApprovalRecord[];
|
|
73
|
+
transcript: TranscriptMessage[];
|
|
74
|
+
events: HarnessEvent[];
|
|
75
|
+
artifacts: RuntimeEvaluationArtifact[];
|
|
76
|
+
governance: RuntimeGovernanceEvidence;
|
|
77
|
+
runtimeHealth?: RuntimeHealthSnapshot;
|
|
78
|
+
};
|
|
79
|
+
export type RuntimeSessionPackageInput = {
|
|
80
|
+
sessionId: string;
|
|
81
|
+
includeArtifacts?: boolean;
|
|
82
|
+
includeArtifactContents?: boolean;
|
|
83
|
+
includeRuntimeHealth?: boolean;
|
|
84
|
+
};
|
|
85
|
+
export type RuntimeSessionPackage = {
|
|
86
|
+
session: SessionRecord | null;
|
|
87
|
+
requests: RequestRecord[];
|
|
88
|
+
approvals: ApprovalRecord[];
|
|
89
|
+
transcript: TranscriptMessage[];
|
|
90
|
+
requestsPackages: RuntimeRequestPackage[];
|
|
91
|
+
governance: {
|
|
92
|
+
requests: Array<{
|
|
93
|
+
requestId: string;
|
|
94
|
+
evidence: RuntimeGovernanceEvidence;
|
|
95
|
+
}>;
|
|
96
|
+
approvalSummary: import("./runtime-requests.js").RuntimeApprovalSummary;
|
|
97
|
+
summary: string;
|
|
98
|
+
};
|
|
99
|
+
runtimeHealth?: RuntimeHealthSnapshot;
|
|
100
|
+
};
|
|
101
|
+
export type RuntimeInventoryContext = {
|
|
102
|
+
workspace: WorkspaceBundle;
|
|
103
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
export type MemoryCandidate = {
|
|
2
|
+
content: string;
|
|
3
|
+
summary?: string;
|
|
4
|
+
kind?: string;
|
|
5
|
+
scope?: string;
|
|
6
|
+
confidence?: number;
|
|
7
|
+
tags?: string[];
|
|
8
|
+
sourceType?: string;
|
|
9
|
+
sourceRef?: string;
|
|
10
|
+
observedAt?: string;
|
|
11
|
+
sensitivity?: string;
|
|
12
|
+
noStore?: boolean;
|
|
13
|
+
knowledgeMutation?: {
|
|
14
|
+
identity: string;
|
|
15
|
+
operation?: "create" | "update" | "delete";
|
|
16
|
+
};
|
|
17
|
+
operationalRule?: {
|
|
18
|
+
trigger: string;
|
|
19
|
+
action: string;
|
|
20
|
+
target: string;
|
|
21
|
+
effect?: "apply" | "invalidate";
|
|
22
|
+
};
|
|
23
|
+
provenance?: Record<string, unknown>;
|
|
24
|
+
};
|
|
25
|
+
export type MemoryKind = "semantic" | "episodic" | "procedural";
|
|
26
|
+
export type MemoryScope = "session" | "agent" | "workspace" | "user" | "project";
|
|
27
|
+
export type MemoryRecordStatus = "active" | "stale" | "conflicted" | "archived" | "pending_review";
|
|
28
|
+
export type MemoryDecisionAction = "reject" | "store" | "merge" | "refresh" | "supersede" | "archive" | "review";
|
|
29
|
+
export type KnowledgeMutationOperation = "create" | "update" | "delete";
|
|
30
|
+
export type MemoryRecord = {
|
|
31
|
+
id: string;
|
|
32
|
+
canonicalKey: string;
|
|
33
|
+
kind: MemoryKind;
|
|
34
|
+
scope: MemoryScope;
|
|
35
|
+
content: string;
|
|
36
|
+
summary: string;
|
|
37
|
+
status: MemoryRecordStatus;
|
|
38
|
+
confidence: number;
|
|
39
|
+
createdAt: string;
|
|
40
|
+
observedAt: string;
|
|
41
|
+
lastConfirmedAt: string;
|
|
42
|
+
expiresAt?: string;
|
|
43
|
+
sourceType: string;
|
|
44
|
+
sourceRefs: string[];
|
|
45
|
+
tags: string[];
|
|
46
|
+
knowledgeIdentity?: string;
|
|
47
|
+
knowledgeOperation?: KnowledgeMutationOperation;
|
|
48
|
+
operationalRule?: {
|
|
49
|
+
trigger: string;
|
|
50
|
+
action: string;
|
|
51
|
+
target: string;
|
|
52
|
+
effect?: "apply" | "invalidate";
|
|
53
|
+
};
|
|
54
|
+
provenance: Record<string, unknown>;
|
|
55
|
+
revision: number;
|
|
56
|
+
supersedes: string[];
|
|
57
|
+
conflictsWith: string[];
|
|
58
|
+
};
|
|
59
|
+
export type MemoryDecision = {
|
|
60
|
+
action: MemoryDecisionAction;
|
|
61
|
+
reason: string;
|
|
62
|
+
recordId?: string;
|
|
63
|
+
kind?: MemoryRecord["kind"];
|
|
64
|
+
scope?: MemoryScope;
|
|
65
|
+
confidence?: number;
|
|
66
|
+
maintenance?: "none" | "dedupe" | "merge" | "review";
|
|
67
|
+
reviewRequired?: boolean;
|
|
68
|
+
};
|
|
69
|
+
export type MemorizeInputRecord = {
|
|
70
|
+
content: string;
|
|
71
|
+
summary?: string;
|
|
72
|
+
kind?: MemoryKind;
|
|
73
|
+
scope?: MemoryScope;
|
|
74
|
+
confidence?: number;
|
|
75
|
+
tags?: string[];
|
|
76
|
+
sourceType?: string;
|
|
77
|
+
sourceRef?: string;
|
|
78
|
+
observedAt?: string;
|
|
79
|
+
sensitivity?: string;
|
|
80
|
+
knowledgeMutation?: {
|
|
81
|
+
identity: string;
|
|
82
|
+
operation?: KnowledgeMutationOperation;
|
|
83
|
+
};
|
|
84
|
+
operationalRule?: {
|
|
85
|
+
trigger: string;
|
|
86
|
+
action: string;
|
|
87
|
+
target: string;
|
|
88
|
+
effect?: "apply" | "invalidate";
|
|
89
|
+
};
|
|
90
|
+
provenance?: Record<string, unknown>;
|
|
91
|
+
noStore?: boolean;
|
|
92
|
+
};
|
|
93
|
+
export type MemorizeInput = {
|
|
94
|
+
records: MemorizeInputRecord[];
|
|
95
|
+
sessionId?: string;
|
|
96
|
+
requestId?: string;
|
|
97
|
+
agentId?: string;
|
|
98
|
+
userId?: string;
|
|
99
|
+
projectId?: string;
|
|
100
|
+
recordedAt?: string;
|
|
101
|
+
};
|
|
102
|
+
export type KnowledgeRuntimeContext = {
|
|
103
|
+
sessionId?: string;
|
|
104
|
+
requestId?: string;
|
|
105
|
+
agentId?: string;
|
|
106
|
+
workspaceId: string;
|
|
107
|
+
userId?: string;
|
|
108
|
+
projectId?: string;
|
|
109
|
+
recordedAt?: string;
|
|
110
|
+
};
|
|
111
|
+
export type MemorizeResult = {
|
|
112
|
+
records: MemoryRecord[];
|
|
113
|
+
decisions: MemoryDecision[];
|
|
114
|
+
};
|
|
115
|
+
export type RecallInput = {
|
|
116
|
+
query: string;
|
|
117
|
+
scopes?: MemoryScope[];
|
|
118
|
+
kinds?: MemoryKind[];
|
|
119
|
+
topK?: number;
|
|
120
|
+
includeStale?: boolean;
|
|
121
|
+
sessionId?: string;
|
|
122
|
+
agentId?: string;
|
|
123
|
+
workspaceId?: string;
|
|
124
|
+
userId?: string;
|
|
125
|
+
projectId?: string;
|
|
126
|
+
};
|
|
127
|
+
export type RecallResult = {
|
|
128
|
+
items: MemoryRecord[];
|
|
129
|
+
};
|
|
130
|
+
export type ListMemoriesInput = {
|
|
131
|
+
scopes?: MemoryScope[];
|
|
132
|
+
kinds?: MemoryKind[];
|
|
133
|
+
status?: MemoryRecordStatus[];
|
|
134
|
+
sessionId?: string;
|
|
135
|
+
agentId?: string;
|
|
136
|
+
workspaceId?: string;
|
|
137
|
+
userId?: string;
|
|
138
|
+
projectId?: string;
|
|
139
|
+
limit?: number;
|
|
140
|
+
};
|
|
141
|
+
export type ListMemoriesResult = {
|
|
142
|
+
items: MemoryRecord[];
|
|
143
|
+
};
|
|
144
|
+
export type UpdateMemoryInput = {
|
|
145
|
+
memoryId: string;
|
|
146
|
+
content?: string;
|
|
147
|
+
summary?: string;
|
|
148
|
+
status?: MemoryRecordStatus;
|
|
149
|
+
confidence?: number;
|
|
150
|
+
expiresAt?: string | null;
|
|
151
|
+
sourceType?: string;
|
|
152
|
+
sourceRefs?: string[];
|
|
153
|
+
tags?: string[];
|
|
154
|
+
observedAt?: string;
|
|
155
|
+
lastConfirmedAt?: string;
|
|
156
|
+
knowledgeIdentity?: string;
|
|
157
|
+
knowledgeOperation?: KnowledgeMutationOperation;
|
|
158
|
+
provenance?: Record<string, unknown>;
|
|
159
|
+
};
|
|
160
|
+
export type RemoveMemoryInput = {
|
|
161
|
+
memoryId: string;
|
|
162
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|