mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 05:02:11 +00:00
feature(ampcode): Enhances ampcode schema with new message types and fields
Adds support for system, user, assistant, and result message types to the AMP schema, along with associated fields like subtype, session_id, tools, and duration metrics. Updates the schema validation and adds corresponding test cases. Also improves the command-line argument handling in the agent management package to accommodate the new message types and streamlined permission flags. The changes enhance the schema's flexibility for different interaction patterns and provide better tracking of agent operations.
This commit is contained in:
parent
8ecd27bc24
commit
9486343f4c
5 changed files with 167 additions and 33 deletions
|
|
@ -9,6 +9,10 @@
|
|||
"type": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"system",
|
||||
"user",
|
||||
"assistant",
|
||||
"result",
|
||||
"message",
|
||||
"tool_call",
|
||||
"tool_result",
|
||||
|
|
@ -27,6 +31,45 @@
|
|||
},
|
||||
"error": {
|
||||
"type": "string"
|
||||
},
|
||||
"subtype": {
|
||||
"type": "string"
|
||||
},
|
||||
"cwd": {
|
||||
"type": "string"
|
||||
},
|
||||
"session_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"tools": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"mcp_servers": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
"type": "object"
|
||||
},
|
||||
"parent_tool_use_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"duration_ms": {
|
||||
"type": "number"
|
||||
},
|
||||
"is_error": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"num_turns": {
|
||||
"type": "number"
|
||||
},
|
||||
"result": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
|
|
|||
|
|
@ -204,12 +204,27 @@ function createFallbackSchema(): NormalizedSchema {
|
|||
properties: {
|
||||
type: {
|
||||
type: "string",
|
||||
enum: ["message", "tool_call", "tool_result", "error", "done"],
|
||||
enum: ["system", "user", "assistant", "result", "message", "tool_call", "tool_result", "error", "done"],
|
||||
},
|
||||
// Common fields
|
||||
id: { type: "string" },
|
||||
content: { type: "string" },
|
||||
tool_call: { $ref: "#/definitions/ToolCall" },
|
||||
error: { type: "string" },
|
||||
// System message fields
|
||||
subtype: { type: "string" },
|
||||
cwd: { type: "string" },
|
||||
session_id: { type: "string" },
|
||||
tools: { type: "array", items: { type: "string" } },
|
||||
mcp_servers: { type: "array", items: { type: "object" } },
|
||||
// User/Assistant message fields
|
||||
message: { type: "object" },
|
||||
parent_tool_use_id: { type: "string" },
|
||||
// Result fields
|
||||
duration_ms: { type: "number" },
|
||||
is_error: { type: "boolean" },
|
||||
num_turns: { type: "number" },
|
||||
result: { type: "string" },
|
||||
},
|
||||
required: ["type"],
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue