fix: refresh checked workflow contract manifest
This commit is contained in:
@@ -2516,6 +2516,21 @@
|
|||||||
],
|
],
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"ListSchedulesResult": {
|
||||||
|
"description": "Schedule listing payload shared by the admin surface.",
|
||||||
|
"properties": {
|
||||||
|
"schedules": {
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/ScheduleResult"
|
||||||
|
},
|
||||||
|
"type": "array"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"schedules"
|
||||||
|
],
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"ListSourcesResult": {
|
"ListSourcesResult": {
|
||||||
"description": "Cursor-paged compact source discovery result.",
|
"description": "Cursor-paged compact source discovery result.",
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -2874,6 +2889,52 @@
|
|||||||
],
|
],
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"OccurrencePage": {
|
||||||
|
"description": "One occurrence-history page, optionally with a live pending row.\n\nMatches the schedule-store page shape (``occurrences``, ``total``,\n``cursor``, ``next_cursor``, ``limit``); see\n``WorkflowScheduleApi.list_schedule_occurrences`` for the pending-row\nsynthesis contract.",
|
||||||
|
"properties": {
|
||||||
|
"cursor": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"limit": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"next_cursor": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"occurrences": {
|
||||||
|
"items": {
|
||||||
|
"additionalProperties": true,
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"type": "array"
|
||||||
|
},
|
||||||
|
"total": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"occurrences",
|
||||||
|
"total",
|
||||||
|
"cursor",
|
||||||
|
"next_cursor",
|
||||||
|
"limit"
|
||||||
|
],
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"OutputBinding": {
|
"OutputBinding": {
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"description": "Map one node-local output path into one workflow state path.",
|
"description": "Map one node-local output path into one workflow state path.",
|
||||||
@@ -3831,6 +3892,101 @@
|
|||||||
],
|
],
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"ScheduleResult": {
|
||||||
|
"description": "JSON projection of one schedule definition.\n\nMirrors ``Schedule.model_dump(mode=\"json\")`` exactly; ``created_at`` and\n``updated_at`` are ISO strings in this projection.",
|
||||||
|
"properties": {
|
||||||
|
"blocked_reason": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"deleted": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"deployment_id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"exhausted": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"input_bindings": {
|
||||||
|
"items": {
|
||||||
|
"additionalProperties": true,
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"type": "array"
|
||||||
|
},
|
||||||
|
"lateness_allowance_s": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"max_active_runs": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"max_steps": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"misfire": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"overlap": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"paused": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"revision": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"trigger": {
|
||||||
|
"additionalProperties": true,
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"id",
|
||||||
|
"deployment_id",
|
||||||
|
"trigger",
|
||||||
|
"input_bindings",
|
||||||
|
"max_steps",
|
||||||
|
"overlap",
|
||||||
|
"misfire",
|
||||||
|
"max_active_runs",
|
||||||
|
"lateness_allowance_s",
|
||||||
|
"revision",
|
||||||
|
"enabled",
|
||||||
|
"paused",
|
||||||
|
"deleted",
|
||||||
|
"exhausted",
|
||||||
|
"blocked_reason",
|
||||||
|
"created_at",
|
||||||
|
"updated_at"
|
||||||
|
],
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"SchemaRef": {
|
"SchemaRef": {
|
||||||
"additionalProperties": true,
|
"additionalProperties": true,
|
||||||
"description": "JSON Schema object used at workflow and node boundaries.",
|
"description": "JSON Schema object used at workflow and node boundaries.",
|
||||||
@@ -8647,6 +8803,7 @@
|
|||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
|
"admitted",
|
||||||
"completed",
|
"completed",
|
||||||
"failed",
|
"failed",
|
||||||
"interrupted"
|
"interrupted"
|
||||||
@@ -8855,6 +9012,489 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"action": "create",
|
||||||
|
"errors": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/errors/5000"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"method": "workflow.schedules.create",
|
||||||
|
"namespace": [
|
||||||
|
"workflow",
|
||||||
|
"schedules"
|
||||||
|
],
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"name": "schedule_id",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"minLength": 1,
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "deployment_id",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"minLength": 1,
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "trigger",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"additionalProperties": true,
|
||||||
|
"type": "object"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "input_bindings",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"items": {
|
||||||
|
"additionalProperties": true,
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"type": "array"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "overlap",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"default": "skip",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "misfire",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"default": "skip",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "max_active_runs",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"default": 1,
|
||||||
|
"minimum": 1,
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "lateness_allowance_s",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"default": 60.0,
|
||||||
|
"minimum": 0,
|
||||||
|
"type": "number"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "max_steps",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"minimum": 1,
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null,
|
||||||
|
"description": "Optional schedule step budget. The server default applies when omitted."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "enabled",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"default": true,
|
||||||
|
"type": "boolean"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ScheduleResult"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"action": "delete",
|
||||||
|
"errors": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/errors/5000"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"method": "workflow.schedules.delete",
|
||||||
|
"namespace": [
|
||||||
|
"workflow",
|
||||||
|
"schedules"
|
||||||
|
],
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"name": "schedule_id",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"minLength": 1,
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ScheduleResult"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"action": "get",
|
||||||
|
"errors": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/errors/5000"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"method": "workflow.schedules.get",
|
||||||
|
"namespace": [
|
||||||
|
"workflow",
|
||||||
|
"schedules"
|
||||||
|
],
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"name": "schedule_id",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"minLength": 1,
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ScheduleResult"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"action": "list",
|
||||||
|
"errors": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/errors/5000"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"method": "workflow.schedules.list",
|
||||||
|
"namespace": [
|
||||||
|
"workflow",
|
||||||
|
"schedules"
|
||||||
|
],
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"name": "include_deleted",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"default": false,
|
||||||
|
"type": "boolean"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ListSchedulesResult"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"action": "list",
|
||||||
|
"errors": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/errors/5000"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"method": "workflow.schedules.occurrences.list",
|
||||||
|
"namespace": [
|
||||||
|
"workflow",
|
||||||
|
"schedules",
|
||||||
|
"occurrences"
|
||||||
|
],
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"name": "schedule_id",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"minLength": 1,
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cursor",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "limit",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"default": 50,
|
||||||
|
"maximum": 100,
|
||||||
|
"minimum": 1,
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/OccurrencePage"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"action": "pause",
|
||||||
|
"errors": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/errors/5000"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"method": "workflow.schedules.pause",
|
||||||
|
"namespace": [
|
||||||
|
"workflow",
|
||||||
|
"schedules"
|
||||||
|
],
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"name": "schedule_id",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"minLength": 1,
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ScheduleResult"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"action": "resume",
|
||||||
|
"errors": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/errors/5000"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"method": "workflow.schedules.resume",
|
||||||
|
"namespace": [
|
||||||
|
"workflow",
|
||||||
|
"schedules"
|
||||||
|
],
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"name": "schedule_id",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"minLength": 1,
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ScheduleResult"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"action": "update",
|
||||||
|
"errors": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/errors/5000"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"method": "workflow.schedules.update",
|
||||||
|
"namespace": [
|
||||||
|
"workflow",
|
||||||
|
"schedules"
|
||||||
|
],
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"name": "schedule_id",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"minLength": 1,
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "expected_revision",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "deployment_id",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "trigger",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"additionalProperties": true,
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "input_bindings",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"items": {
|
||||||
|
"additionalProperties": true,
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"type": "array"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "overlap",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "misfire",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "max_active_runs",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "lateness_allowance_s",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "max_steps",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "enabled",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ScheduleResult"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"action": "diagnose",
|
"action": "diagnose",
|
||||||
"errors": [
|
"errors": [
|
||||||
|
|||||||
@@ -90,9 +90,9 @@ def test_generates_the_complete_real_workflow_contract() -> None:
|
|||||||
manifest = generate_manifest()
|
manifest = generate_manifest()
|
||||||
schemas = manifest["components"]["schemas"]
|
schemas = manifest["components"]["schemas"]
|
||||||
|
|
||||||
assert len(manifest["operations"]) == 72
|
assert len(manifest["operations"]) == 80
|
||||||
assert len({operation["method"] for operation in manifest["operations"]}) == 72
|
assert len({operation["method"] for operation in manifest["operations"]}) == 80
|
||||||
assert len(schemas) == 141
|
assert len(schemas) == 144
|
||||||
assert len(manifest["components"]["errors"]) == 1
|
assert len(manifest["components"]["errors"]) == 1
|
||||||
assert all(
|
assert all(
|
||||||
set(operation["result"]["schema"]) == {"$ref"}
|
set(operation["result"]["schema"]) == {"$ref"}
|
||||||
|
|||||||
Reference in New Issue
Block a user