changedInput schema / properties / action / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "team_id": {
- "description": "A standing_agent.id identifying which team to run — same identifier shape as an alert's agent_run channel target.",
- "maxLength": 64,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "run_team",
- "type": "string"
- }
- },
- "required": [
- "type",
- "team_id"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "channel": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "hmac_secret": {
- "type": "string"
- },
- "target": {
- "format": "email",
- "maxLength": 256,
- "type": "string"
- },
- "type": {
- "const": "email",
- "type": "string"
- }
- },
- "required": [
- "type",
- "target"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "hmac_secret": {
- "description": "HMAC secret (≥16 chars) for webhook signature verification. Recommended for production.",
- "maxLength": 128,
- "minLength": 16,
- "type": "string"
- },
- "target": {
- "format": "uri",
- "maxLength": 512,
- "type": "string"
- },
- "type": {
- "const": "webhook",
- "type": "string"
- }
- },
- "required": [
- "type",
- "target"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "target": {
- "default": "@self",
- "description": "Always '@self' for dashboard channels. Routes to the in-app inbox keyed by the alert's owning customer.",
- "maxLength": 16,
- "type": "string"
- },
- "type": {
- "const": "dashboard",
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "target": {
- "description": "Slack incoming-webhook URL — must be on host hooks.slack.com (e.g. https://hooks.slack.com/services/T0000/B0000/XXXX). The URL itself is the secret, so no HMAC is used.",
- "format": "uri",
- "maxLength": 512,
- "type": "string"
- },
- "type": {
- "const": "slack",
- "type": "string"
- }
- },
- "required": [
- "type",
- "target"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "target": {
- "description": "A standing_agent.id identifying which standing agent team to run when this alert fires. NOT a URL — no outbound-URL validation applies to this field.",
- "maxLength": 64,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "agent_run",
- "type": "string"
- }
- },
- "required": [
- "type",
- "target"
- ],
- "type": "object"
- }
- ],
- "description": "Delivery channel — same discriminated union create_alert accepts (email/webhook/dashboard/slack/agent_run)."
- },
- "message": {
- "description": "Optional custom message; defaults to a summary of the trigger event.",
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "send_alert",
- "type": "string"
- }
- },
- "required": [
- "type",
- "channel"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "params": {
- "additionalProperties": {},
- "description": "reverse_dcf DCF params — see create_report's own schema.",
- "type": "object"
- },
- "report_type": {
- "enum": [
- "reverse_dcf",
- "thesis"
- ],
- "type": "string"
- },
- "thesis_id": {
- "description": "Required when report_type=thesis.",
- "maxLength": 64,
- "minLength": 1,
- "type": "string"
- },
- "ticker": {
- "description": "Required when report_type=reverse_dcf.",
- "maxLength": 10,
- "minLength": 1,
- "type": "string"
- },
- "title": {
- "maxLength": 200,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "create_report",
- "type": "string"
- }
- },
- "required": [
- "type",
- "report_type"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "as_of": {
- "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
- "type": "string"
- },
- "thesis_id": {
- "maxLength": 64,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "score_thesis",
- "type": "string"
- }
- },
- "required": [
- "type",
- "thesis_id"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "context": {
- "additionalProperties": {},
- "type": "object"
- },
- "task": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "schedule_task",
- "type": "string"
- },
- "wake_in_days": {
- "exclusiveMinimum": 0,
- "maximum": 90,
- "type": "number"
- }
- },
- "required": [
- "type",
- "task",
- "wake_in_days"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "message": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "title": {
- "maxLength": 120,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "post_inbox",
- "type": "string"
- }
- },
- "required": [
- "type",
- "title",
- "message"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "team_id": {
+ "description": "A standing_agent.id identifying which team to run — same identifier shape as a signal's agent_run channel target.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "run_team",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "team_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "hmac_secret": {
+ "type": "string"
+ },
+ "target": {
+ "format": "email",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "type": {
+ "const": "email",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "hmac_secret": {
+ "description": "HMAC secret (≥16 chars) for webhook signature verification. Recommended for production.",
+ "maxLength": 128,
+ "minLength": 16,
+ "type": "string"
+ },
+ "target": {
+ "format": "uri",
+ "maxLength": 512,
+ "type": "string"
+ },
+ "type": {
+ "const": "webhook",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "target": {
+ "default": "@self",
+ "description": "Always '@self' for dashboard channels. Routes to the in-app inbox keyed by the signal's owning customer.",
+ "maxLength": 16,
+ "type": "string"
+ },
+ "type": {
+ "const": "dashboard",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "target": {
+ "description": "Slack incoming-webhook URL — must be on host hooks.slack.com (e.g. https://hooks.slack.com/services/T0000/B0000/XXXX). The URL itself is the secret, so no HMAC is used.",
+ "format": "uri",
+ "maxLength": 512,
+ "type": "string"
+ },
+ "type": {
+ "const": "slack",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "target": {
+ "description": "A standing_agent.id identifying which standing agent team to run when this signal fires. NOT a URL — no outbound-URL validation applies to this field.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "agent_run",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ }
+ ],
+ "description": "Delivery channel — same discriminated union create_signal accepts (email/webhook/dashboard/slack/agent_run)."
+ },
+ "message": {
+ "description": "Optional custom message; defaults to a summary of the trigger event.",
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "send_alert",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "channel"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "params": {
+ "additionalProperties": {},
+ "description": "reverse_dcf DCF params — see create_report's own schema.",
+ "type": "object"
+ },
+ "report_type": {
+ "enum": [
+ "reverse_dcf",
+ "thesis"
+ ],
+ "type": "string"
+ },
+ "thesis_id": {
+ "description": "Required when report_type=thesis.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ticker": {
+ "description": "Required when report_type=reverse_dcf.",
+ "maxLength": 10,
+ "minLength": 1,
+ "type": "string"
+ },
+ "title": {
+ "maxLength": 200,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "create_report",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "report_type"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "as_of": {
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
+ "type": "string"
+ },
+ "thesis_id": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "score_thesis",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "thesis_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "context": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "task": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "schedule_task",
+ "type": "string"
+ },
+ "wake_in_days": {
+ "exclusiveMinimum": 0,
+ "maximum": 90,
+ "type": "number"
+ }
+ },
+ "required": [
+ "type",
+ "task",
+ "wake_in_days"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "message": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "title": {
+ "maxLength": 120,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "post_inbox",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "title",
+ "message"
+ ],
+ "type": "object"
+ }
+]
changedOutput schema / properties / rule / properties / action_params / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "team_id": {
- "description": "A standing_agent.id identifying which team to run — same identifier shape as an alert's agent_run channel target.",
- "maxLength": 64,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "run_team",
- "type": "string"
- }
- },
- "required": [
- "type",
- "team_id"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "channel": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "hmac_secret": {
- "type": "string"
- },
- "target": {
- "format": "email",
- "maxLength": 256,
- "type": "string"
- },
- "type": {
- "const": "email",
- "type": "string"
- }
- },
- "required": [
- "type",
- "target"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "hmac_secret": {
- "description": "HMAC secret (≥16 chars) for webhook signature verification. Recommended for production.",
- "maxLength": 128,
- "minLength": 16,
- "type": "string"
- },
- "target": {
- "format": "uri",
- "maxLength": 512,
- "type": "string"
- },
- "type": {
- "const": "webhook",
- "type": "string"
- }
- },
- "required": [
- "type",
- "target"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "target": {
- "default": "@self",
- "description": "Always '@self' for dashboard channels. Routes to the in-app inbox keyed by the alert's owning customer.",
- "maxLength": 16,
- "type": "string"
- },
- "type": {
- "const": "dashboard",
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "target": {
- "description": "Slack incoming-webhook URL — must be on host hooks.slack.com (e.g. https://hooks.slack.com/services/T0000/B0000/XXXX). The URL itself is the secret, so no HMAC is used.",
- "format": "uri",
- "maxLength": 512,
- "type": "string"
- },
- "type": {
- "const": "slack",
- "type": "string"
- }
- },
- "required": [
- "type",
- "target"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "target": {
- "description": "A standing_agent.id identifying which standing agent team to run when this alert fires. NOT a URL — no outbound-URL validation applies to this field.",
- "maxLength": 64,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "agent_run",
- "type": "string"
- }
- },
- "required": [
- "type",
- "target"
- ],
- "type": "object"
- }
- ],
- "description": "Delivery channel — same discriminated union create_alert accepts (email/webhook/dashboard/slack/agent_run)."
- },
- "message": {
- "description": "Optional custom message; defaults to a summary of the trigger event.",
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "send_alert",
- "type": "string"
- }
- },
- "required": [
- "type",
- "channel"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "params": {
- "additionalProperties": {},
- "description": "reverse_dcf DCF params — see create_report's own schema.",
- "type": "object"
- },
- "report_type": {
- "enum": [
- "reverse_dcf",
- "thesis"
- ],
- "type": "string"
- },
- "thesis_id": {
- "description": "Required when report_type=thesis.",
- "maxLength": 64,
- "minLength": 1,
- "type": "string"
- },
- "ticker": {
- "description": "Required when report_type=reverse_dcf.",
- "maxLength": 10,
- "minLength": 1,
- "type": "string"
- },
- "title": {
- "maxLength": 200,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "create_report",
- "type": "string"
- }
- },
- "required": [
- "type",
- "report_type"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "as_of": {
- "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
- "type": "string"
- },
- "thesis_id": {
- "maxLength": 64,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "score_thesis",
- "type": "string"
- }
- },
- "required": [
- "type",
- "thesis_id"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "context": {
- "additionalProperties": {},
- "type": "object"
- },
- "task": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "schedule_task",
- "type": "string"
- },
- "wake_in_days": {
- "exclusiveMinimum": 0,
- "maximum": 90,
- "type": "number"
- }
- },
- "required": [
- "type",
- "task",
- "wake_in_days"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "message": {
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
- },
- "title": {
- "maxLength": 120,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "post_inbox",
- "type": "string"
- }
- },
- "required": [
- "type",
- "title",
- "message"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "team_id": {
+ "description": "A standing_agent.id identifying which team to run — same identifier shape as a signal's agent_run channel target.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "run_team",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "team_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "hmac_secret": {
+ "type": "string"
+ },
+ "target": {
+ "format": "email",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "type": {
+ "const": "email",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "hmac_secret": {
+ "description": "HMAC secret (≥16 chars) for webhook signature verification. Recommended for production.",
+ "maxLength": 128,
+ "minLength": 16,
+ "type": "string"
+ },
+ "target": {
+ "format": "uri",
+ "maxLength": 512,
+ "type": "string"
+ },
+ "type": {
+ "const": "webhook",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "target": {
+ "default": "@self",
+ "description": "Always '@self' for dashboard channels. Routes to the in-app inbox keyed by the signal's owning customer.",
+ "maxLength": 16,
+ "type": "string"
+ },
+ "type": {
+ "const": "dashboard",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "target": {
+ "description": "Slack incoming-webhook URL — must be on host hooks.slack.com (e.g. https://hooks.slack.com/services/T0000/B0000/XXXX). The URL itself is the secret, so no HMAC is used.",
+ "format": "uri",
+ "maxLength": 512,
+ "type": "string"
+ },
+ "type": {
+ "const": "slack",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "target": {
+ "description": "A standing_agent.id identifying which standing agent team to run when this signal fires. NOT a URL — no outbound-URL validation applies to this field.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "agent_run",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ }
+ ],
+ "description": "Delivery channel — same discriminated union create_signal accepts (email/webhook/dashboard/slack/agent_run)."
+ },
+ "message": {
+ "description": "Optional custom message; defaults to a summary of the trigger event.",
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "send_alert",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "channel"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "params": {
+ "additionalProperties": {},
+ "description": "reverse_dcf DCF params — see create_report's own schema.",
+ "type": "object"
+ },
+ "report_type": {
+ "enum": [
+ "reverse_dcf",
+ "thesis"
+ ],
+ "type": "string"
+ },
+ "thesis_id": {
+ "description": "Required when report_type=thesis.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ticker": {
+ "description": "Required when report_type=reverse_dcf.",
+ "maxLength": 10,
+ "minLength": 1,
+ "type": "string"
+ },
+ "title": {
+ "maxLength": 200,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "create_report",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "report_type"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "as_of": {
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
+ "type": "string"
+ },
+ "thesis_id": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "score_thesis",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "thesis_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "context": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "task": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "schedule_task",
+ "type": "string"
+ },
+ "wake_in_days": {
+ "exclusiveMinimum": 0,
+ "maximum": 90,
+ "type": "number"
+ }
+ },
+ "required": [
+ "type",
+ "task",
+ "wake_in_days"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "message": {
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "title": {
+ "maxLength": 120,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "post_inbox",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "title",
+ "message"
+ ],
+ "type": "object"
+ }
+]