@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.
Files changed (195) hide show
  1. package/README.md +14 -0
  2. package/README.zh.md +14 -0
  3. package/dist/acp.d.ts +1 -116
  4. package/dist/acp.js +1 -310
  5. package/dist/api.d.ts +1 -1
  6. package/dist/api.js +1 -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 -77
  44. package/dist/cli.js +2 -3023
  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 +3 -3
  71. package/dist/index.js +1 -1
  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 -76
  77. package/dist/mcp.js +2 -428
  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 +7 -235
  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 +2 -2
  139. package/dist/runtime/harness.js +7 -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,1042 +1,5 @@
1
- import type { RequestState } from "./core.js";
2
- import type { CompiledAgentBinding, CompiledModel, CompiledTool, ParsedAgentObject, ParsedToolObject, WorkspaceBundle } from "./workspace.js";
3
- /**
4
- * Persisted runtime summary for an inspectable conversation session.
5
- * This is the canonical runtime-facing conversation record.
6
- */
7
- export type SessionSummary = {
8
- agentId: string;
9
- sessionId: string;
10
- latestRequestId: string;
11
- createdAt: string;
12
- updatedAt: string;
13
- status: RequestState;
14
- currentAgentId?: string;
15
- };
16
- /**
17
- * Bulk session-history projection for conversation lists and sidebars.
18
- * This stays runtime-owned and intentionally lighter than full session inspection.
19
- */
20
- export type SessionListSummary = SessionSummary & {
21
- entryAgentId: string;
22
- messageCount: number;
23
- hasVisibleMessages: boolean;
24
- lastMessageRole?: TranscriptMessage["role"];
25
- title?: string;
26
- snippet?: string;
27
- };
28
- export type KnownHarnessEventType = "request.created" | "request.queued" | "request.dequeued" | "request.state.changed" | "request.resumed" | "approval.requested" | "approval.resolved" | "artifact.created" | "output.delta" | "runtime.health.changed" | "runtime.synthetic_fallback";
29
- export type HarnessEventType = KnownHarnessEventType | (string & {});
30
- /**
31
- * Persisted runtime event recorded by the harness runtime.
32
- * Event payload semantics should stay aligned with upstream/runtime behavior
33
- * rather than introducing a second execution protocol.
34
- */
35
- export type HarnessEvent = {
36
- eventId: string;
37
- eventType: HarnessEventType;
38
- timestamp: string;
39
- sessionId: string;
40
- requestId: string;
41
- sequence: number;
42
- source: "runtime" | "policy" | "surface" | "worker";
43
- payload: Record<string, unknown>;
44
- };
45
- export type HarnessEventListener = (event: HarnessEvent) => void | Promise<void>;
46
- export type HarnessEventProjection = {
47
- name?: string;
48
- shouldHandle?: (event: HarnessEvent) => boolean;
49
- handleEvent: HarnessEventListener;
50
- };
51
- /**
52
- * Operator-facing timeline item projected from persisted runtime events.
53
- * This is an inspection convenience over runtime records, not a new execution protocol.
54
- */
55
- export type RuntimeTimelineItem = {
56
- eventId: string;
57
- sessionId: string;
58
- requestId: string;
59
- eventType: HarnessEventType;
60
- timestamp: string;
61
- sequence: number;
62
- source: HarnessEvent["source"];
63
- kind: "request" | "queue" | "approval" | "recovery" | "artifact" | "other";
64
- payload: Record<string, unknown>;
65
- };
66
- export type RuntimeTimelineProjectionOptions = {
67
- sessionId?: string;
68
- requestId?: string;
69
- };
70
- /**
71
- * Ordered upstream/runtime execution trace projected from persisted upstream events.
72
- * This is an inspection surface for recovery/debugging, not a second execution protocol.
73
- */
74
- export type RuntimeHistoryItem = {
75
- type: "thinking";
76
- text: string;
77
- } | {
78
- type: "step";
79
- step: string;
80
- category: "llm" | "tool" | "skill" | "memory" | "chain" | "approval";
81
- status: "started" | "completed" | "failed";
82
- key: string;
83
- } | {
84
- type: "tool-result";
85
- toolName: string;
86
- output: unknown;
87
- isError?: boolean;
88
- key: string;
89
- };
90
- export type RuntimeSurfaceKind = "agent" | "llm" | "memory" | "skill" | "tool";
91
- export type RuntimeSurfaceItem = {
92
- kind: RuntimeSurfaceKind;
93
- id: string;
94
- name: string;
95
- action: string;
96
- status: "started" | "completed" | "failed";
97
- agentId?: string;
98
- agentName?: string;
99
- ownerAgentId?: string;
100
- ownerAgentName?: string;
101
- sourceEventId?: string;
102
- detail?: Record<string, unknown>;
103
- };
104
- export type AgentReference = {
105
- id: string;
106
- name: string;
107
- };
108
- export type RuntimeQueueDiagnostics = {
109
- status: HealthStatus;
110
- activeRequestSlots: number;
111
- pendingRequestSlots: number;
112
- stuckRequests: number;
113
- queueEvents: RuntimeTimelineItem[];
114
- summary: string;
115
- };
116
- export type RuntimeGovernanceDiagnostics = {
117
- runsWithGovernance: number;
118
- highRiskTools: number;
119
- approvalRequiredTools: number;
120
- autoApprovedTools: number;
121
- autoRejectedTools: number;
122
- untrustedMcpTools: number;
123
- crossTenantTools: number;
124
- writeAccessMcpTools: number;
125
- summary: string;
126
- };
127
- export type RuntimeOperatorOverview = {
128
- updatedAt: string;
129
- summary: string;
130
- health: RuntimeHealthSnapshot;
131
- queue: RuntimeQueueDiagnostics;
132
- approvals: {
133
- total: number;
134
- items: ApprovalRecord[];
135
- };
136
- requests: {
137
- total: number;
138
- states: Partial<Record<RequestState, number>>;
139
- items: RequestSummary[];
140
- };
141
- governance: RuntimeGovernanceDiagnostics;
142
- };
143
- export type RuntimeToolExecutionToolPolicy = {
144
- toolId: string;
145
- name: string;
146
- retryable: boolean;
147
- hasInputSchema: boolean;
148
- requiresApproval: boolean;
149
- };
150
- export type RuntimeSnapshotModel = {
151
- id: string;
152
- provider: string;
153
- model: string;
154
- baseUrl?: string;
155
- };
156
- export type RuntimeSnapshotTool = {
157
- name: string;
158
- description: string;
159
- };
160
- export type RuntimeSnapshotSkill = {
161
- name: string;
162
- path: string;
163
- description?: string;
164
- };
165
- export type RuntimeSnapshotTracing = {
166
- enabled: boolean;
167
- correlationId: string;
168
- tags?: string[];
169
- metadata?: Record<string, unknown>;
170
- };
171
- export type RuntimeGovernanceRiskLevel = "low" | "medium" | "high";
172
- export type RuntimeGovernanceDecisionMode = "none" | "manual" | "auto-approve" | "auto-reject" | "deny-and-continue";
173
- export type RuntimeGovernanceToolPolicy = {
174
- toolName: string;
175
- toolId: string;
176
- toolType: string;
177
- category: "local" | "backend" | "mcp" | "provider-native";
178
- mcpServerRef?: string;
179
- mcpTransport?: string;
180
- mcpTrustTier?: "trusted" | "reviewed" | "untrusted";
181
- mcpAccess?: "read-only" | "read-write";
182
- tenantScope?: "workspace" | "project" | "tenant" | "cross-tenant";
183
- approvalReason?: string;
184
- promptInjectionRisk?: RuntimeGovernanceRiskLevel;
185
- oauthScopes?: string[];
186
- risk: RuntimeGovernanceRiskLevel;
187
- requiresApproval: boolean;
188
- approvalPolicy: "explicit-hitl" | "runtime-default" | "none";
189
- decisionMode: RuntimeGovernanceDecisionMode;
190
- hasInputSchema: boolean;
191
- inputRiskHints: string[];
192
- };
193
- export type RuntimeGovernanceBundle = {
194
- bundleId: string;
195
- title: string;
196
- summary: string;
197
- toolPolicies: RuntimeGovernanceToolPolicy[];
198
- };
199
- export type RuntimeSnapshot = {
200
- agentId: string;
201
- model?: RuntimeSnapshotModel;
202
- tools: RuntimeSnapshotTool[];
203
- skills: RuntimeSnapshotSkill[];
204
- memory: string[];
205
- tracing?: RuntimeSnapshotTracing;
206
- governance?: {
207
- bundles: RuntimeGovernanceBundle[];
208
- };
209
- };
210
- export type MemoryCandidate = {
211
- content: string;
212
- summary?: string;
213
- kind?: string;
214
- scope?: string;
215
- confidence?: number;
216
- tags?: string[];
217
- sourceType?: string;
218
- sourceRef?: string;
219
- observedAt?: string;
220
- sensitivity?: string;
221
- noStore?: boolean;
222
- knowledgeMutation?: {
223
- identity: string;
224
- operation?: "create" | "update" | "delete";
225
- };
226
- operationalRule?: {
227
- trigger: string;
228
- action: string;
229
- target: string;
230
- effect?: "apply" | "invalidate";
231
- };
232
- provenance?: Record<string, unknown>;
233
- };
234
- export type MemoryKind = "semantic" | "episodic" | "procedural";
235
- export type MemoryScope = "session" | "agent" | "workspace" | "user" | "project";
236
- export type MemoryRecordStatus = "active" | "stale" | "conflicted" | "archived" | "pending_review";
237
- export type MemoryDecisionAction = "reject" | "store" | "merge" | "refresh" | "supersede" | "archive" | "review";
238
- export type KnowledgeMutationOperation = "create" | "update" | "delete";
239
- export type MemoryRecord = {
240
- id: string;
241
- canonicalKey: string;
242
- kind: MemoryKind;
243
- scope: MemoryScope;
244
- content: string;
245
- summary: string;
246
- status: MemoryRecordStatus;
247
- confidence: number;
248
- createdAt: string;
249
- observedAt: string;
250
- lastConfirmedAt: string;
251
- expiresAt?: string;
252
- sourceType: string;
253
- sourceRefs: string[];
254
- tags: string[];
255
- knowledgeIdentity?: string;
256
- knowledgeOperation?: KnowledgeMutationOperation;
257
- operationalRule?: {
258
- trigger: string;
259
- action: string;
260
- target: string;
261
- effect?: "apply" | "invalidate";
262
- };
263
- provenance: Record<string, unknown>;
264
- revision: number;
265
- supersedes: string[];
266
- conflictsWith: string[];
267
- };
268
- export type MemoryDecision = {
269
- action: MemoryDecisionAction;
270
- reason: string;
271
- recordId?: string;
272
- kind?: MemoryRecord["kind"];
273
- scope?: MemoryScope;
274
- confidence?: number;
275
- maintenance?: "none" | "dedupe" | "merge" | "review";
276
- reviewRequired?: boolean;
277
- };
278
- export type MemorizeInputRecord = {
279
- content: string;
280
- summary?: string;
281
- kind?: MemoryKind;
282
- scope?: MemoryScope;
283
- confidence?: number;
284
- tags?: string[];
285
- sourceType?: string;
286
- sourceRef?: string;
287
- observedAt?: string;
288
- sensitivity?: string;
289
- knowledgeMutation?: {
290
- identity: string;
291
- operation?: KnowledgeMutationOperation;
292
- };
293
- operationalRule?: {
294
- trigger: string;
295
- action: string;
296
- target: string;
297
- effect?: "apply" | "invalidate";
298
- };
299
- provenance?: Record<string, unknown>;
300
- noStore?: boolean;
301
- };
302
- export type MemorizeInput = {
303
- records: MemorizeInputRecord[];
304
- sessionId?: string;
305
- requestId?: string;
306
- agentId?: string;
307
- userId?: string;
308
- projectId?: string;
309
- recordedAt?: string;
310
- };
311
- export type KnowledgeRuntimeContext = {
312
- sessionId?: string;
313
- requestId?: string;
314
- agentId?: string;
315
- workspaceId: string;
316
- userId?: string;
317
- projectId?: string;
318
- recordedAt?: string;
319
- };
320
- export type MemorizeResult = {
321
- records: MemoryRecord[];
322
- decisions: MemoryDecision[];
323
- };
324
- export type RecallInput = {
325
- query: string;
326
- scopes?: MemoryScope[];
327
- kinds?: MemoryKind[];
328
- topK?: number;
329
- includeStale?: boolean;
330
- sessionId?: string;
331
- agentId?: string;
332
- workspaceId?: string;
333
- userId?: string;
334
- projectId?: string;
335
- };
336
- export type RecallResult = {
337
- items: MemoryRecord[];
338
- };
339
- export type ListMemoriesInput = {
340
- scopes?: MemoryScope[];
341
- kinds?: MemoryKind[];
342
- status?: MemoryRecordStatus[];
343
- sessionId?: string;
344
- agentId?: string;
345
- workspaceId?: string;
346
- userId?: string;
347
- projectId?: string;
348
- limit?: number;
349
- };
350
- export type ListMemoriesResult = {
351
- items: MemoryRecord[];
352
- };
353
- export type UpdateMemoryInput = {
354
- memoryId: string;
355
- content?: string;
356
- summary?: string;
357
- status?: MemoryRecordStatus;
358
- confidence?: number;
359
- expiresAt?: string | null;
360
- sourceType?: string;
361
- sourceRefs?: string[];
362
- tags?: string[];
363
- observedAt?: string;
364
- lastConfirmedAt?: string;
365
- knowledgeIdentity?: string;
366
- knowledgeOperation?: KnowledgeMutationOperation;
367
- provenance?: Record<string, unknown>;
368
- };
369
- export type RemoveMemoryInput = {
370
- memoryId: string;
371
- };
372
- /**
373
- * Operator-facing projection of tool execution policy already compiled into a binding.
374
- * This summarizes existing timeout, retry, validation, and retry-safety hints without
375
- * introducing a second tool framework or stronger guarantees than the runtime provides.
376
- */
377
- export type RuntimeToolExecutionPolicy = {
378
- agentId: string;
379
- invokeTimeoutMs?: number;
380
- streamIdleTimeoutMs: number;
381
- providerRetries: {
382
- maxAttempts: number;
383
- backoffMs: number;
384
- retryableMessages: string[];
385
- };
386
- validation: {
387
- schemaBoundToolCount: number;
388
- allToolsHaveSchemas: boolean;
389
- };
390
- idempotencyHints: {
391
- replayEligible: boolean;
392
- retryableToolCount: number;
393
- nonRetryableToolCount: number;
394
- };
395
- tools: RuntimeToolExecutionToolPolicy[];
396
- };
397
- export type RuntimeEventSink = {
398
- publish: (event: HarnessEvent) => void;
399
- subscribe: (listener: HarnessEventListener) => () => void;
400
- registerProjection: (projection: HarnessEventProjection) => () => void;
401
- };
402
- export type HealthStatus = "healthy" | "degraded" | "unhealthy";
403
- export type RuntimeHealthCheck = {
404
- status: HealthStatus;
405
- updatedAt: string;
406
- reason?: string;
407
- };
408
- export type RuntimeHealthSymptom = {
409
- code: string;
410
- severity: "info" | "warn" | "error";
411
- message: string;
412
- firstSeenAt: string;
413
- lastSeenAt: string;
414
- };
415
- /**
416
- * Harness-operated operational state built from persisted records and runtime telemetry.
417
- * This is runtime ops state, not an upstream execution semantic.
418
- */
419
- export type RuntimeHealthSnapshot = {
420
- status: HealthStatus;
421
- updatedAt: string;
422
- checks: {
423
- runtime: RuntimeHealthCheck;
424
- llm: RuntimeHealthCheck;
425
- persistence: RuntimeHealthCheck;
426
- capacity: RuntimeHealthCheck;
427
- workload: RuntimeHealthCheck;
428
- };
429
- symptoms: RuntimeHealthSymptom[];
430
- stats: {
431
- activeRequestSlots: number;
432
- pendingRequestSlots: number;
433
- pendingApprovals: number;
434
- stuckRequests: number;
435
- checkpointBytes?: number;
436
- runtimeDbBytes?: number;
437
- artifactBytes?: number;
438
- llmSuccessRate1m?: number;
439
- llmP95LatencyMs1m?: number;
440
- };
441
- };
442
- export type RequestResult = {
443
- sessionId: string;
444
- requestId: string;
445
- state: RequestState;
446
- output: string;
447
- finalMessageText?: string;
448
- outputContent?: unknown;
449
- contentBlocks?: unknown[];
450
- structuredResponse?: unknown;
451
- interruptContent?: string;
452
- agentId?: string;
453
- approvalId?: string;
454
- pendingActionId?: string;
455
- delegationId?: string;
456
- artifacts?: ArtifactRecord[];
457
- metadata?: Record<string, unknown>;
458
- };
459
- export type UpstreamRuntimeEvent = unknown;
460
- export type UpstreamRuntimeEventItem = {
461
- sessionId: string;
462
- requestId: string;
463
- surfaceItem: RuntimeSurfaceItem;
464
- event: UpstreamRuntimeEvent;
465
- };
466
- export type RuntimeListeners = {
467
- onEvent?: (event: HarnessEvent) => void | Promise<void>;
468
- onUpstreamEvent?: (event: UpstreamRuntimeEvent) => void | Promise<void>;
469
- onTraceItem?: (item: UpstreamRuntimeEventItem) => void | Promise<void>;
470
- onPlanState?: (planState: RequestPlanState) => void | Promise<void>;
471
- };
472
- export type RequestExecutionStepKind = RuntimeSurfaceKind | "approval";
473
- export type RequestExecutionStep = {
474
- id: string;
475
- kind: RequestExecutionStepKind;
476
- name: string;
477
- action: string;
478
- status: "started" | "completed" | "failed";
479
- occurredAt?: string;
480
- startedAt?: string;
481
- endedAt?: string;
482
- agentId?: string;
483
- agentName?: string;
484
- ownerAgentId?: string;
485
- ownerAgentName?: string;
486
- sourceEventId?: string;
487
- detail?: Record<string, unknown>;
488
- output?: unknown;
489
- isError?: boolean;
490
- };
491
- export type RequestTodoSnapshot = RequestPlanItem & {
492
- key: string;
493
- events: RequestExecutionStep[];
494
- };
495
- export type RequestApprovalSnapshot = {
496
- approvalId?: string;
497
- pendingActionId?: string;
498
- toolName?: string;
499
- status?: ApprovalRecord["status"];
500
- allowedDecisions?: Array<"approve" | "edit" | "reject">;
501
- };
502
- export type RequestEventSnapshot = {
503
- sessionId: string;
504
- requestId: string;
505
- updatedAt: string;
506
- state: RequestResult["state"];
507
- agentId?: string;
508
- plan: {
509
- version: number;
510
- updatedAt: string;
511
- summary: RequestPlanSummary;
512
- items: RequestTodoSnapshot[];
513
- };
514
- activeTodoKey?: string;
515
- activeEventId?: string;
516
- approval?: RequestApprovalSnapshot;
517
- output: string;
518
- contentBlocks?: unknown[];
519
- structuredResponse?: unknown;
520
- interruptContent?: string;
521
- events: RequestExecutionStep[];
522
- };
523
- export type RequestDataEvent = {
524
- type: "output.text.delta";
525
- sessionId: string;
526
- requestId: string;
527
- agentId: string;
528
- text: string;
529
- } | {
530
- type: "progress.commentary";
531
- sessionId: string;
532
- requestId: string;
533
- agentId: string;
534
- text: string;
535
- } | {
536
- type: "output.content-blocks";
537
- sessionId: string;
538
- requestId: string;
539
- agentId: string;
540
- contentBlocks: unknown[];
541
- } | {
542
- type: "tool.result";
543
- sessionId: string;
544
- requestId: string;
545
- agentId: string;
546
- toolName: string;
547
- output: unknown;
548
- isError?: boolean;
549
- } | {
550
- type: "debug.upstream";
551
- sessionId: string;
552
- requestId: string;
553
- surfaceItem?: RuntimeSurfaceItem;
554
- event: UpstreamRuntimeEvent;
555
- } | {
556
- type: "debug.profile";
557
- sessionId: string;
558
- requestId: string;
559
- step: RequestExecutionStep;
560
- };
561
- export type RequestListeners = RuntimeListeners & {
562
- eventListener?: (snapshot: RequestEventSnapshot) => void | Promise<void>;
563
- dataListener?: (event: RequestDataEvent) => void | Promise<void>;
564
- };
565
- export type MessageContentPart = {
566
- type: "text";
567
- text: string;
568
- } | {
569
- type: "image_url";
570
- image_url: string;
571
- };
572
- export type MessageContent = string | MessageContentPart[];
573
- export type InvocationEnvelope = {
574
- context?: Record<string, unknown>;
575
- inputs?: Record<string, unknown>;
576
- attachments?: Record<string, unknown>;
577
- capabilities?: Record<string, unknown>;
578
- };
579
- export type RequestStartOptions = {
580
- agentId?: string;
581
- input: MessageContent;
582
- sessionId?: string;
583
- priority?: number;
584
- invocation?: InvocationEnvelope;
585
- listeners?: RequestListeners;
586
- };
587
- export type RequestDecisionOptions = {
588
- sessionId: string;
589
- requestId?: string;
590
- approvalId?: string;
591
- decision: "approve" | "edit" | "reject";
592
- editedInput?: Record<string, unknown>;
593
- listeners?: RequestListeners;
594
- };
595
- export type RequestOptions = RequestStartOptions | RequestDecisionOptions;
596
- export type HarnessStreamItem = {
597
- type: "event";
598
- event: HarnessEvent;
599
- } | {
600
- type: "commentary";
601
- sessionId: string;
602
- requestId: string;
603
- agentId: string;
604
- content: string;
605
- } | {
606
- type: "content";
607
- sessionId: string;
608
- requestId: string;
609
- agentId: string;
610
- content: string;
611
- } | {
612
- type: "content-blocks";
613
- sessionId: string;
614
- requestId: string;
615
- agentId: string;
616
- contentBlocks: unknown[];
617
- } | {
618
- type: "tool-result";
619
- sessionId: string;
620
- requestId: string;
621
- agentId: string;
622
- toolName: string;
623
- output: unknown;
624
- isError?: boolean;
625
- } | {
626
- type: "plan-state";
627
- sessionId: string;
628
- requestId: string;
629
- agentId: string;
630
- planState: RequestPlanState;
631
- } | {
632
- type: "upstream-event";
633
- sessionId: string;
634
- requestId: string;
635
- surfaceItem?: RuntimeSurfaceItem;
636
- event: UpstreamRuntimeEvent;
637
- } | {
638
- type: "profile-step";
639
- sessionId: string;
640
- requestId: string;
641
- step: RequestExecutionStep;
642
- } | {
643
- type: "result";
644
- result: RequestResult;
645
- };
646
- export type TranscriptMessage = {
647
- role: "user" | "assistant";
648
- content: MessageContent;
649
- requestId: string;
650
- createdAt: string;
651
- };
652
- export type SessionRequestRecord = {
653
- requestId: string;
654
- sessionId: string;
655
- agentId: string;
656
- parentRequestId?: string;
657
- executionMode: string;
658
- adapterKind?: string;
659
- createdAt: string;
660
- updatedAt: string;
661
- state: RequestState;
662
- checkpointRef: string | null;
663
- resumable: boolean;
664
- startedAt: string;
665
- endedAt?: string;
666
- lastActivityAt: string;
667
- currentAgentId?: string;
668
- delegationChain: string[];
669
- runtimeSnapshot?: RuntimeSnapshot;
670
- };
671
- /**
672
- * Persisted request summary projected from upstream execution state plus runtime lifecycle metadata.
673
- * This is the canonical runtime-facing execution record.
674
- */
675
- export type RequestSummary = SessionRequestRecord;
676
- export type RequestRecord = RequestSummary & {
677
- traceItems?: unknown[];
678
- runtimeTimeline?: RuntimeTimelineItem[];
679
- };
680
- export type RequestPlanItemStatus = "pending" | "in_progress" | "completed" | "failed" | "cancelled" | "blocked" | (string & {});
681
- export type RequestPlanItem = {
682
- id?: string;
683
- content: string;
684
- status: RequestPlanItemStatus;
685
- ownerAgentId?: string;
686
- startedAt?: string;
687
- endedAt?: string;
688
- result?: unknown;
689
- metadata?: Record<string, unknown>;
690
- };
691
- export type RequestPlanSummary = {
692
- total: number;
693
- pending: number;
694
- inProgress: number;
695
- completed: number;
696
- failed: number;
697
- cancelled: number;
698
- blocked: number;
699
- };
700
- export type RequestPlanState = {
701
- sessionId: string;
702
- requestId: string;
703
- version: number;
704
- updatedAt: string;
705
- items: RequestPlanItem[];
706
- summary: RequestPlanSummary;
707
- };
708
- /**
709
- * Persisted session inspection record assembled from runtime records.
710
- * This is an inspectable projection, not a second session semantic model.
711
- */
712
- export type SessionRecord = {
713
- sessionId: string;
714
- entryAgentId: string;
715
- currentAgentId?: string;
716
- currentState: RequestState;
717
- latestRequestId: string;
718
- createdAt: string;
719
- updatedAt: string;
720
- messages: TranscriptMessage[];
721
- requests: RequestRecord[];
722
- pendingDecision?: {
723
- approvalId: string;
724
- pendingActionId: string;
725
- toolName: string;
726
- allowedDecisions: Array<"approve" | "edit" | "reject">;
727
- requestedAt: string;
728
- };
729
- };
730
- export type ResumeOptions = {
731
- sessionId?: string;
732
- requestId?: string;
733
- approvalId?: string;
734
- decision?: "approve" | "edit" | "reject";
735
- editedInput?: Record<string, unknown>;
736
- };
737
- export type CancelOptions = {
738
- requestId: string;
739
- reason?: string;
740
- };
741
- export type RestartConversationOptions = {
742
- sessionId: string;
743
- mode: "restart-in-session" | "restart-new-session";
744
- input: string;
745
- };
746
- /**
747
- * Persisted approval inspection record.
748
- * Approval decision semantics should stay aligned with upstream interrupt/approval
749
- * behavior even though the record is stored and resolved through harness persistence.
750
- */
751
- export type ApprovalRecord = {
752
- approvalId: string;
753
- pendingActionId: string;
754
- sessionId: string;
755
- requestId: string;
756
- toolName: string;
757
- approvalReason?: string;
758
- status: "pending" | "approved" | "edited" | "rejected" | "expired";
759
- requestedAt: string;
760
- resolvedAt: string | null;
761
- allowedDecisions: Array<"approve" | "edit" | "reject">;
762
- inputPreview: Record<string, unknown>;
763
- };
764
- export type InternalApprovalRecord = ApprovalRecord & {
765
- toolCallId: string;
766
- checkpointRef: string;
767
- eventRefs: string[];
768
- };
769
- export type ArtifactRecord = {
770
- artifactId: string;
771
- kind: string;
772
- path: string;
773
- createdAt: string;
774
- };
775
- export type ArtifactListing = {
776
- sessionId: string;
777
- requestId: string;
778
- items: ArtifactRecord[];
779
- };
780
- export type RuntimeToolResolver = (toolIds: string[], binding?: CompiledAgentBinding) => unknown[];
781
- export type RuntimeModelResolver = (modelId: string) => unknown;
782
- export type RuntimeEmbeddingModelResolver = (embeddingModelId: string) => unknown;
783
- export type RuntimeVectorStoreResolver = (vectorStoreId: string) => unknown;
784
- export type RuntimeMiddlewareResolver = (binding: CompiledAgentBinding) => unknown[];
785
- export type RuntimeDeclaredMiddlewareResolver = (input: {
786
- kind: string;
787
- config: Record<string, unknown>;
788
- binding?: CompiledAgentBinding;
789
- resolveModel: (model: CompiledModel) => Promise<unknown>;
790
- }) => unknown | unknown[] | null | undefined | Promise<unknown | unknown[] | null | undefined>;
791
- export type RuntimeCheckpointerResolver = (binding: CompiledAgentBinding) => unknown;
792
- export type RuntimeStoreResolver = (binding: CompiledAgentBinding) => unknown;
793
- export type RuntimeBackendResolver = (binding: CompiledAgentBinding) => unknown;
794
- export type RuntimeScheduleDefinition = {
795
- type: "cron";
796
- expression: string;
797
- } | {
798
- type: "interval";
799
- everyMinutes: number;
800
- } | {
801
- type: "daily";
802
- time: string;
803
- } | {
804
- type: "weekly";
805
- time: string;
806
- days: string[];
807
- };
808
- export type RuntimeScheduleStatus = "active" | "missing";
809
- export type RuntimeScheduleSource = "crontab" | "schtasks";
810
- export type RuntimeScheduleRecord = {
811
- scheduleId: string;
812
- name: string;
813
- instruction: string;
814
- agentId?: string;
815
- schedule: RuntimeScheduleDefinition;
816
- source: RuntimeScheduleSource;
817
- platform: NodeJS.Platform;
818
- status: RuntimeScheduleStatus;
819
- systemId: string;
820
- createdAt: string;
821
- updatedAt: string;
822
- metadata?: Record<string, unknown>;
823
- };
824
- export type RuntimeScheduleListFilter = {
825
- scheduleId?: string;
826
- name?: string;
827
- agentId?: string;
828
- source?: RuntimeScheduleSource;
829
- status?: RuntimeScheduleStatus;
830
- query?: string;
831
- };
832
- export type RuntimeScheduleManageInput = {
833
- operation?: "create" | "list" | "get" | "update" | "delete";
834
- scheduleId?: string;
835
- name?: string;
836
- instruction?: string;
837
- agentId?: string;
838
- schedule?: RuntimeScheduleDefinition;
839
- metadata?: Record<string, unknown>;
840
- filters?: RuntimeScheduleListFilter;
841
- };
842
- export type RuntimeScheduleManageResult = {
843
- ok: true;
844
- operation: "create" | "get" | "update";
845
- schedule: RuntimeScheduleRecord;
846
- } | {
847
- ok: true;
848
- operation: "list";
849
- items: RuntimeScheduleRecord[];
850
- total: number;
851
- } | {
852
- ok: true;
853
- operation: "delete";
854
- scheduleId: string;
855
- };
856
- export type RuntimeScheduleManager = {
857
- manageSchedule(input: RuntimeScheduleManageInput): Promise<RuntimeScheduleManageResult>;
858
- getSchedule(scheduleId: string): Promise<RuntimeScheduleRecord | null>;
859
- };
860
- export type RuntimeAdapterOptions = {
861
- toolResolver?: RuntimeToolResolver;
862
- modelResolver?: RuntimeModelResolver;
863
- embeddingModelResolver?: RuntimeEmbeddingModelResolver;
864
- vectorStoreResolver?: RuntimeVectorStoreResolver;
865
- middlewareResolver?: RuntimeMiddlewareResolver;
866
- declaredMiddlewareResolver?: RuntimeDeclaredMiddlewareResolver;
867
- checkpointerResolver?: RuntimeCheckpointerResolver;
868
- storeResolver?: RuntimeStoreResolver;
869
- backendResolver?: RuntimeBackendResolver;
870
- scheduleManager?: RuntimeScheduleManager;
871
- functionToolContextResolver?: (input: {
872
- binding?: CompiledAgentBinding;
873
- sessionId?: string;
874
- requestId?: string;
875
- }) => Record<string, unknown> | undefined;
876
- /**
877
- * DeepAgent execution semantics stay upstream-owned.
878
- * `minimal` keeps harness runtime persistence/ops active while only attaching
879
- * upstream substrate objects when the binding explicitly needs them.
880
- */
881
- deepAgentUpstreamSubstrateMode?: "full" | "minimal";
882
- };
883
- export type ToolKindAdapter = {
884
- type: string;
885
- validate: (tool: ParsedToolObject, tools: Map<string, ParsedToolObject>) => void;
886
- compile: (tool: ParsedToolObject, tools: Map<string, ParsedToolObject>) => CompiledTool[];
887
- };
888
- export type SkillSourceResolver = {
889
- kind: string;
890
- resolve: (input: {
891
- workspaceRoot: string;
892
- skill: {
893
- sourcePathRef: string;
894
- };
895
- packagingRoots: string[];
896
- }) => string[];
897
- };
898
- export type SkillInheritancePolicy = {
899
- kind: string;
900
- apply: (input: {
901
- agent: ParsedAgentObject;
902
- ownSkills: string[];
903
- parentSkills: string[];
904
- }) => string[];
905
- };
906
- export type SkillPackagingConvention = {
907
- kind: string;
908
- resolve: (input: {
909
- workspaceRoot: string;
910
- skill: {
911
- sourcePathRef: string;
912
- };
913
- }) => string[];
914
- };
915
- export type PolicyDecision = {
916
- allowed: boolean;
917
- reasons: string[];
918
- bundles?: RuntimeGovernanceBundle[];
919
- };
920
- export type PolicyEvaluator = {
921
- kind: string;
922
- evaluate: (binding: CompiledAgentBinding) => PolicyDecision | null;
923
- };
924
- export type EventSubscriber = {
925
- kind: string;
926
- onEvent: HarnessEventListener;
927
- };
928
- export type RuntimeEvaluationExportInput = {
929
- sessionId: string;
930
- requestId: string;
931
- includeArtifacts?: boolean;
932
- includeArtifactContents?: boolean;
933
- expectedOutput?: string;
934
- rubric?: string[];
935
- tags?: string[];
936
- metadata?: Record<string, unknown>;
937
- };
938
- export type RuntimeArtifactWriteInput = {
939
- sessionId: string;
940
- requestId: string;
941
- kind: string;
942
- path: string;
943
- content: unknown;
944
- artifactId?: string;
945
- createdAt?: string;
946
- };
947
- export type RuntimeEvaluationArtifact = ArtifactRecord & {
948
- content?: unknown;
949
- };
950
- export type RuntimeEvaluationExport = {
951
- session: SessionRecord | null;
952
- request: RequestRecord | null;
953
- requestInput: {
954
- input: MessageContent;
955
- invocation?: InvocationEnvelope;
956
- priority?: number;
957
- } | null;
958
- approvals: ApprovalRecord[];
959
- transcript: TranscriptMessage[];
960
- events: HarnessEvent[];
961
- artifacts: RuntimeEvaluationArtifact[];
962
- runtimeHealth: RuntimeHealthSnapshot;
963
- expectedOutput?: string;
964
- rubric: string[];
965
- tags: string[];
966
- metadata?: Record<string, unknown>;
967
- };
968
- export type RuntimeEvaluationReplayInput = {
969
- bundle: RuntimeEvaluationExport;
970
- agentId?: string;
971
- sessionId?: string;
972
- invocation?: InvocationEnvelope;
973
- };
974
- export type RuntimeEvaluationReplayResult = {
975
- request: {
976
- agentId: string;
977
- input: MessageContent;
978
- invocation?: InvocationEnvelope;
979
- sessionId?: string;
980
- };
981
- result: RequestResult;
982
- assertions: {
983
- expectedOutputMatched?: boolean;
984
- };
985
- };
986
- export type RuntimeRequestPackageInput = {
987
- sessionId: string;
988
- requestId: string;
989
- includeArtifacts?: boolean;
990
- includeArtifactContents?: boolean;
991
- includeRuntimeHealth?: boolean;
992
- };
993
- export type RuntimeApprovalSummary = {
994
- total: number;
995
- pending: number;
996
- approved: number;
997
- edited: number;
998
- rejected: number;
999
- expired: number;
1000
- toolNames: string[];
1001
- approvalReasons: string[];
1002
- };
1003
- export type RuntimeGovernanceEvidence = {
1004
- bundles: RuntimeGovernanceBundle[];
1005
- approvalSummary: RuntimeApprovalSummary;
1006
- summary: string;
1007
- };
1008
- export type RuntimeRequestPackage = {
1009
- session: SessionRecord | null;
1010
- request: RequestRecord | null;
1011
- approvals: ApprovalRecord[];
1012
- transcript: TranscriptMessage[];
1013
- events: HarnessEvent[];
1014
- artifacts: RuntimeEvaluationArtifact[];
1015
- governance: RuntimeGovernanceEvidence;
1016
- runtimeHealth?: RuntimeHealthSnapshot;
1017
- };
1018
- export type RuntimeSessionPackageInput = {
1019
- sessionId: string;
1020
- includeArtifacts?: boolean;
1021
- includeArtifactContents?: boolean;
1022
- includeRuntimeHealth?: boolean;
1023
- };
1024
- export type RuntimeSessionPackage = {
1025
- session: SessionRecord | null;
1026
- requests: RequestRecord[];
1027
- approvals: ApprovalRecord[];
1028
- transcript: TranscriptMessage[];
1029
- requestsPackages: RuntimeRequestPackage[];
1030
- governance: {
1031
- requests: Array<{
1032
- requestId: string;
1033
- evidence: RuntimeGovernanceEvidence;
1034
- }>;
1035
- approvalSummary: RuntimeApprovalSummary;
1036
- summary: string;
1037
- };
1038
- runtimeHealth?: RuntimeHealthSnapshot;
1039
- };
1040
- export type RuntimeInventoryContext = {
1041
- workspace: WorkspaceBundle;
1042
- };
1
+ export * from "./runtime-observability.js";
2
+ export * from "./runtime-memory.js";
3
+ export * from "./runtime-requests.js";
4
+ export * from "./runtime-scheduling.js";
5
+ export * from "./runtime-evaluation.js";