@botbotgo/agent-harness 0.0.308 → 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.
Files changed (195) hide show
  1. package/README.md +17 -1
  2. package/README.zh.md +17 -1
  3. package/dist/acp.d.ts +1 -116
  4. package/dist/acp.js +1 -310
  5. package/dist/api.d.ts +4 -2
  6. package/dist/api.js +4 -1
  7. package/dist/cli/chat-interactive.d.ts +24 -0
  8. package/dist/cli/chat-interactive.js +244 -0
  9. package/dist/cli/chat-rendering.d.ts +9 -0
  10. package/dist/cli/chat-rendering.js +102 -0
  11. package/dist/cli/chat-stream.d.ts +23 -0
  12. package/dist/cli/chat-stream.js +330 -0
  13. package/dist/cli/chat-ui.d.ts +20 -0
  14. package/dist/cli/chat-ui.js +198 -0
  15. package/dist/cli/chat-workspace.d.ts +15 -0
  16. package/dist/cli/chat-workspace.js +205 -0
  17. package/dist/cli/main.d.ts +52 -0
  18. package/dist/cli/main.js +323 -0
  19. package/dist/cli/managed-service-commands.d.ts +23 -0
  20. package/dist/cli/managed-service-commands.js +63 -0
  21. package/dist/cli/managed-service.d.ts +27 -0
  22. package/dist/cli/managed-service.js +61 -0
  23. package/dist/cli/options-init-chat.d.ts +16 -0
  24. package/dist/cli/options-init-chat.js +108 -0
  25. package/dist/cli/options-runtime.d.ts +27 -0
  26. package/dist/cli/options-runtime.js +158 -0
  27. package/dist/cli/options-serve.d.ts +24 -0
  28. package/dist/cli/options-serve.js +166 -0
  29. package/dist/cli/options.d.ts +5 -0
  30. package/dist/cli/options.js +47 -0
  31. package/dist/cli/process-guards.d.ts +14 -0
  32. package/dist/cli/process-guards.js +139 -0
  33. package/dist/cli/request-tree.d.ts +12 -0
  34. package/dist/cli/request-tree.js +296 -0
  35. package/dist/cli/runtime-commands.d.ts +15 -0
  36. package/dist/cli/runtime-commands.js +247 -0
  37. package/dist/cli/runtime-output.d.ts +5 -0
  38. package/dist/cli/runtime-output.js +124 -0
  39. package/dist/cli/server-commands.d.ts +36 -0
  40. package/dist/cli/server-commands.js +250 -0
  41. package/dist/cli/workspace.d.ts +6 -0
  42. package/dist/cli/workspace.js +71 -0
  43. package/dist/cli.d.ts +1 -67
  44. package/dist/cli.js +2 -2734
  45. package/dist/client/acp.d.ts +1 -50
  46. package/dist/client/acp.js +1 -219
  47. package/dist/client/in-process.d.ts +5 -5
  48. package/dist/client/index.d.ts +2 -2
  49. package/dist/client/index.js +1 -1
  50. package/dist/contracts/runtime-evaluation.d.ts +103 -0
  51. package/dist/contracts/runtime-evaluation.js +1 -0
  52. package/dist/contracts/runtime-memory.d.ts +162 -0
  53. package/dist/contracts/runtime-memory.js +1 -0
  54. package/dist/contracts/runtime-observability.d.ts +248 -0
  55. package/dist/contracts/runtime-observability.js +1 -0
  56. package/dist/contracts/runtime-requests.d.ts +342 -0
  57. package/dist/contracts/runtime-requests.js +1 -0
  58. package/dist/contracts/runtime-scheduling.d.ts +146 -0
  59. package/dist/contracts/runtime-scheduling.js +1 -0
  60. package/dist/contracts/runtime.d.ts +5 -1042
  61. package/dist/contracts/runtime.js +27 -1
  62. package/dist/flow/build-flow-graph.js +4 -875
  63. package/dist/flow/flow-graph-normalization.d.ts +56 -0
  64. package/dist/flow/flow-graph-normalization.js +214 -0
  65. package/dist/flow/flow-graph-runtime.d.ts +8 -0
  66. package/dist/flow/flow-graph-runtime.js +107 -0
  67. package/dist/flow/flow-graph-upstream.d.ts +18 -0
  68. package/dist/flow/flow-graph-upstream.js +498 -0
  69. package/dist/flow/types.d.ts +1 -1
  70. package/dist/index.d.ts +4 -4
  71. package/dist/index.js +2 -2
  72. package/dist/init-project.d.ts +1 -12
  73. package/dist/init-project.js +1 -651
  74. package/dist/{procedural → knowledge/procedural}/manager.d.ts +3 -3
  75. package/dist/{procedural → knowledge/procedural}/manager.js +6 -6
  76. package/dist/mcp.d.ts +2 -62
  77. package/dist/mcp.js +2 -253
  78. package/dist/package-version.d.ts +1 -1
  79. package/dist/package-version.js +1 -1
  80. package/dist/persistence/file-store.js +1 -1
  81. package/dist/persistence/sqlite-runtime.d.ts +19 -0
  82. package/dist/persistence/sqlite-runtime.js +86 -0
  83. package/dist/persistence/sqlite-store.js +11 -99
  84. package/dist/{request-events.d.ts → projections/request-events.d.ts} +1 -1
  85. package/dist/{upstream-events.js → projections/upstream-events.js} +1 -1
  86. package/dist/protocol/a2a/http-discovery.d.ts +39 -0
  87. package/dist/protocol/a2a/http-discovery.js +178 -0
  88. package/dist/protocol/a2a/http-rpc.d.ts +28 -0
  89. package/dist/protocol/a2a/http-rpc.js +623 -0
  90. package/dist/protocol/a2a/http.d.ts +72 -1
  91. package/dist/protocol/a2a/http.js +14 -1124
  92. package/dist/protocol/a2a/task-state.d.ts +29 -0
  93. package/dist/protocol/a2a/task-state.js +317 -0
  94. package/dist/protocol/acp/client.js +1 -1
  95. package/dist/protocol/acp/harness-client.d.ts +50 -0
  96. package/dist/protocol/acp/harness-client.js +219 -0
  97. package/dist/protocol/acp/server.d.ts +116 -0
  98. package/dist/protocol/acp/server.js +310 -0
  99. package/dist/protocol/ag-ui/http.js +1 -1
  100. package/dist/protocol/mcp/server.d.ts +76 -0
  101. package/dist/protocol/mcp/server.js +428 -0
  102. package/dist/resource/backend/workspace-scoped-backend.d.ts +40 -0
  103. package/dist/resource/backend/workspace-scoped-backend.js +296 -0
  104. package/dist/resource/mcp/tool-support.d.ts +35 -0
  105. package/dist/resource/mcp/tool-support.js +296 -0
  106. package/dist/resource/mcp-tool-support.d.ts +2 -35
  107. package/dist/resource/mcp-tool-support.js +2 -296
  108. package/dist/resource/providers/resource-provider.d.ts +22 -0
  109. package/dist/resource/providers/resource-provider.js +215 -0
  110. package/dist/resource/resource-impl.d.ts +3 -33
  111. package/dist/resource/resource-impl.js +2 -808
  112. package/dist/resource/resource-types.d.ts +33 -0
  113. package/dist/resource/resource-types.js +1 -0
  114. package/dist/resource/tools/function-tool-resolver.d.ts +2 -0
  115. package/dist/resource/tools/function-tool-resolver.js +306 -0
  116. package/dist/runtime/adapter/middleware-assembly.js +1 -1
  117. package/dist/runtime/adapter/model/invocation-request.js +2 -2
  118. package/dist/runtime/adapter/model/message-assembly.js +1 -1
  119. package/dist/runtime/agent-runtime-adapter.d.ts +3 -63
  120. package/dist/runtime/agent-runtime-adapter.js +5 -233
  121. package/dist/runtime/agent-runtime-assembly.d.ts +67 -0
  122. package/dist/runtime/agent-runtime-assembly.js +211 -0
  123. package/dist/runtime/harness/background-runtime.d.ts +1 -1
  124. package/dist/runtime/harness/events/event-sink.js +1 -1
  125. package/dist/runtime/harness/events/runtime-event-operations.d.ts +1 -1
  126. package/dist/runtime/harness/events/streaming.js +1 -1
  127. package/dist/runtime/harness/public-shapes.d.ts +43 -0
  128. package/dist/runtime/harness/public-shapes.js +186 -0
  129. package/dist/runtime/harness/run/inspection.js +2 -2
  130. package/dist/runtime/harness/run/resources.js +1 -1
  131. package/dist/runtime/harness/run/surface-semantics.js +1 -1
  132. package/dist/runtime/harness/system/inventory.d.ts +1 -1
  133. package/dist/runtime/harness/system/inventory.js +2 -2
  134. package/dist/runtime/harness/system/policy-engine.js +1 -1
  135. package/dist/runtime/harness/system/runtime-memory-manager.js +1 -1
  136. package/dist/runtime/harness/system/skill-requirements.d.ts +1 -1
  137. package/dist/runtime/harness/system/skill-requirements.js +1 -1
  138. package/dist/runtime/harness.d.ts +3 -2
  139. package/dist/runtime/harness.js +11 -191
  140. package/dist/runtime/maintenance/checkpoint-maintenance.js +1 -1
  141. package/dist/runtime/maintenance/runtime-record-maintenance.js +1 -1
  142. package/dist/runtime/parsing/output-content.d.ts +11 -0
  143. package/dist/runtime/parsing/output-content.js +442 -0
  144. package/dist/runtime/parsing/output-parsing.d.ts +3 -29
  145. package/dist/runtime/parsing/output-parsing.js +3 -806
  146. package/dist/runtime/parsing/output-recovery.d.ts +14 -0
  147. package/dist/runtime/parsing/output-recovery.js +288 -0
  148. package/dist/runtime/parsing/output-tool-args.d.ts +4 -0
  149. package/dist/runtime/parsing/output-tool-args.js +120 -0
  150. package/dist/runtime/support/runtime-factories.js +1 -1
  151. package/dist/scaffold/init-project.d.ts +12 -0
  152. package/dist/scaffold/init-project.js +651 -0
  153. package/dist/{extensions.d.ts → tooling/extensions.d.ts} +1 -1
  154. package/dist/{extensions.js → tooling/extensions.js} +3 -3
  155. package/dist/{tool-modules.d.ts → tooling/module-loader.d.ts} +1 -1
  156. package/dist/{tool-modules.js → tooling/module-loader.js} +2 -2
  157. package/dist/workspace/agent-binding-compiler.js +2 -2
  158. package/dist/workspace/compile.js +2 -2
  159. package/dist/workspace/object-loader-paths.d.ts +11 -0
  160. package/dist/workspace/object-loader-paths.js +75 -0
  161. package/dist/workspace/object-loader-readers.d.ts +21 -0
  162. package/dist/workspace/object-loader-readers.js +187 -0
  163. package/dist/workspace/object-loader.d.ts +0 -1
  164. package/dist/workspace/object-loader.js +6 -260
  165. package/dist/workspace/resource-compilers.js +1 -1
  166. package/dist/workspace/support/discovery.js +1 -1
  167. package/package.json +1 -1
  168. package/dist/runtime/adapter/index.d.ts +0 -13
  169. package/dist/runtime/adapter/index.js +0 -13
  170. package/dist/runtime/harness/index.d.ts +0 -19
  171. package/dist/runtime/harness/index.js +0 -19
  172. package/dist/runtime/maintenance/index.d.ts +0 -4
  173. package/dist/runtime/maintenance/index.js +0 -4
  174. package/dist/runtime/parsing/index.d.ts +0 -2
  175. package/dist/runtime/parsing/index.js +0 -2
  176. package/dist/runtime/support/index.d.ts +0 -4
  177. package/dist/runtime/support/index.js +0 -4
  178. package/dist/workspace/support/index.d.ts +0 -2
  179. package/dist/workspace/support/index.js +0 -2
  180. /package/dist/{procedural → knowledge/procedural}/config.d.ts +0 -0
  181. /package/dist/{procedural → knowledge/procedural}/config.js +0 -0
  182. /package/dist/{procedural → knowledge/procedural}/index.d.ts +0 -0
  183. /package/dist/{procedural → knowledge/procedural}/index.js +0 -0
  184. /package/dist/{presentation.d.ts → projections/presentation.d.ts} +0 -0
  185. /package/dist/{presentation.js → projections/presentation.js} +0 -0
  186. /package/dist/{request-events.js → projections/request-events.js} +0 -0
  187. /package/dist/{upstream-events.d.ts → projections/upstream-events.d.ts} +0 -0
  188. /package/dist/runtime/{support → env}/runtime-env.d.ts +0 -0
  189. /package/dist/runtime/{support → env}/runtime-env.js +0 -0
  190. /package/dist/runtime/{support → layout}/runtime-layout.d.ts +0 -0
  191. /package/dist/runtime/{support → layout}/runtime-layout.js +0 -0
  192. /package/dist/runtime/{support → prompts}/runtime-prompts.d.ts +0 -0
  193. /package/dist/runtime/{support → prompts}/runtime-prompts.js +0 -0
  194. /package/dist/runtime/{support → skills}/skill-metadata.d.ts +0 -0
  195. /package/dist/runtime/{support → skills}/skill-metadata.js +0 -0
@@ -1,50 +1 @@
1
- import { type AcpHttpClientOptions, type AcpStdioClient, type AcpStdioClientOptions } from "../acp.js";
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";
@@ -1,219 +1 @@
1
- import { createAcpHttpClient, createAcpStdioClient, } from "../acp.js";
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>;
@@ -1,4 +1,4 @@
1
- export { AcpHarnessClient, createAcpHarnessClient, createAcpHttpHarnessClient, createAcpStdioHarnessClient } from "./acp.js";
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 "./acp.js";
4
+ export type { AcpHarnessTransport } from "../protocol/acp/harness-client.js";
@@ -1,2 +1,2 @@
1
- export { AcpHarnessClient, createAcpHarnessClient, createAcpHttpHarnessClient, createAcpStdioHarnessClient } from "./acp.js";
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 {};