Skip to content

Deal programs: advance, assign, lose

The Deal Verbs advance, assign, lose as MCP do programs, with inputs, result, refusals and an example.

Reference for Deal, one group of Deal programs.

Deal.advance

Advance moves a Deal to its next stage once every field that stage requires is filled. Verb page.

Text
do: return await $.Deal.advance(input)

Emits Deal.advanced.

Inputs

InputTypeRequiredDescription
dealDealrequiredThe Deal.
stagestringThe target stage; omitted, the next one.

Returns

OutputTypeRequiredDescription
dealDealrequiredThe Deal in its new stage.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Deal.advance({ deal: 'deal_NgACZ6DcII' })"
  }
}

Deal.assign

Assign gives a Deal one owner Worker, who carries its next step until it is won or lost. Verb page.

Text
do: return await $.Deal.assign(input)

Emits Deal.assigned.

Inputs

InputTypeRequiredDescription
dealDealrequiredThe Deal.
ownerWorkerThe Worker to own it; omitted, the routing Policy picks.

Returns

OutputTypeRequiredDescription
dealDealrequiredThe Deal, with its owner.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Deal.assign({ deal: 'deal_NgACZ6DcII' })"
  }
}

Deal.lose

Lose closes a Deal as lost and records the reason the buyer gave. Verb page.

Text
do: return await $.Deal.lose(input)

Emits Deal.lost.

Inputs

InputTypeRequiredDescription
dealDealrequiredThe open Deal.
reasontextrequiredWhy the buyer passed.

Returns

OutputTypeRequiredDescription
dealDealrequiredThe lost Deal.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Deal.lose({ deal: 'deal_NgACZ6DcII', reason: 'Example reason' })"
  }
}