fix: refresh checked workflow contract manifest
This commit is contained in:
@@ -2516,6 +2516,21 @@
|
||||
],
|
||||
"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": {
|
||||
"description": "Cursor-paged compact source discovery result.",
|
||||
"properties": {
|
||||
@@ -2874,6 +2889,52 @@
|
||||
],
|
||||
"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": {
|
||||
"additionalProperties": false,
|
||||
"description": "Map one node-local output path into one workflow state path.",
|
||||
@@ -3831,6 +3892,101 @@
|
||||
],
|
||||
"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": {
|
||||
"additionalProperties": true,
|
||||
"description": "JSON Schema object used at workflow and node boundaries.",
|
||||
@@ -8647,6 +8803,7 @@
|
||||
"anyOf": [
|
||||
{
|
||||
"enum": [
|
||||
"admitted",
|
||||
"completed",
|
||||
"failed",
|
||||
"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",
|
||||
"errors": [
|
||||
|
||||
@@ -90,9 +90,9 @@ def test_generates_the_complete_real_workflow_contract() -> None:
|
||||
manifest = generate_manifest()
|
||||
schemas = manifest["components"]["schemas"]
|
||||
|
||||
assert len(manifest["operations"]) == 72
|
||||
assert len({operation["method"] for operation in manifest["operations"]}) == 72
|
||||
assert len(schemas) == 141
|
||||
assert len(manifest["operations"]) == 80
|
||||
assert len({operation["method"] for operation in manifest["operations"]}) == 80
|
||||
assert len(schemas) == 144
|
||||
assert len(manifest["components"]["errors"]) == 1
|
||||
assert all(
|
||||
set(operation["result"]["schema"]) == {"$ref"}
|
||||
|
||||
Reference in New Issue
Block a user