@steerable/agent-harness 0.2.5 → 0.3.0
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.
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ContentPart } from "./ContentPart.js";
|
|
1
2
|
import type { ToolCall } from "./ToolCall.js";
|
|
2
3
|
import type { ToolResult } from "./ToolResult.js";
|
|
3
4
|
export interface ChatMessage {
|
|
@@ -5,6 +6,10 @@ export interface ChatMessage {
|
|
|
5
6
|
chatId?: string;
|
|
6
7
|
role: "user" | "assistant" | "tool" | "system";
|
|
7
8
|
content: string;
|
|
9
|
+
/**
|
|
10
|
+
* Structured content (Wave 1). Optional and additive: when present it is authoritative and `content` is its plain-text projection; when absent the message is text-only and `content` is the payload. Producers that emit multimodal messages MUST also fill `content` so text-only consumers keep working.
|
|
11
|
+
*/
|
|
12
|
+
parts?: ContentPart[];
|
|
8
13
|
agentId?: string;
|
|
9
14
|
toolCalls?: ToolCall[];
|
|
10
15
|
toolResult?: ToolResult;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface ContentPart {
|
|
2
|
+
/**
|
|
3
|
+
* Part discriminant. `text` carries `text`; `image` carries either `url` or (`data`, `mediaType`).
|
|
4
|
+
*/
|
|
5
|
+
type: "text" | "image";
|
|
6
|
+
/**
|
|
7
|
+
* Text payload; present iff type == "text".
|
|
8
|
+
*/
|
|
9
|
+
text?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Image URL; present iff type == "image" and the image is remote.
|
|
12
|
+
*/
|
|
13
|
+
url?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Base64 image payload; present iff type == "image" and the image is inline.
|
|
16
|
+
*/
|
|
17
|
+
data?: string;
|
|
18
|
+
/**
|
|
19
|
+
* MIME type of the image (e.g. image/png); accompanies `data`, advisory for `url`.
|
|
20
|
+
*/
|
|
21
|
+
mediaType?: string;
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steerable/agent-harness",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Steerable framework Tier 2 — TypeScript facade over the Python harness (policy, budget, retry, completion, tracing) used for cross-language conformance tests. Production code should depend on the Python harness.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://steerableframework.com/",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"README.md"
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@steerable/agent-protocol": "0.
|
|
32
|
+
"@steerable/agent-protocol": "0.3.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"typescript": "^5.8.3",
|