addedInput schema / not
Added value: +{
+ "anyOf": [
+ {
+ "not": {
+ "if": {
+ "allOf": [
+ {
+ "properties": {
+ "confirm": {
+ "anyOf": [
+ {
+ "const": true
+ },
+ {
+ "pattern": "^\\s*([Tt][Rr][Uu][Ee]|1)\\s*$",
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "confirm"
+ ]
+ },
+ {
+ "not": {
+ "properties": {
+ "dryRun": {
+ "anyOf": [
+ {
+ "const": true
+ },
+ {
+ "pattern": "^\\s*([Tt][Rr][Uu][Ee]|1)\\s*$",
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "dryRun"
+ ]
+ }
+ }
+ ]
+ },
+ "then": {
+ "anyOf": [
+ {
+ "properties": {
+ "senderEmail": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "senderEmail"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ]
+}
removedInput schema / properties / --brief
Removed value: -{
- "description": "Outreach brief — what to mention, tone, ask",
- "pattern": "[^\\t\\n\\v\\f\\r\\x85\\p{Z}]",
- "type": "string"
-}
removedInput schema / properties / --ccMe
Removed value: -{
- "description": "CC the sender on each outbound",
- "type": "boolean"
-}
removedInput schema / properties / --collectionId
Removed value: -{
- "description": "Collection name or id",
- "pattern": "[^\\t\\n\\v\\f\\r\\x85\\p{Z}]",
- "type": "string"
-}
removedInput schema / properties / --confirm
Removed value: -{
- "description": "Required to actually flush emails. WITHOUT --confirm this is always a safe preview (no send), even without --dryRun. The pre-send sanity guard runs only when --confirm is set.",
- "type": "boolean"
-}
removedInput schema / properties / --dryRun
Removed value: -{
- "description": "Explicit preview alias. Equivalent to omitting --confirm — generates drafts without sending.",
- "type": "boolean"
-}
removedInput schema / properties / --includeLowConfidence
Removed value: -{
- "description": "Include low-confidence recipient emails (role aliases info@/sales@, no-reply, single-letter local, image-filename addresses). Default false — these are auto-pruned and counted in stats.autoPruned.",
- "type": "boolean"
-}
removedInput schema / properties / --profile
Removed value: -{
- "description": "Saved ideal-profile name; when set, each draft references the observed fit (matched attributes) to personalize the opening",
- "type": "string"
-}
removedInput schema / properties / --regenerate
Removed value: -{
- "description": "Redraft fresh copy on send instead of flushing the exact drafts produced by the last `email draft` preview. Default false — send flushes the approved preview so sent copy matches what was reviewed.",
- "type": "boolean"
-}
removedInput schema / properties / --senderEmail
Removed value: -{
- "description": "From email (must be operator-owned domain)",
- "pattern": "[^\\t\\n\\v\\f\\r\\x85\\p{Z}]",
- "type": "string"
-}
removedInput schema / properties / --senderName
Removed value: -{
- "description": "Sender display name",
- "type": "string"
-}
removedInput schema / properties / --trackingEnabled
Removed value: -{
- "description": "Enable open/click tracking",
- "type": "boolean"
-}
addedInput schema / properties / brief
Added value: +{
+ "description": "Outreach brief — what to mention, tone, ask",
+ "maxLength": 100000,
+ "pattern": "[^\\t\\n\\v\\f\\r\\x85\\p{Z}]",
+ "type": "string"
+}
addedInput schema / properties / ccMe
Added value: +{
+ "description": "CC the sender on each outbound",
+ "type": "boolean"
+}
addedInput schema / properties / collectionId
Added value: +{
+ "description": "Collection name or id",
+ "format": "uuid",
+ "maxLength": 8000,
+ "pattern": "[^\\t\\n\\v\\f\\r\\x85\\p{Z}]",
+ "type": "string"
+}
addedInput schema / properties / confirm
Added value: +{
+ "description": "Required to actually flush emails. WITHOUT --confirm this is always a safe preview (no send), even without --dryRun. The pre-send sanity guard runs only when --confirm is set.",
+ "type": "boolean"
+}
addedInput schema / properties / dryRun
Added value: +{
+ "description": "Explicit preview alias. Equivalent to omitting --confirm — generates drafts without sending.",
+ "type": "boolean"
+}
addedInput schema / properties / includeLowConfidence
Added value: +{
+ "description": "Include low-confidence recipient emails (role aliases info@/sales@, no-reply, single-letter local, image-filename addresses). Default false — these are auto-pruned and counted in stats.autoPruned.",
+ "type": "boolean"
+}
addedInput schema / properties / profile
Added value: +{
+ "anyOf": [
+ {
+ "maxLength": 120,
+ "type": "string"
+ },
+ {
+ "type": [
+ "null",
+ "boolean",
+ "number",
+ "string",
+ "array",
+ "object"
+ ]
+ }
+ ],
+ "contentSchema": {
+ "type": [
+ "null",
+ "boolean",
+ "number",
+ "string",
+ "array",
+ "object"
+ ]
+ },
+ "description": "Saved ideal-profile name; when set, each draft references the observed fit (matched attributes) to personalize the opening"
+}
addedInput schema / properties / regenerate
Added value: +{
+ "description": "Redraft fresh copy on send instead of flushing the exact drafts produced by the last `email draft` preview. Default false — send flushes the approved preview so sent copy matches what was reviewed.",
+ "type": "boolean"
+}
addedInput schema / properties / senderEmail
Added value: +{
+ "description": "From email (must be operator-owned domain)",
+ "format": "mail-address",
+ "maxLength": 8000,
+ "pattern": "[^\\t\\n\\v\\f\\r\\x85\\p{Z}]",
+ "type": "string"
+}
addedInput schema / properties / senderName
Added value: +{
+ "description": "Sender display name",
+ "maxLength": 8000,
+ "type": "string"
+}
addedInput schema / properties / trackingEnabled
Added value: +{
+ "description": "Enable open/click tracking",
+ "type": "boolean"
+}
changedInput schema / required
Previous value: -[
- "--brief",
- "--collectionId",
- "--senderName"
-]New value: +[
+ "brief",
+ "collectionId",
+ "senderName"
+]
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$defs": {
+ "value0": {
+ "additionalProperties": false,
+ "properties": {
+ "body": {
+ "type": "string"
+ },
+ "recipientCompany": {
+ "type": "string"
+ },
+ "recipientCompanyId": {
+ "anyOf": [
+ {
+ "format": "uuid",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "recipientCountry": {
+ "type": "string"
+ },
+ "recipientLanguage": {
+ "type": "string"
+ },
+ "recipientName": {
+ "type": "string"
+ },
+ "recipientTimezone": {
+ "type": "string"
+ },
+ "recipientTitle": {
+ "type": "string"
+ },
+ "subject": {
+ "type": "string"
+ },
+ "toEmail": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "body",
+ "recipientCompany",
+ "recipientName",
+ "recipientTitle",
+ "subject",
+ "toEmail"
+ ],
+ "type": "object"
+ },
+ "value1": {
+ "anyOf": [
+ {
+ "items": {
+ "type": [
+ "null",
+ "boolean",
+ "number",
+ "string",
+ "array",
+ "object"
+ ]
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "value2": {
+ "anyOf": [
+ {
+ "items": {
+ "$ref": "#/$defs/value3"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "value3": {
+ "additionalProperties": false,
+ "properties": {
+ "command": {
+ "type": "string"
+ },
+ "cost": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "rationale": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "command",
+ "cost",
+ "label",
+ "rationale"
+ ],
+ "type": "object"
+ },
+ "value4": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "value5": {
+ "anyOf": [
+ {
+ "items": {
+ "$ref": "#/$defs/value6"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "value6": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object"
+ },
+ "value7": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": [
+ "null",
+ "boolean",
+ "number",
+ "string",
+ "array",
+ "object"
+ ]
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "properties": {
+ "_debug": {
+ "$ref": "#/$defs/value7"
+ },
+ "correlationId": {
+ "type": "string"
+ },
+ "data": {
+ "additionalProperties": false,
+ "properties": {
+ "context": {
+ "type": [
+ "null",
+ "boolean",
+ "number",
+ "string",
+ "array",
+ "object"
+ ]
+ },
+ "cursor": {
+ "type": "string"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "items": {
+ "anyOf": [
+ {
+ "items": {
+ "$ref": "#/$defs/value0"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "context",
+ "has_more",
+ "items"
+ ],
+ "type": "object"
+ },
+ "nextActions": {
+ "$ref": "#/$defs/value2"
+ },
+ "stats": {
+ "$ref": "#/$defs/value4"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "warnings": {
+ "$ref": "#/$defs/value5"
+ }
+ },
+ "required": [
+ "data",
+ "nextActions",
+ "summary"
+ ],
+ "type": "object"
+}