///|
pub struct ExternalProposalPacket {
packet_id : String
title : String
summary : String
request_text : String
profile : String
output_contract : String
context_pages : Array[String]
skill_paths : Array[String]
notes : Array[String]
tags : Array[String]
metadata : Json
} derive(Debug, Eq, ToJson, FromJson)
///|
pub fn ExternalProposalPacket::new(
packet_id~ : String,
title~ : String,
summary~ : String,
request_text~ : String,
profile~ : String,
output_contract~ : String,
context_pages? : Array[String] = [],
skill_paths? : Array[String] = [],
notes? : Array[String] = [],
tags? : Array[String] = [],
metadata? : Json = Json::object({}),
) -> ExternalProposalPacket {
{
packet_id,
title,
summary,
request_text,
profile,
output_contract,
context_pages,
skill_paths,
notes,
tags,
metadata,
}
}
///|
pub struct ProposalImportReceipt {
packet_id : String
packet_path : String
proposal_id : String
run_id : String?
status : @core.TaskExecutionStatus
command : String
summary : String
} derive(Debug, Eq, ToJson, FromJson)
///|
pub struct ProposalPollResponse {
task_id : String
run_id : String
status : @core.TaskExecutionStatus
summary : String
memory_candidates : Array[String]
result_decision : String
requires_review : Bool
notify_town : Bool
} derive(Debug, Eq, ToJson, FromJson)
///|
pub fn timed_out_poll_response(
task_id : String,
run_id : String,
summary : String,
) -> ProposalPollResponse {
{
task_id,
run_id,
status: Failed,
summary,
memory_candidates: [],
result_decision: "blocked",
requires_review: true,
notify_town: true,
}
}
///|
pub struct SpawnWorkerRequest {
worker : @core.WorkerRef
} derive(Debug, Eq)
///|
pub fn SpawnWorkerRequest::new(worker~ : @core.WorkerRef) -> SpawnWorkerRequest {
{ worker, }
}
///|
pub struct AssignTaskRequest {
assignment : @core.AssignmentPlan
workspace_root : String
context_summary : String
skills : Array[String]
} derive(Debug, Eq)
///|
pub fn AssignTaskRequest::new(
assignment~ : @core.AssignmentPlan,
workspace_root~ : String,
context_summary~ : String,
skills? : Array[String] = [],
) -> AssignTaskRequest {
{ assignment, workspace_root, context_summary, skills }
}
///|
pub struct PollWorkerResponse {
worker_id : String
status : @core.WorkerStatus
detail : String
} derive(Debug, Eq)
///|
pub fn PollWorkerResponse::new(
worker_id~ : String,
status~ : @core.WorkerStatus,
detail~ : String,
) -> PollWorkerResponse {
{ worker_id, status, detail }
}
///|
pub struct TaskResultResponse {
task_id : String
status : @core.TownTaskStatus
summary : String
memory_candidates : Array[String]
} derive(Debug, Eq)
///|
pub fn TaskResultResponse::new(
task_id~ : String,
status~ : @core.TownTaskStatus,
summary~ : String,
memory_candidates? : Array[String] = [],
) -> TaskResultResponse {
{ task_id, status, summary, memory_candidates }
}