diff --git a/public/connect/schemas/connect-protocol.v1.schema.json b/public/connect/schemas/connect-protocol.v1.schema.json index 13fec59..9cc90cf 100644 --- a/public/connect/schemas/connect-protocol.v1.schema.json +++ b/public/connect/schemas/connect-protocol.v1.schema.json @@ -29,15 +29,6 @@ "version": { "$ref": "#/$defs/semanticVersion" } } }, - "runtimeContractRequirement": { - "type": "object", - "additionalProperties": false, - "required": ["id", "version"], - "properties": { - "id": { "type": "string", "minLength": 1, "maxLength": 100 }, - "version": { "type": "integer", "minimum": 1 } - } - }, "semanticVersion": { "type": "string", "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" @@ -348,7 +339,7 @@ "required": ["id", "event", "presentation"], "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 100, "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$" }, - "event": { "$ref": "#/$defs/runtimeContractRequirement" }, + "event": { "$ref": "#/$defs/contractRequirement" }, "if": { "type": "object", "additionalProperties": false, diff --git a/public/connect/schemas/mdbase-app.schema.json b/public/connect/schemas/mdbase-app.schema.json index 696b272..4044b1d 100644 --- a/public/connect/schemas/mdbase-app.schema.json +++ b/public/connect/schemas/mdbase-app.schema.json @@ -102,15 +102,6 @@ } } }, - "runtimeContract": { - "type": "object", - "additionalProperties": false, - "required": ["id", "version"], - "properties": { - "id": { "$ref": "#/$defs/identifier" }, - "version": { "type": "integer", "minimum": 1 } - } - }, "requirements": { "type": "object", "additionalProperties": false, @@ -197,7 +188,7 @@ "required": ["id", "event", "presentation"], "properties": { "id": { "$ref": "#/$defs/identifier" }, - "event": { "$ref": "#/$defs/runtimeContract" }, + "event": { "$ref": "#/$defs/contract" }, "if": { "type": "object", "additionalProperties": false, diff --git a/public/connect/schemas/mdbase-app.v1.json b/public/connect/schemas/mdbase-app.v1.json index 696b272..4044b1d 100644 --- a/public/connect/schemas/mdbase-app.v1.json +++ b/public/connect/schemas/mdbase-app.v1.json @@ -102,15 +102,6 @@ } } }, - "runtimeContract": { - "type": "object", - "additionalProperties": false, - "required": ["id", "version"], - "properties": { - "id": { "$ref": "#/$defs/identifier" }, - "version": { "type": "integer", "minimum": 1 } - } - }, "requirements": { "type": "object", "additionalProperties": false, @@ -197,7 +188,7 @@ "required": ["id", "event", "presentation"], "properties": { "id": { "$ref": "#/$defs/identifier" }, - "event": { "$ref": "#/$defs/runtimeContract" }, + "event": { "$ref": "#/$defs/contract" }, "if": { "type": "object", "additionalProperties": false, diff --git a/public/contracts/artifacts/contracts/mdbase.record.created/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.record.created/1.0.0.md new file mode 100644 index 0000000..1a1c06c --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.record.created/1.0.0.md @@ -0,0 +1,16 @@ +--- +kind: mdbase.contract +contract_type: event +id: mdbase.record.created +version: 1.0.0 +name: Record created +description: Published after a record is created and derived collection state is consistent. +data_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.record.created/1.0.0.schema.json +--- + +# Record created + +This built-in is an ordinary, inspectable contract artifact. Runtime exchange +uses the mdbase interoperability profile unchanged. diff --git a/public/contracts/artifacts/contracts/mdbase.record.deleted/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.record.deleted/1.0.0.md new file mode 100644 index 0000000..3965bf9 --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.record.deleted/1.0.0.md @@ -0,0 +1,16 @@ +--- +kind: mdbase.contract +contract_type: event +id: mdbase.record.deleted +version: 1.0.0 +name: Record deleted +description: Published after a record is deleted and derived collection state is consistent. +data_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.record.deleted/1.0.0.schema.json +--- + +# Record deleted + +This built-in is an ordinary, inspectable contract artifact. Runtime exchange +uses the mdbase interoperability profile unchanged. diff --git a/public/contracts/artifacts/contracts/mdbase.record.modified/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.record.modified/1.0.0.md new file mode 100644 index 0000000..2ccff27 --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.record.modified/1.0.0.md @@ -0,0 +1,16 @@ +--- +kind: mdbase.contract +contract_type: event +id: mdbase.record.modified +version: 1.0.0 +name: Record modified +description: Published after a record is modified and derived collection state is consistent. +data_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.record.modified/1.0.0.schema.json +--- + +# Record modified + +This built-in is an ordinary, inspectable contract artifact. Runtime exchange +uses the mdbase interoperability profile unchanged. diff --git a/public/contracts/artifacts/contracts/mdbase.record.renamed/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.record.renamed/1.0.0.md new file mode 100644 index 0000000..bbeef56 --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.record.renamed/1.0.0.md @@ -0,0 +1,16 @@ +--- +kind: mdbase.contract +contract_type: event +id: mdbase.record.renamed +version: 1.0.0 +name: Record renamed +description: Published after a record is renamed and derived collection state is consistent. +data_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.record.renamed/1.0.0.schema.json +--- + +# Record renamed + +This built-in is an ordinary, inspectable contract artifact. Runtime exchange +uses the mdbase interoperability profile unchanged. diff --git a/public/contracts/artifacts/contracts/mdbase.runtime.action-attempt/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.runtime.action-attempt/1.0.0.md new file mode 100644 index 0000000..db55d3a --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.runtime.action-attempt/1.0.0.md @@ -0,0 +1,18 @@ +--- +kind: mdbase.contract +contract_type: record +id: mdbase.runtime.action-attempt +version: 1.0.0 +name: Durable action attempt +description: Durable invocation intent and outcome evidence using the shared interoperability envelope. +record_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.action-attempt/1.0.0.schema.json +--- + +# Durable action attempt + +Durable invocation intent and outcome evidence using the shared interoperability envelope. + +This artifact is passive. Installing it or a type that implements it grants no +authority to execute workflows or invoke providers. diff --git a/public/contracts/artifacts/contracts/mdbase.runtime.capability-grant/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.runtime.capability-grant/1.0.0.md new file mode 100644 index 0000000..5119e27 --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.runtime.capability-grant/1.0.0.md @@ -0,0 +1,18 @@ +--- +kind: mdbase.contract +contract_type: record +id: mdbase.runtime.capability-grant +version: 1.0.0 +name: Capability grant evidence +description: A materialized authorization grant scoped independently from contract conformance. +record_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.capability-grant/1.0.0.schema.json +--- + +# Capability grant evidence + +A materialized authorization grant scoped independently from contract conformance. + +This artifact is passive. Installing it or a type that implements it grants no +authority to execute workflows or invoke providers. diff --git a/public/contracts/artifacts/contracts/mdbase.runtime.checkpoint/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.runtime.checkpoint/1.0.0.md new file mode 100644 index 0000000..2f2fb16 --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.runtime.checkpoint/1.0.0.md @@ -0,0 +1,18 @@ +--- +kind: mdbase.contract +contract_type: record +id: mdbase.runtime.checkpoint +version: 1.0.0 +name: Runtime checkpoint +description: A durable, lease-safe workflow continuation. +record_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.checkpoint/1.0.0.schema.json +--- + +# Runtime checkpoint + +A durable, lease-safe workflow continuation. + +This artifact is passive. Installing it or a type that implements it grants no +authority to execute workflows or invoke providers. diff --git a/public/contracts/artifacts/contracts/mdbase.runtime.dead-letter/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.runtime.dead-letter/1.0.0.md new file mode 100644 index 0000000..15f2466 --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.runtime.dead-letter/1.0.0.md @@ -0,0 +1,18 @@ +--- +kind: mdbase.contract +contract_type: record +id: mdbase.runtime.dead-letter +version: 1.0.0 +name: Runtime dead letter +description: Retained event or action evidence that cannot be processed safely. +record_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.dead-letter/1.0.0.schema.json +--- + +# Runtime dead letter + +Retained event or action evidence that cannot be processed safely. + +This artifact is passive. Installing it or a type that implements it grants no +authority to execute workflows or invoke providers. diff --git a/public/contracts/artifacts/contracts/mdbase.runtime.diagnostic/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.runtime.diagnostic/1.0.0.md new file mode 100644 index 0000000..82708f1 --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.runtime.diagnostic/1.0.0.md @@ -0,0 +1,18 @@ +--- +kind: mdbase.contract +contract_type: record +id: mdbase.runtime.diagnostic +version: 1.0.0 +name: Runtime diagnostic +description: A machine-readable durable runtime diagnostic. +record_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.diagnostic/1.0.0.schema.json +--- + +# Runtime diagnostic + +A machine-readable durable runtime diagnostic. + +This artifact is passive. Installing it or a type that implements it grants no +authority to execute workflows or invoke providers. diff --git a/public/contracts/artifacts/contracts/mdbase.runtime.policy/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.runtime.policy/1.0.0.md new file mode 100644 index 0000000..9845a29 --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.runtime.policy/1.0.0.md @@ -0,0 +1,18 @@ +--- +kind: mdbase.contract +contract_type: record +id: mdbase.runtime.policy +version: 1.0.0 +name: Runtime policy +description: Local authorization, executor, limit, and provider-selection policy. +record_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.policy/1.0.0.schema.json +--- + +# Runtime policy + +Local authorization, executor, limit, and provider-selection policy. + +This artifact is passive. Installing it or a type that implements it grants no +authority to execute workflows or invoke providers. diff --git a/public/contracts/artifacts/contracts/mdbase.runtime.provider-registration/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.runtime.provider-registration/1.0.0.md new file mode 100644 index 0000000..c2af919 --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.runtime.provider-registration/1.0.0.md @@ -0,0 +1,18 @@ +--- +kind: mdbase.contract +contract_type: record +id: mdbase.runtime.provider-registration +version: 1.0.0 +name: Provider registration evidence +description: An optional audit snapshot of a verified interoperability declaration; it never activates code. +record_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.provider-registration/1.0.0.schema.json +--- + +# Provider registration evidence + +An optional audit snapshot of a verified interoperability declaration; it never activates code. + +This artifact is passive. Installing it or a type that implements it grants no +authority to execute workflows or invoke providers. diff --git a/public/contracts/artifacts/contracts/mdbase.runtime.run.cancel/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.runtime.run.cancel/1.0.0.md new file mode 100644 index 0000000..1f6af38 --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.runtime.run.cancel/1.0.0.md @@ -0,0 +1,22 @@ +--- +kind: mdbase.contract +contract_type: action +id: mdbase.runtime.run.cancel +version: 1.0.0 +name: Cancel durable runtime run +description: Request cooperative cancellation of one durable runtime run. +input_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.run.cancel/1.0.0.schema.json +output_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.run.cancel/1.0.0.output.schema.json +behavior: + idempotency: required + cancellation: none +--- + +# Cancel durable runtime run + +This built-in is an ordinary, inspectable contract artifact. Runtime exchange +uses the mdbase interoperability profile unchanged. diff --git a/public/contracts/artifacts/contracts/mdbase.runtime.run/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.runtime.run/1.0.0.md new file mode 100644 index 0000000..2ae260f --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.runtime.run/1.0.0.md @@ -0,0 +1,18 @@ +--- +kind: mdbase.contract +contract_type: record +id: mdbase.runtime.run +version: 1.0.0 +name: Durable run +description: The durable state and immutable admitted plan for one workflow execution. +record_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.run/1.0.0.schema.json +--- + +# Durable run + +The durable state and immutable admitted plan for one workflow execution. + +This artifact is passive. Installing it or a type that implements it grants no +authority to execute workflows or invoke providers. diff --git a/public/contracts/artifacts/contracts/mdbase.runtime.timer.fired/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.runtime.timer.fired/1.0.0.md new file mode 100644 index 0000000..410b93a --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.runtime.timer.fired/1.0.0.md @@ -0,0 +1,16 @@ +--- +kind: mdbase.contract +contract_type: event +id: mdbase.runtime.timer.fired +version: 1.0.0 +name: Runtime timer fired +description: Published with scheduling evidence and opaque application data when the current generation of a durable timer fires. +data_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.timer.fired/1.0.0.schema.json +--- + +# Runtime timer fired + +This built-in is an ordinary, inspectable contract artifact. Runtime exchange +uses the mdbase interoperability profile unchanged. diff --git a/public/contracts/artifacts/contracts/mdbase.runtime.timer/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.runtime.timer/1.0.0.md new file mode 100644 index 0000000..7477f69 --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.runtime.timer/1.0.0.md @@ -0,0 +1,18 @@ +--- +kind: mdbase.contract +contract_type: record +id: mdbase.runtime.timer +version: 1.0.0 +name: Runtime timer +description: A generation-safe one-shot timer that publishes through the interoperability profile. +record_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.timer/1.0.0.schema.json +--- + +# Runtime timer + +A generation-safe one-shot timer that publishes through the interoperability profile. + +This artifact is passive. Installing it or a type that implements it grants no +authority to execute workflows or invoke providers. diff --git a/public/contracts/artifacts/contracts/mdbase.runtime.workflow/1.0.0.md b/public/contracts/artifacts/contracts/mdbase.runtime.workflow/1.0.0.md new file mode 100644 index 0000000..30bcc06 --- /dev/null +++ b/public/contracts/artifacts/contracts/mdbase.runtime.workflow/1.0.0.md @@ -0,0 +1,18 @@ +--- +kind: mdbase.contract +contract_type: record +id: mdbase.runtime.workflow +version: 1.0.0 +name: Durable workflow +description: A portable workflow whose event and action references are resolved and pinned at admission. +record_schema: + dialect: json-schema-2020-12 + ref: ../../schemas/mdbase.runtime.workflow/1.0.0.schema.json +--- + +# Durable workflow + +A portable workflow whose event and action references are resolved and pinned at admission. + +This artifact is passive. Installing it or a type that implements it grants no +authority to execute workflows or invoke providers. diff --git a/public/contracts/artifacts/schemas/mdbase.record.created/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.record.created/1.0.0.schema.json new file mode 100644 index 0000000..f2f1c4e --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.record.created/1.0.0.schema.json @@ -0,0 +1,180 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase record-created event data", + "type": "object", + "required": [ + "path", + "after", + "changed_fields", + "revision", + "types" + ], + "properties": { + "path": { + "type": "string", + "minLength": 1 + }, + "after": { + "type": "object" + }, + "changed_fields": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "revision": { + "type": "string", + "minLength": 1 + }, + "types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.created/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.record.deleted/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.record.deleted/1.0.0.schema.json new file mode 100644 index 0000000..49a395f --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.record.deleted/1.0.0.schema.json @@ -0,0 +1,172 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase record-deleted event data", + "type": "object", + "required": [ + "path", + "before", + "previous_revision", + "types" + ], + "properties": { + "path": { + "type": "string", + "minLength": 1 + }, + "before": { + "type": "object" + }, + "previous_revision": { + "type": "string", + "minLength": 1 + }, + "types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.deleted/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.record.modified/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.record.modified/1.0.0.schema.json new file mode 100644 index 0000000..57ad051 --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.record.modified/1.0.0.schema.json @@ -0,0 +1,198 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase record-modified event data", + "type": "object", + "required": [ + "path", + "before", + "after", + "changed_fields", + "previous_revision", + "revision", + "previous_types", + "types" + ], + "properties": { + "path": { + "type": "string", + "minLength": 1 + }, + "before": { + "type": "object" + }, + "after": { + "type": "object" + }, + "changed_fields": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "previous_revision": { + "type": "string", + "minLength": 1 + }, + "revision": { + "type": "string", + "minLength": 1 + }, + "previous_types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + }, + "types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.modified/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.record.renamed/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.record.renamed/1.0.0.schema.json new file mode 100644 index 0000000..4c11fc8 --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.record.renamed/1.0.0.schema.json @@ -0,0 +1,195 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase record-renamed event data", + "type": "object", + "required": [ + "from", + "to", + "before", + "after", + "previous_revision", + "revision", + "previous_types", + "types" + ], + "properties": { + "from": { + "type": "string", + "minLength": 1 + }, + "to": { + "type": "string", + "minLength": 1 + }, + "before": { + "type": "object" + }, + "after": { + "type": "object" + }, + "previous_revision": { + "type": "string", + "minLength": 1 + }, + "revision": { + "type": "string", + "minLength": 1 + }, + "previous_types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + }, + "types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.renamed/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.action-attempt/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.action-attempt/1.0.0.schema.json new file mode 100644 index 0000000..b02f7b7 --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.action-attempt/1.0.0.schema.json @@ -0,0 +1,238 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime action attempt", + "type": "object", + "required": [ + "type", + "id", + "run_id", + "step_id", + "request_id", + "invocation_id", + "attempt_id", + "contract", + "provider", + "provider_declaration_digest", + "status", + "created_at", + "updated_at" + ], + "properties": { + "type": { + "const": "runtime_action_attempt" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "step_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "request_id": { + "type": "string", + "minLength": 1 + }, + "invocation_id": { + "type": "string", + "minLength": 1 + }, + "attempt_id": { + "type": "string", + "minLength": 1 + }, + "contract": { + "$ref": "#/$defs/exactContractReference" + }, + "provider": { + "$ref": "#/$defs/identity" + }, + "provider_declaration_digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "handler_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "idempotency_key": { + "type": "string" + }, + "status": { + "enum": [ + "admitted", + "dispatching", + "succeeded", + "rejected", + "failed", + "cancelled", + "indeterminate" + ] + }, + "request": { + "type": "object" + }, + "invocation": { + "type": "object" + }, + "outcome": { + "type": "object" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "completed_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.action-attempt/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.capability-grant/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.capability-grant/1.0.0.schema.json new file mode 100644 index 0000000..9d6cc2d --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.capability-grant/1.0.0.schema.json @@ -0,0 +1,197 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime capability grant", + "type": "object", + "required": [ + "type", + "id", + "capability", + "principal", + "mode", + "granted_at" + ], + "properties": { + "type": { + "const": "runtime_capability_grant" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "capability": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "principal": { + "$ref": "#/$defs/identity" + }, + "mode": { + "enum": [ + "allow", + "deny" + ] + }, + "actions": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/$defs/contractRequirement" + } + }, + "providers": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/$defs/providerSelector" + } + }, + "granted_at": { + "type": "string", + "format": "date-time" + }, + "expires_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.capability-grant/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.checkpoint/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.checkpoint/1.0.0.schema.json new file mode 100644 index 0000000..f14163b --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.checkpoint/1.0.0.schema.json @@ -0,0 +1,188 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime checkpoint", + "type": "object", + "required": [ + "type", + "id", + "run_id", + "generation", + "status", + "state", + "updated_at" + ], + "properties": { + "type": { + "const": "runtime_checkpoint" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "generation": { + "type": "integer", + "minimum": 1 + }, + "status": { + "enum": [ + "open", + "waiting", + "ready", + "completed", + "failed", + "cancelled" + ] + }, + "state": { + "type": "object" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.checkpoint/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.dead-letter/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.dead-letter/1.0.0.schema.json new file mode 100644 index 0000000..ea3be8b --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.dead-letter/1.0.0.schema.json @@ -0,0 +1,191 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime dead letter", + "type": "object", + "required": [ + "type", + "id", + "reason", + "status", + "evidence", + "created_at" + ], + "properties": { + "type": { + "const": "runtime_dead_letter" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "reason": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "status": { + "enum": [ + "unresolved", + "acknowledged", + "requeued" + ] + }, + "evidence_kind": { + "enum": [ + "event", + "action_request", + "action_outcome" + ] + }, + "evidence": { + "type": "object" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "acknowledged_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.dead-letter/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.diagnostic/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.diagnostic/1.0.0.schema.json new file mode 100644 index 0000000..0dec633 --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.diagnostic/1.0.0.schema.json @@ -0,0 +1,193 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime diagnostic", + "type": "object", + "required": [ + "type", + "id", + "severity", + "code", + "message", + "created_at" + ], + "properties": { + "type": { + "const": "runtime_diagnostic" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ] + }, + "code": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "message": { + "type": "string", + "minLength": 1 + }, + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "attempt_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "path": { + "type": "string" + }, + "details": {}, + "created_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.diagnostic/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.policy/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.policy/1.0.0.schema.json new file mode 100644 index 0000000..a873c7b --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.policy/1.0.0.schema.json @@ -0,0 +1,263 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime policy", + "type": "object", + "required": [ + "type", + "id", + "version", + "enabled", + "grants" + ], + "properties": { + "type": { + "const": "runtime_policy" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "enabled": { + "type": "boolean" + }, + "executors": { + "type": "object", + "required": [], + "properties": { + "default": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "workflows": { + "type": "object", + "additionalProperties": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "provider_selections": { + "type": "array", + "items": { + "type": "object", + "required": [ + "contract", + "selector" + ], + "properties": { + "contract": { + "$ref": "#/$defs/contractRequirement" + }, + "selector": { + "$ref": "#/$defs/providerSelector" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + }, + "grants": { + "type": "array", + "items": { + "type": "object", + "required": [ + "capability", + "mode" + ], + "properties": { + "capability": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "mode": { + "enum": [ + "allow", + "deny" + ] + }, + "actions": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/$defs/contractRequirement" + } + }, + "providers": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/$defs/providerSelector" + } + }, + "max_calls_per_run": { + "type": "integer", + "minimum": 1 + }, + "max_records_per_run": { + "type": "integer", + "minimum": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.policy/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.provider-registration/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.provider-registration/1.0.0.schema.json new file mode 100644 index 0000000..1fb73c5 --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.provider-registration/1.0.0.schema.json @@ -0,0 +1,178 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime provider registration evidence", + "type": "object", + "required": [ + "type", + "id", + "declaration_kind", + "declaration", + "verified_at", + "active" + ], + "properties": { + "type": { + "const": "runtime_provider_registration" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "declaration_kind": { + "enum": [ + "event_source", + "action_provider" + ] + }, + "declaration": { + "type": "object" + }, + "verified_at": { + "type": "string", + "format": "date-time" + }, + "active": { + "type": "boolean" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.provider-registration/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.run.cancel/1.0.0.output.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.run.cancel/1.0.0.output.schema.json new file mode 100644 index 0000000..8c3ed04 --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.run.cancel/1.0.0.output.schema.json @@ -0,0 +1,161 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime run-cancel action output", + "type": "object", + "required": [ + "run_id", + "status" + ], + "properties": { + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "status": { + "enum": [ + "cancellation_requested", + "already_terminal" + ] + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run.cancel/1.0.0.output.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.run.cancel/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.run.cancel/1.0.0.schema.json new file mode 100644 index 0000000..e5fd257 --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.run.cancel/1.0.0.schema.json @@ -0,0 +1,157 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime run-cancel action input", + "type": "object", + "required": [ + "run_id" + ], + "properties": { + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "reason": { + "type": "string" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run.cancel/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.run/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.run/1.0.0.schema.json new file mode 100644 index 0000000..3966490 --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.run/1.0.0.schema.json @@ -0,0 +1,356 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime run", + "type": "object", + "required": [ + "type", + "id", + "workflow_id", + "workflow_version", + "workflow_revision", + "event_id", + "event_contract", + "admitted_plan", + "status", + "created_at", + "updated_at" + ], + "properties": { + "type": { + "const": "runtime_run" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "workflow_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "workflow_version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "workflow_revision": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "event_id": { + "type": "string", + "minLength": 1 + }, + "event_contract": { + "$ref": "#/$defs/exactContractReference" + }, + "event_source": { + "$ref": "#/$defs/identity" + }, + "admitted_plan": { + "$ref": "#/$defs/admittedPlan" + }, + "policy_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "policy_revision": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "trigger_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "event_cursor": { + "type": "integer", + "minimum": 1 + }, + "executor": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "idempotency_key": { + "type": "string" + }, + "concurrency_group": { + "type": "string" + }, + "status": { + "enum": [ + "queued", + "running", + "waiting", + "succeeded", + "failed", + "cancelled", + "indeterminate" + ] + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "finished_at": { + "type": "string", + "format": "date-time" + }, + "lease": { + "$ref": "#/$defs/lease" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + }, + "admittedPlan": { + "type": "object", + "required": [ + "profile_version", + "workflow_revision", + "event", + "steps" + ], + "properties": { + "profile_version": { + "const": "0.2" + }, + "workflow_revision": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "event": { + "type": "object", + "required": [ + "contract", + "source" + ], + "properties": { + "contract": { + "$ref": "#/$defs/exactContractReference" + }, + "source": { + "$ref": "#/$defs/identity" + }, + "source_declaration_digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "steps": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "contract", + "provider", + "provider_declaration_digest", + "handler_id" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "contract": { + "$ref": "#/$defs/exactContractReference" + }, + "provider": { + "$ref": "#/$defs/identity" + }, + "provider_declaration_digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "handler_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "lease": { + "type": "object", + "required": [ + "owner", + "token", + "expires_at" + ], + "properties": { + "owner": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "token": { + "type": "string", + "minLength": 1 + }, + "expires_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.timer.fired/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.timer.fired/1.0.0.schema.json new file mode 100644 index 0000000..26296a9 --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.timer.fired/1.0.0.schema.json @@ -0,0 +1,178 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime timer-fired event data", + "type": "object", + "required": [ + "timer_id", + "generation", + "scheduled_for", + "fired_at", + "late_by_ms", + "data" + ], + "properties": { + "timer_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "generation": { + "type": "integer", + "minimum": 1 + }, + "scheduled_for": { + "type": "string", + "format": "date-time" + }, + "fired_at": { + "type": "string", + "format": "date-time" + }, + "late_by_ms": { + "type": "integer", + "minimum": 0 + }, + "data": { + "description": "Opaque application data supplied when the timer was scheduled." + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.timer.fired/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.timer/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.timer/1.0.0.schema.json new file mode 100644 index 0000000..a03fc67 --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.timer/1.0.0.schema.json @@ -0,0 +1,221 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime timer", + "type": "object", + "required": [ + "type", + "id", + "generation", + "status", + "fire_at", + "event", + "created_at", + "updated_at" + ], + "properties": { + "type": { + "const": "runtime_timer" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "generation": { + "type": "integer", + "minimum": 1 + }, + "status": { + "enum": [ + "scheduled", + "firing", + "fired", + "cancelled" + ] + }, + "fire_at": { + "type": "string", + "format": "date-time" + }, + "event": { + "type": "object", + "required": [ + "contract", + "data" + ], + "properties": { + "contract": { + "$ref": "#/$defs/contractRequirement" + }, + "subject": { + "type": "string" + }, + "correlation_id": { + "type": "string" + }, + "causation_id": { + "type": "string" + }, + "data": {} + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "missed_run_policy": { + "const": "fire_once" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "fired_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.timer/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/schemas/mdbase.runtime.workflow/1.0.0.schema.json b/public/contracts/artifacts/schemas/mdbase.runtime.workflow/1.0.0.schema.json new file mode 100644 index 0000000..60cf082 --- /dev/null +++ b/public/contracts/artifacts/schemas/mdbase.runtime.workflow/1.0.0.schema.json @@ -0,0 +1,392 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime workflow", + "type": "object", + "required": [ + "type", + "id", + "version", + "name", + "enabled", + "triggers", + "steps" + ], + "properties": { + "type": { + "const": "runtime_workflow" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "description": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "requires": { + "$ref": "#/$defs/requires" + }, + "vars": { + "type": "object", + "additionalProperties": {} + }, + "triggers": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/trigger" + } + }, + "steps": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/step" + } + }, + "run": { + "$ref": "#/$defs/runPolicy" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + }, + "requires": { + "type": "object", + "required": [], + "properties": { + "capabilities": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "trigger": { + "type": "object", + "required": [ + "id", + "event" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "event": { + "$ref": "#/$defs/contractRequirement" + }, + "if": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + }, + "debounce": { + "$ref": "#/$defs/duration" + }, + "minimum_interval": { + "$ref": "#/$defs/duration" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "step": { + "type": "object", + "required": [ + "id", + "action" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "name": { + "type": "string" + }, + "action": { + "$ref": "#/$defs/contractRequirement" + }, + "provider": { + "$ref": "#/$defs/providerSelector" + }, + "requires": { + "$ref": "#/$defs/requires" + }, + "if": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + }, + "input": { + "type": "object", + "additionalProperties": {} + }, + "for_each": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": {}, + "as": { + "type": "string", + "pattern": "^[A-Za-z_][A-Za-z0-9_]*$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "duration": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)(ms|s|m|h|d)$" + }, + "runPolicy": { + "type": "object", + "required": [], + "properties": { + "idempotency": { + "type": "object", + "required": [ + "key" + ], + "properties": { + "key": {} + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "concurrency": { + "type": "object", + "required": [ + "policy" + ], + "properties": { + "group": {}, + "policy": { + "enum": [ + "skip", + "queue", + "replace", + "allow" + ] + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "limits": { + "type": "object", + "required": [], + "properties": { + "timeout": { + "$ref": "#/$defs/duration" + }, + "max_items": { + "type": "integer", + "minimum": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "on_error": { + "enum": [ + "stop", + "continue" + ] + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.workflow/1.0.0.schema.json" +} diff --git a/public/contracts/artifacts/types/mdbase-runtime/action-attempt.md b/public/contracts/artifacts/types/mdbase-runtime/action-attempt.md new file mode 100644 index 0000000..edd8505 --- /dev/null +++ b/public/contracts/artifacts/types/mdbase-runtime/action-attempt.md @@ -0,0 +1,216 @@ +--- +kind: mdbase.type +name: runtime_action_attempt +version: 1 +description: Canonical Markdown implementation of mdbase.runtime.action-attempt. +match: + where: + type: runtime_action_attempt +schema: + dialect: json-schema-2020-12 + value: + $schema: https://json-schema.org/draft/2020-12/schema + title: mdbase durable runtime action attempt + type: object + required: + - type + - id + - run_id + - step_id + - request_id + - invocation_id + - attempt_id + - contract + - provider + - provider_declaration_digest + - status + - created_at + - updated_at + properties: + type: + const: runtime_action_attempt + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + run_id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + step_id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + request_id: + type: string + minLength: 1 + invocation_id: + type: string + minLength: 1 + attempt_id: + type: string + minLength: 1 + contract: + $ref: "#/$defs/exactContractReference" + provider: + $ref: "#/$defs/identity" + provider_declaration_digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + handler_id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + idempotency_key: + type: string + status: + enum: + - admitted + - dispatching + - succeeded + - rejected + - failed + - cancelled + - indeterminate + request: + type: object + invocation: + type: object + outcome: + type: object + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + completed_at: + type: string + format: date-time + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + $defs: + identifier: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + semanticVersion: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + dateTime: + type: string + format: date-time + contractRequirement: + type: object + required: + - id + - version + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + minLength: 1 + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + exactContractReference: + type: object + required: + - id + - version + - digest + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + identity: + type: object + required: + - application + - implementation + - version + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + providerSelector: + type: object + required: [] + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + minProperties: 1 + expression: + type: object + required: + - $expr + properties: + $expr: + type: string + minLength: 1 + additionalProperties: false + $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.action-attempt/1.0.0.schema.json +implements: + - contract: mdbase.runtime.action-attempt + version: 1.0.0 + fields: + type: type + id: id + run_id: run_id + step_id: step_id + request_id: request_id + invocation_id: invocation_id + attempt_id: attempt_id + contract: contract + provider: provider + provider_declaration_digest: provider_declaration_digest + handler_id: handler_id + idempotency_key: idempotency_key + status: status + request: request + invocation: invocation + outcome: outcome + created_at: created_at + updated_at: updated_at + completed_at: completed_at +--- + +# Durable action attempt + +This canonical type makes `runtime_action_attempt` records discoverable through +the ordinary mdbase record-contract registry. diff --git a/public/contracts/artifacts/types/mdbase-runtime/capability-grant.md b/public/contracts/artifacts/types/mdbase-runtime/capability-grant.md new file mode 100644 index 0000000..687225d --- /dev/null +++ b/public/contracts/artifacts/types/mdbase-runtime/capability-grant.md @@ -0,0 +1,173 @@ +--- +kind: mdbase.type +name: runtime_capability_grant +version: 1 +description: Canonical Markdown implementation of mdbase.runtime.capability-grant. +match: + where: + type: runtime_capability_grant +schema: + dialect: json-schema-2020-12 + value: + $schema: https://json-schema.org/draft/2020-12/schema + title: mdbase runtime capability grant + type: object + required: + - type + - id + - capability + - principal + - mode + - granted_at + properties: + type: + const: runtime_capability_grant + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + capability: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + principal: + $ref: "#/$defs/identity" + mode: + enum: + - allow + - deny + actions: + type: array + uniqueItems: true + items: + $ref: "#/$defs/contractRequirement" + providers: + type: array + uniqueItems: true + items: + $ref: "#/$defs/providerSelector" + granted_at: + type: string + format: date-time + expires_at: + type: string + format: date-time + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + $defs: + identifier: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + semanticVersion: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + dateTime: + type: string + format: date-time + contractRequirement: + type: object + required: + - id + - version + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + minLength: 1 + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + exactContractReference: + type: object + required: + - id + - version + - digest + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + identity: + type: object + required: + - application + - implementation + - version + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + providerSelector: + type: object + required: [] + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + minProperties: 1 + expression: + type: object + required: + - $expr + properties: + $expr: + type: string + minLength: 1 + additionalProperties: false + $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.capability-grant/1.0.0.schema.json +implements: + - contract: mdbase.runtime.capability-grant + version: 1.0.0 + fields: + type: type + id: id + capability: capability + principal: principal + mode: mode + actions: actions + providers: providers + granted_at: granted_at + expires_at: expires_at +--- + +# Capability grant evidence + +This canonical type makes `runtime_capability_grant` records discoverable through +the ordinary mdbase record-contract registry. diff --git a/public/contracts/artifacts/types/mdbase-runtime/checkpoint.md b/public/contracts/artifacts/types/mdbase-runtime/checkpoint.md new file mode 100644 index 0000000..fad5438 --- /dev/null +++ b/public/contracts/artifacts/types/mdbase-runtime/checkpoint.md @@ -0,0 +1,166 @@ +--- +kind: mdbase.type +name: runtime_checkpoint +version: 1 +description: Canonical Markdown implementation of mdbase.runtime.checkpoint. +match: + where: + type: runtime_checkpoint +schema: + dialect: json-schema-2020-12 + value: + $schema: https://json-schema.org/draft/2020-12/schema + title: mdbase durable runtime checkpoint + type: object + required: + - type + - id + - run_id + - generation + - status + - state + - updated_at + properties: + type: + const: runtime_checkpoint + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + run_id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + generation: + type: integer + minimum: 1 + status: + enum: + - open + - waiting + - ready + - completed + - failed + - cancelled + state: + type: object + updated_at: + type: string + format: date-time + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + $defs: + identifier: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + semanticVersion: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + dateTime: + type: string + format: date-time + contractRequirement: + type: object + required: + - id + - version + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + minLength: 1 + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + exactContractReference: + type: object + required: + - id + - version + - digest + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + identity: + type: object + required: + - application + - implementation + - version + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + providerSelector: + type: object + required: [] + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + minProperties: 1 + expression: + type: object + required: + - $expr + properties: + $expr: + type: string + minLength: 1 + additionalProperties: false + $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.checkpoint/1.0.0.schema.json +implements: + - contract: mdbase.runtime.checkpoint + version: 1.0.0 + fields: + type: type + id: id + run_id: run_id + generation: generation + status: status + state: state + updated_at: updated_at +--- + +# Runtime checkpoint + +This canonical type makes `runtime_checkpoint` records discoverable through +the ordinary mdbase record-contract registry. diff --git a/public/contracts/artifacts/types/mdbase-runtime/dead-letter.md b/public/contracts/artifacts/types/mdbase-runtime/dead-letter.md new file mode 100644 index 0000000..1db79a3 --- /dev/null +++ b/public/contracts/artifacts/types/mdbase-runtime/dead-letter.md @@ -0,0 +1,168 @@ +--- +kind: mdbase.type +name: runtime_dead_letter +version: 1 +description: Canonical Markdown implementation of mdbase.runtime.dead-letter. +match: + where: + type: runtime_dead_letter +schema: + dialect: json-schema-2020-12 + value: + $schema: https://json-schema.org/draft/2020-12/schema + title: mdbase durable runtime dead letter + type: object + required: + - type + - id + - reason + - status + - evidence + - created_at + properties: + type: + const: runtime_dead_letter + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + reason: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + status: + enum: + - unresolved + - acknowledged + - requeued + evidence_kind: + enum: + - event + - action_request + - action_outcome + evidence: + type: object + created_at: + type: string + format: date-time + acknowledged_at: + type: string + format: date-time + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + $defs: + identifier: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + semanticVersion: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + dateTime: + type: string + format: date-time + contractRequirement: + type: object + required: + - id + - version + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + minLength: 1 + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + exactContractReference: + type: object + required: + - id + - version + - digest + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + identity: + type: object + required: + - application + - implementation + - version + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + providerSelector: + type: object + required: [] + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + minProperties: 1 + expression: + type: object + required: + - $expr + properties: + $expr: + type: string + minLength: 1 + additionalProperties: false + $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.dead-letter/1.0.0.schema.json +implements: + - contract: mdbase.runtime.dead-letter + version: 1.0.0 + fields: + type: type + id: id + reason: reason + status: status + evidence_kind: evidence_kind + evidence: evidence + created_at: created_at + acknowledged_at: acknowledged_at +--- + +# Runtime dead letter + +This canonical type makes `runtime_dead_letter` records discoverable through +the ordinary mdbase record-contract registry. diff --git a/public/contracts/artifacts/types/mdbase-runtime/diagnostic.md b/public/contracts/artifacts/types/mdbase-runtime/diagnostic.md new file mode 100644 index 0000000..961b0be --- /dev/null +++ b/public/contracts/artifacts/types/mdbase-runtime/diagnostic.md @@ -0,0 +1,172 @@ +--- +kind: mdbase.type +name: runtime_diagnostic +version: 1 +description: Canonical Markdown implementation of mdbase.runtime.diagnostic. +match: + where: + type: runtime_diagnostic +schema: + dialect: json-schema-2020-12 + value: + $schema: https://json-schema.org/draft/2020-12/schema + title: mdbase durable runtime diagnostic + type: object + required: + - type + - id + - severity + - code + - message + - created_at + properties: + type: + const: runtime_diagnostic + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + severity: + enum: + - info + - warning + - error + code: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + message: + type: string + minLength: 1 + run_id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + attempt_id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + path: + type: string + details: {} + created_at: + type: string + format: date-time + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + $defs: + identifier: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + semanticVersion: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + dateTime: + type: string + format: date-time + contractRequirement: + type: object + required: + - id + - version + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + minLength: 1 + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + exactContractReference: + type: object + required: + - id + - version + - digest + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + identity: + type: object + required: + - application + - implementation + - version + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + providerSelector: + type: object + required: [] + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + minProperties: 1 + expression: + type: object + required: + - $expr + properties: + $expr: + type: string + minLength: 1 + additionalProperties: false + $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.diagnostic/1.0.0.schema.json +implements: + - contract: mdbase.runtime.diagnostic + version: 1.0.0 + fields: + type: type + id: id + severity: severity + code: code + message: message + run_id: run_id + attempt_id: attempt_id + path: path + details: details + created_at: created_at +--- + +# Runtime diagnostic + +This canonical type makes `runtime_diagnostic` records discoverable through +the ordinary mdbase record-contract registry. diff --git a/public/contracts/artifacts/types/mdbase-runtime/policy.md b/public/contracts/artifacts/types/mdbase-runtime/policy.md new file mode 100644 index 0000000..636cc65 --- /dev/null +++ b/public/contracts/artifacts/types/mdbase-runtime/policy.md @@ -0,0 +1,218 @@ +--- +kind: mdbase.type +name: runtime_policy +version: 1 +description: Canonical Markdown implementation of mdbase.runtime.policy. +match: + where: + type: runtime_policy +schema: + dialect: json-schema-2020-12 + value: + $schema: https://json-schema.org/draft/2020-12/schema + title: mdbase durable runtime policy + type: object + required: + - type + - id + - version + - enabled + - grants + properties: + type: + const: runtime_policy + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + name: + type: string + minLength: 1 + enabled: + type: boolean + executors: + type: object + required: [] + properties: + default: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + workflows: + type: object + additionalProperties: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + provider_selections: + type: array + items: + type: object + required: + - contract + - selector + properties: + contract: + $ref: "#/$defs/contractRequirement" + selector: + $ref: "#/$defs/providerSelector" + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + grants: + type: array + items: + type: object + required: + - capability + - mode + properties: + capability: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + mode: + enum: + - allow + - deny + actions: + type: array + uniqueItems: true + items: + $ref: "#/$defs/contractRequirement" + providers: + type: array + uniqueItems: true + items: + $ref: "#/$defs/providerSelector" + max_calls_per_run: + type: integer + minimum: 1 + max_records_per_run: + type: integer + minimum: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + $defs: + identifier: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + semanticVersion: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + dateTime: + type: string + format: date-time + contractRequirement: + type: object + required: + - id + - version + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + minLength: 1 + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + exactContractReference: + type: object + required: + - id + - version + - digest + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + identity: + type: object + required: + - application + - implementation + - version + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + providerSelector: + type: object + required: [] + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + minProperties: 1 + expression: + type: object + required: + - $expr + properties: + $expr: + type: string + minLength: 1 + additionalProperties: false + $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.policy/1.0.0.schema.json +implements: + - contract: mdbase.runtime.policy + version: 1.0.0 + fields: + type: type + id: id + version: version + name: name + enabled: enabled + executors: executors + provider_selections: provider_selections + grants: grants +--- + +# Runtime policy + +This canonical type makes `runtime_policy` records discoverable through +the ordinary mdbase record-contract registry. diff --git a/public/contracts/artifacts/types/mdbase-runtime/provider-registration.md b/public/contracts/artifacts/types/mdbase-runtime/provider-registration.md new file mode 100644 index 0000000..d78cd28 --- /dev/null +++ b/public/contracts/artifacts/types/mdbase-runtime/provider-registration.md @@ -0,0 +1,156 @@ +--- +kind: mdbase.type +name: runtime_provider_registration +version: 1 +description: Canonical Markdown implementation of mdbase.runtime.provider-registration. +match: + where: + type: runtime_provider_registration +schema: + dialect: json-schema-2020-12 + value: + $schema: https://json-schema.org/draft/2020-12/schema + title: mdbase runtime provider registration evidence + type: object + required: + - type + - id + - declaration_kind + - declaration + - verified_at + - active + properties: + type: + const: runtime_provider_registration + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + declaration_kind: + enum: + - event_source + - action_provider + declaration: + type: object + verified_at: + type: string + format: date-time + active: + type: boolean + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + $defs: + identifier: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + semanticVersion: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + dateTime: + type: string + format: date-time + contractRequirement: + type: object + required: + - id + - version + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + minLength: 1 + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + exactContractReference: + type: object + required: + - id + - version + - digest + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + identity: + type: object + required: + - application + - implementation + - version + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + providerSelector: + type: object + required: [] + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + minProperties: 1 + expression: + type: object + required: + - $expr + properties: + $expr: + type: string + minLength: 1 + additionalProperties: false + $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.provider-registration/1.0.0.schema.json +implements: + - contract: mdbase.runtime.provider-registration + version: 1.0.0 + fields: + type: type + id: id + declaration_kind: declaration_kind + declaration: declaration + verified_at: verified_at + active: active +--- + +# Provider registration evidence + +This canonical type makes `runtime_provider_registration` records discoverable through +the ordinary mdbase record-contract registry. diff --git a/public/contracts/artifacts/types/mdbase-runtime/run.md b/public/contracts/artifacts/types/mdbase-runtime/run.md new file mode 100644 index 0000000..3c98755 --- /dev/null +++ b/public/contracts/artifacts/types/mdbase-runtime/run.md @@ -0,0 +1,304 @@ +--- +kind: mdbase.type +name: runtime_run +version: 1 +description: Canonical Markdown implementation of mdbase.runtime.run. +match: + where: + type: runtime_run +schema: + dialect: json-schema-2020-12 + value: + $schema: https://json-schema.org/draft/2020-12/schema + title: mdbase durable runtime run + type: object + required: + - type + - id + - workflow_id + - workflow_version + - workflow_revision + - event_id + - event_contract + - admitted_plan + - status + - created_at + - updated_at + properties: + type: + const: runtime_run + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + workflow_id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + workflow_version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + workflow_revision: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + event_id: + type: string + minLength: 1 + event_contract: + $ref: "#/$defs/exactContractReference" + event_source: + $ref: "#/$defs/identity" + admitted_plan: + $ref: "#/$defs/admittedPlan" + policy_id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + policy_revision: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + trigger_id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + event_cursor: + type: integer + minimum: 1 + executor: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + idempotency_key: + type: string + concurrency_group: + type: string + status: + enum: + - queued + - running + - waiting + - succeeded + - failed + - cancelled + - indeterminate + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + started_at: + type: string + format: date-time + finished_at: + type: string + format: date-time + lease: + $ref: "#/$defs/lease" + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + $defs: + identifier: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + semanticVersion: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + dateTime: + type: string + format: date-time + contractRequirement: + type: object + required: + - id + - version + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + minLength: 1 + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + exactContractReference: + type: object + required: + - id + - version + - digest + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + identity: + type: object + required: + - application + - implementation + - version + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + providerSelector: + type: object + required: [] + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + minProperties: 1 + expression: + type: object + required: + - $expr + properties: + $expr: + type: string + minLength: 1 + additionalProperties: false + admittedPlan: + type: object + required: + - profile_version + - workflow_revision + - event + - steps + properties: + profile_version: + const: "0.2" + workflow_revision: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + event: + type: object + required: + - contract + - source + properties: + contract: + $ref: "#/$defs/exactContractReference" + source: + $ref: "#/$defs/identity" + source_declaration_digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + steps: + type: array + items: + type: object + required: + - id + - contract + - provider + - provider_declaration_digest + - handler_id + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + contract: + $ref: "#/$defs/exactContractReference" + provider: + $ref: "#/$defs/identity" + provider_declaration_digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + handler_id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + lease: + type: object + required: + - owner + - token + - expires_at + properties: + owner: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + token: + type: string + minLength: 1 + expires_at: + type: string + format: date-time + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run/1.0.0.schema.json +implements: + - contract: mdbase.runtime.run + version: 1.0.0 + fields: + type: type + id: id + workflow_id: workflow_id + workflow_version: workflow_version + workflow_revision: workflow_revision + event_id: event_id + event_contract: event_contract + event_source: event_source + admitted_plan: admitted_plan + policy_id: policy_id + policy_revision: policy_revision + trigger_id: trigger_id + event_cursor: event_cursor + executor: executor + idempotency_key: idempotency_key + concurrency_group: concurrency_group + status: status + created_at: created_at + updated_at: updated_at + started_at: started_at + finished_at: finished_at + lease: lease +--- + +# Durable run + +This canonical type makes `runtime_run` records discoverable through +the ordinary mdbase record-contract registry. diff --git a/public/contracts/artifacts/types/mdbase-runtime/timer.md b/public/contracts/artifacts/types/mdbase-runtime/timer.md new file mode 100644 index 0000000..8da12bb --- /dev/null +++ b/public/contracts/artifacts/types/mdbase-runtime/timer.md @@ -0,0 +1,192 @@ +--- +kind: mdbase.type +name: runtime_timer +version: 1 +description: Canonical Markdown implementation of mdbase.runtime.timer. +match: + where: + type: runtime_timer +schema: + dialect: json-schema-2020-12 + value: + $schema: https://json-schema.org/draft/2020-12/schema + title: mdbase durable runtime timer + type: object + required: + - type + - id + - generation + - status + - fire_at + - event + - created_at + - updated_at + properties: + type: + const: runtime_timer + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + generation: + type: integer + minimum: 1 + status: + enum: + - scheduled + - firing + - fired + - cancelled + fire_at: + type: string + format: date-time + event: + type: object + required: + - contract + - data + properties: + contract: + $ref: "#/$defs/contractRequirement" + subject: + type: string + correlation_id: + type: string + causation_id: + type: string + data: {} + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + missed_run_policy: + const: fire_once + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + fired_at: + type: string + format: date-time + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + $defs: + identifier: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + semanticVersion: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + dateTime: + type: string + format: date-time + contractRequirement: + type: object + required: + - id + - version + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + minLength: 1 + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + exactContractReference: + type: object + required: + - id + - version + - digest + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + identity: + type: object + required: + - application + - implementation + - version + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + providerSelector: + type: object + required: [] + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + minProperties: 1 + expression: + type: object + required: + - $expr + properties: + $expr: + type: string + minLength: 1 + additionalProperties: false + $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.timer/1.0.0.schema.json +implements: + - contract: mdbase.runtime.timer + version: 1.0.0 + fields: + type: type + id: id + generation: generation + status: status + fire_at: fire_at + event: event + missed_run_policy: missed_run_policy + created_at: created_at + updated_at: updated_at + fired_at: fired_at +--- + +# Runtime timer + +This canonical type makes `runtime_timer` records discoverable through +the ordinary mdbase record-contract registry. diff --git a/public/contracts/artifacts/types/mdbase-runtime/workflow.md b/public/contracts/artifacts/types/mdbase-runtime/workflow.md new file mode 100644 index 0000000..16787d0 --- /dev/null +++ b/public/contracts/artifacts/types/mdbase-runtime/workflow.md @@ -0,0 +1,312 @@ +--- +kind: mdbase.type +name: runtime_workflow +version: 1 +description: Canonical Markdown implementation of mdbase.runtime.workflow. +match: + where: + type: runtime_workflow +schema: + dialect: json-schema-2020-12 + value: + $schema: https://json-schema.org/draft/2020-12/schema + title: mdbase durable runtime workflow + type: object + required: + - type + - id + - version + - name + - enabled + - triggers + - steps + properties: + type: + const: runtime_workflow + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + name: + type: string + minLength: 1 + description: + type: string + enabled: + type: boolean + requires: + $ref: "#/$defs/requires" + vars: + type: object + additionalProperties: {} + triggers: + type: array + minItems: 1 + items: + $ref: "#/$defs/trigger" + steps: + type: array + minItems: 1 + items: + $ref: "#/$defs/step" + run: + $ref: "#/$defs/runPolicy" + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + $defs: + identifier: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + semanticVersion: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + dateTime: + type: string + format: date-time + contractRequirement: + type: object + required: + - id + - version + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + minLength: 1 + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + exactContractReference: + type: object + required: + - id + - version + - digest + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + digest: + type: string + pattern: ^sha256:[0-9a-f]{64}$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + identity: + type: object + required: + - application + - implementation + - version + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + version: + type: string + pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + providerSelector: + type: object + required: [] + properties: + application: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + implementation: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + instance_id: + type: string + minLength: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + minProperties: 1 + expression: + type: object + required: + - $expr + properties: + $expr: + type: string + minLength: 1 + additionalProperties: false + requires: + type: object + required: [] + properties: + capabilities: + type: array + uniqueItems: true + items: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + trigger: + type: object + required: + - id + - event + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + event: + $ref: "#/$defs/contractRequirement" + if: + type: object + required: + - $expr + properties: + $expr: + type: string + minLength: 1 + additionalProperties: false + debounce: + $ref: "#/$defs/duration" + minimum_interval: + $ref: "#/$defs/duration" + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + step: + type: object + required: + - id + - action + properties: + id: + type: string + pattern: ^[A-Za-z][A-Za-z0-9._:-]*$ + name: + type: string + action: + $ref: "#/$defs/contractRequirement" + provider: + $ref: "#/$defs/providerSelector" + requires: + $ref: "#/$defs/requires" + if: + type: object + required: + - $expr + properties: + $expr: + type: string + minLength: 1 + additionalProperties: false + input: + type: object + additionalProperties: {} + for_each: + type: object + required: + - items + properties: + items: {} + as: + type: string + pattern: ^[A-Za-z_][A-Za-z0-9_]*$ + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + duration: + type: string + pattern: ^(0|[1-9][0-9]*)(ms|s|m|h|d)$ + runPolicy: + type: object + required: [] + properties: + idempotency: + type: object + required: + - key + properties: + key: {} + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + concurrency: + type: object + required: + - policy + properties: + group: {} + policy: + enum: + - skip + - queue + - replace + - allow + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + limits: + type: object + required: [] + properties: + timeout: + $ref: "#/$defs/duration" + max_items: + type: integer + minimum: 1 + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + on_error: + enum: + - stop + - continue + patternProperties: + ^x-[A-Za-z0-9._:-]+$: true + additionalProperties: false + $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.workflow/1.0.0.schema.json +implements: + - contract: mdbase.runtime.workflow + version: 1.0.0 + fields: + type: type + id: id + version: version + name: name + description: description + enabled: enabled + requires: requires + vars: vars + triggers: triggers + steps: steps + run: run +--- + +# Durable workflow + +This canonical type makes `runtime_workflow` records discoverable through +the ordinary mdbase record-contract registry. diff --git a/public/contracts/catalog.json b/public/contracts/catalog.json index f1c0f02..0606d58 100644 --- a/public/contracts/catalog.json +++ b/public/contracts/catalog.json @@ -28,6 +28,166 @@ ] } ] + }, + { + "id": "mdbase.record.created", + "version": "1.0.0", + "name": "Record created", + "description": "Published after a record is created and derived collection state is consistent.", + "contract_type": "event", + "digest": "sha256:4c157f94e63d1f4fb1a74da640e03264ccb6c78cfa9f88ddb71b09c8bd6d1d44", + "artifact": "./artifacts/contracts/mdbase.record.created/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.record.deleted", + "version": "1.0.0", + "name": "Record deleted", + "description": "Published after a record is deleted and derived collection state is consistent.", + "contract_type": "event", + "digest": "sha256:cb4f4a09f9f9b1f7f5e2207de0074ce02fd89008c08386626fd964a29299f956", + "artifact": "./artifacts/contracts/mdbase.record.deleted/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.record.modified", + "version": "1.0.0", + "name": "Record modified", + "description": "Published after a record is modified and derived collection state is consistent.", + "contract_type": "event", + "digest": "sha256:2f670ef18bf7330fbba73861f41889ee946b33644074ca7366e88913f6e4d88a", + "artifact": "./artifacts/contracts/mdbase.record.modified/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.record.renamed", + "version": "1.0.0", + "name": "Record renamed", + "description": "Published after a record is renamed and derived collection state is consistent.", + "contract_type": "event", + "digest": "sha256:b6c507198379ba48408c9b48161a1c22d46dad2d291691af449167618484bb4c", + "artifact": "./artifacts/contracts/mdbase.record.renamed/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.action-attempt", + "version": "1.0.0", + "name": "Durable action attempt", + "description": "Durable invocation intent and outcome evidence using the shared interoperability envelope.", + "contract_type": "record", + "digest": "sha256:04c1bf55580d0d280d2be645c56177da25c2d0129f8fa71def7d5f96cf0ea629", + "artifact": "./artifacts/contracts/mdbase.runtime.action-attempt/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.capability-grant", + "version": "1.0.0", + "name": "Capability grant evidence", + "description": "A materialized authorization grant scoped independently from contract conformance.", + "contract_type": "record", + "digest": "sha256:1cd3a2ff5fdc9294f766e538c371ed278ad4c54452480ba6fcc2870be08b47a1", + "artifact": "./artifacts/contracts/mdbase.runtime.capability-grant/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.checkpoint", + "version": "1.0.0", + "name": "Runtime checkpoint", + "description": "A durable, lease-safe workflow continuation.", + "contract_type": "record", + "digest": "sha256:6413676d7482a71b31cbe4abf8c5a543a54a530ef62f669f8ef8e21bcc6bc237", + "artifact": "./artifacts/contracts/mdbase.runtime.checkpoint/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.dead-letter", + "version": "1.0.0", + "name": "Runtime dead letter", + "description": "Retained event or action evidence that cannot be processed safely.", + "contract_type": "record", + "digest": "sha256:737d08bad6662e087c3393f6f17d24374f258d60b41112a3f864cb5138af8edd", + "artifact": "./artifacts/contracts/mdbase.runtime.dead-letter/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.diagnostic", + "version": "1.0.0", + "name": "Runtime diagnostic", + "description": "A machine-readable durable runtime diagnostic.", + "contract_type": "record", + "digest": "sha256:2e7379de9ceefa6435e9c66a71f4292e4805e8038ed6496c83dad946900267f6", + "artifact": "./artifacts/contracts/mdbase.runtime.diagnostic/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.policy", + "version": "1.0.0", + "name": "Runtime policy", + "description": "Local authorization, executor, limit, and provider-selection policy.", + "contract_type": "record", + "digest": "sha256:319a9bd4ca62a246871ee52e0ef0250a82c240cb14a95f88e4a505ad04450300", + "artifact": "./artifacts/contracts/mdbase.runtime.policy/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.provider-registration", + "version": "1.0.0", + "name": "Provider registration evidence", + "description": "An optional audit snapshot of a verified interoperability declaration; it never activates code.", + "contract_type": "record", + "digest": "sha256:97d157efaeb311745fc84e2cbe01e8147aaf44109384090c154527b68838d766", + "artifact": "./artifacts/contracts/mdbase.runtime.provider-registration/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.run.cancel", + "version": "1.0.0", + "name": "Cancel durable runtime run", + "description": "Request cooperative cancellation of one durable runtime run.", + "contract_type": "action", + "digest": "sha256:949f039334cfc3f096beb870419baa08c3b40679b184e9849f9330a34a6f524d", + "artifact": "./artifacts/contracts/mdbase.runtime.run.cancel/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.run", + "version": "1.0.0", + "name": "Durable run", + "description": "The durable state and immutable admitted plan for one workflow execution.", + "contract_type": "record", + "digest": "sha256:7e46270c951e6634fe25519dff10523652365f8adf30b034f01e29e1ca48cadb", + "artifact": "./artifacts/contracts/mdbase.runtime.run/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.timer.fired", + "version": "1.0.0", + "name": "Runtime timer fired", + "description": "Published with scheduling evidence and opaque application data when the current generation of a durable timer fires.", + "contract_type": "event", + "digest": "sha256:9381a2c6778a3268758ac235e3c3b66991a769fa8e19f7303d4404b1e7e62bc6", + "artifact": "./artifacts/contracts/mdbase.runtime.timer.fired/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.timer", + "version": "1.0.0", + "name": "Runtime timer", + "description": "A generation-safe one-shot timer that publishes through the interoperability profile.", + "contract_type": "record", + "digest": "sha256:0500a421e81eef09c37bc4ef559e3805843e87a6e1b2cf2a393da4d76d4384fc", + "artifact": "./artifacts/contracts/mdbase.runtime.timer/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.workflow", + "version": "1.0.0", + "name": "Durable workflow", + "description": "A portable workflow whose event and action references are resolved and pinned at admission.", + "contract_type": "record", + "digest": "sha256:7cf8ed016bf6232d9c1abc8d8bb9bb25fd2af1ffa6c6094317aa65baf3c31049", + "artifact": "./artifacts/contracts/mdbase.runtime.workflow/1.0.0.md", + "standards": [] } ], "packs": [ @@ -46,6 +206,58 @@ ], "resource_count": 3, "featured": true + }, + { + "id": "mdbase.runtime.standard", + "version": "0.2.0", + "name": "mdbase durable runtime standard library", + "description": "Runtime record implementations and inspectable built-in event/action contracts.", + "digest": "sha256:998fa577db5ba3ac442f5ae06e721e247b9519613042b744cc4494e72c84e2e6", + "provision": "./packs/mdbase.runtime.standard/0.2.0.json", + "provides": [ + { + "id": "mdbase.runtime.action-attempt", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.capability-grant", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.checkpoint", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.dead-letter", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.diagnostic", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.policy", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.provider-registration", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.run", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.timer", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.workflow", + "version": "1.0.0" + } + ], + "resource_count": 43, + "featured": true } ] } diff --git a/public/contracts/packs/mdbase.runtime.standard/0.2.0.json b/public/contracts/packs/mdbase.runtime.standard/0.2.0.json new file mode 100644 index 0000000..4e823e8 --- /dev/null +++ b/public/contracts/packs/mdbase.runtime.standard/0.2.0.json @@ -0,0 +1,485 @@ +{ + "manifest": { + "kind": "mdbase.type-pack", + "id": "mdbase.runtime.standard", + "version": "0.2.0", + "name": "mdbase durable runtime standard library", + "description": "Runtime record implementations and inspectable built-in event/action contracts.", + "resources": [ + { + "kind": "schema", + "source": "schemas/mdbase.runtime.workflow/1.0.0.schema.json", + "target": "schemas/mdbase.runtime.workflow/1.0.0.schema.json", + "digest": "sha256:e8f413663a2911be5a51b1f7aefae80e9e42ea5c729f04d6ccfd0bc4eb1965ea" + }, + { + "kind": "contract", + "source": "contracts/mdbase.runtime.workflow/1.0.0.md", + "target": "_contracts/mdbase.runtime.workflow/1.0.0.md", + "digest": "sha256:7cf8ed016bf6232d9c1abc8d8bb9bb25fd2af1ffa6c6094317aa65baf3c31049" + }, + { + "kind": "type", + "source": "types/mdbase-runtime/workflow.md", + "target": "_types/workflow.md", + "digest": "sha256:15e80fe618bfa4bf430225377d9aae50ec1e1531be217b0c2ba74da3dee747e7" + }, + { + "kind": "schema", + "source": "schemas/mdbase.runtime.policy/1.0.0.schema.json", + "target": "schemas/mdbase.runtime.policy/1.0.0.schema.json", + "digest": "sha256:4d1d2cb59df9991dcc47e269b21dab9e71c1628b99f71e5d9ff5948ba6f7bc45" + }, + { + "kind": "contract", + "source": "contracts/mdbase.runtime.policy/1.0.0.md", + "target": "_contracts/mdbase.runtime.policy/1.0.0.md", + "digest": "sha256:319a9bd4ca62a246871ee52e0ef0250a82c240cb14a95f88e4a505ad04450300" + }, + { + "kind": "type", + "source": "types/mdbase-runtime/policy.md", + "target": "_types/policy.md", + "digest": "sha256:5cd588138916c792068bfa6ec43ceada81b14921d68cfaa582be8938e27b9cdb" + }, + { + "kind": "schema", + "source": "schemas/mdbase.runtime.provider-registration/1.0.0.schema.json", + "target": "schemas/mdbase.runtime.provider-registration/1.0.0.schema.json", + "digest": "sha256:4cfd9649863835163baee7542b601991c18b21b75c63b48324383da674a1f797" + }, + { + "kind": "contract", + "source": "contracts/mdbase.runtime.provider-registration/1.0.0.md", + "target": "_contracts/mdbase.runtime.provider-registration/1.0.0.md", + "digest": "sha256:97d157efaeb311745fc84e2cbe01e8147aaf44109384090c154527b68838d766" + }, + { + "kind": "type", + "source": "types/mdbase-runtime/provider-registration.md", + "target": "_types/provider-registration.md", + "digest": "sha256:f5f8189553abfbb947d6bec17cfc3d5c6e3ab22a07e7a1b657a92efbe65eefb7" + }, + { + "kind": "schema", + "source": "schemas/mdbase.runtime.capability-grant/1.0.0.schema.json", + "target": "schemas/mdbase.runtime.capability-grant/1.0.0.schema.json", + "digest": "sha256:14fcd3ad1fbe3d3c360024e869d8a52ec047aa8b2dd37755c63e2412535f50ca" + }, + { + "kind": "contract", + "source": "contracts/mdbase.runtime.capability-grant/1.0.0.md", + "target": "_contracts/mdbase.runtime.capability-grant/1.0.0.md", + "digest": "sha256:1cd3a2ff5fdc9294f766e538c371ed278ad4c54452480ba6fcc2870be08b47a1" + }, + { + "kind": "type", + "source": "types/mdbase-runtime/capability-grant.md", + "target": "_types/capability-grant.md", + "digest": "sha256:8856057d1329e2fdd715d6b8ca3083e29f3c1c9fe3265cd47694d92effffd344" + }, + { + "kind": "schema", + "source": "schemas/mdbase.runtime.run/1.0.0.schema.json", + "target": "schemas/mdbase.runtime.run/1.0.0.schema.json", + "digest": "sha256:0add08b601ebd15b80dc14812fc7fbf9c1b5bd8415daed7b7d566e33741d91c3" + }, + { + "kind": "contract", + "source": "contracts/mdbase.runtime.run/1.0.0.md", + "target": "_contracts/mdbase.runtime.run/1.0.0.md", + "digest": "sha256:7e46270c951e6634fe25519dff10523652365f8adf30b034f01e29e1ca48cadb" + }, + { + "kind": "type", + "source": "types/mdbase-runtime/run.md", + "target": "_types/run.md", + "digest": "sha256:493c29c92701e733822cc3b3a0acecd845242c1e62c233b6cbe2a847c9b063ed" + }, + { + "kind": "schema", + "source": "schemas/mdbase.runtime.action-attempt/1.0.0.schema.json", + "target": "schemas/mdbase.runtime.action-attempt/1.0.0.schema.json", + "digest": "sha256:71c8cb274daa63ed8b428f474ec07d0053e65e06f42354cb7f36072cb136506c" + }, + { + "kind": "contract", + "source": "contracts/mdbase.runtime.action-attempt/1.0.0.md", + "target": "_contracts/mdbase.runtime.action-attempt/1.0.0.md", + "digest": "sha256:04c1bf55580d0d280d2be645c56177da25c2d0129f8fa71def7d5f96cf0ea629" + }, + { + "kind": "type", + "source": "types/mdbase-runtime/action-attempt.md", + "target": "_types/action-attempt.md", + "digest": "sha256:2439c819f16f599c6859eaf3f2052ca85856d7a032b1f211e8183eb44c7247d0" + }, + { + "kind": "schema", + "source": "schemas/mdbase.runtime.checkpoint/1.0.0.schema.json", + "target": "schemas/mdbase.runtime.checkpoint/1.0.0.schema.json", + "digest": "sha256:0c4a550356b974814690bb2e5db1902c6c3cff13be1ea69a139e2e43781ecf2c" + }, + { + "kind": "contract", + "source": "contracts/mdbase.runtime.checkpoint/1.0.0.md", + "target": "_contracts/mdbase.runtime.checkpoint/1.0.0.md", + "digest": "sha256:6413676d7482a71b31cbe4abf8c5a543a54a530ef62f669f8ef8e21bcc6bc237" + }, + { + "kind": "type", + "source": "types/mdbase-runtime/checkpoint.md", + "target": "_types/checkpoint.md", + "digest": "sha256:3800feba41ce4d729703e8cd92c3e7bc4a826cccd37063c1ba62b7a9790bee76" + }, + { + "kind": "schema", + "source": "schemas/mdbase.runtime.timer/1.0.0.schema.json", + "target": "schemas/mdbase.runtime.timer/1.0.0.schema.json", + "digest": "sha256:fd6fa1b8fa7a3e782160d1b0e1399f15392230d1560393e840e7869c7d407aac" + }, + { + "kind": "contract", + "source": "contracts/mdbase.runtime.timer/1.0.0.md", + "target": "_contracts/mdbase.runtime.timer/1.0.0.md", + "digest": "sha256:0500a421e81eef09c37bc4ef559e3805843e87a6e1b2cf2a393da4d76d4384fc" + }, + { + "kind": "type", + "source": "types/mdbase-runtime/timer.md", + "target": "_types/timer.md", + "digest": "sha256:eb6ac4d28f3fe5c5f507652dda76cf7bb6eb99e38eb1d6d87cdd7418ac594cde" + }, + { + "kind": "schema", + "source": "schemas/mdbase.runtime.diagnostic/1.0.0.schema.json", + "target": "schemas/mdbase.runtime.diagnostic/1.0.0.schema.json", + "digest": "sha256:b4d78f97b4feadc6c1e79b214fac20f0c305609e20f152f878d23d5d4e370935" + }, + { + "kind": "contract", + "source": "contracts/mdbase.runtime.diagnostic/1.0.0.md", + "target": "_contracts/mdbase.runtime.diagnostic/1.0.0.md", + "digest": "sha256:2e7379de9ceefa6435e9c66a71f4292e4805e8038ed6496c83dad946900267f6" + }, + { + "kind": "type", + "source": "types/mdbase-runtime/diagnostic.md", + "target": "_types/diagnostic.md", + "digest": "sha256:728996e9b0ab2803ab81a856e2c3af7c08202765fc263c536c037b1e586ab055" + }, + { + "kind": "schema", + "source": "schemas/mdbase.runtime.dead-letter/1.0.0.schema.json", + "target": "schemas/mdbase.runtime.dead-letter/1.0.0.schema.json", + "digest": "sha256:1f866b1dfca061571a8dc3a87748fd9deb6268a6674fe5eaf764e8701d32fee9" + }, + { + "kind": "contract", + "source": "contracts/mdbase.runtime.dead-letter/1.0.0.md", + "target": "_contracts/mdbase.runtime.dead-letter/1.0.0.md", + "digest": "sha256:737d08bad6662e087c3393f6f17d24374f258d60b41112a3f864cb5138af8edd" + }, + { + "kind": "type", + "source": "types/mdbase-runtime/dead-letter.md", + "target": "_types/dead-letter.md", + "digest": "sha256:46290341f04a369598a273f16275ee18d6e0a35c8e691b829d7b49ae920b5aab" + }, + { + "kind": "schema", + "source": "schemas/mdbase.record.created/1.0.0.schema.json", + "target": "schemas/mdbase.record.created/1.0.0.schema.json", + "digest": "sha256:8d28a2a32083ab9a55f53ad1a619da47022fa3ef291191c6c2e5a9848ce59fcc" + }, + { + "kind": "contract", + "source": "contracts/mdbase.record.created/1.0.0.md", + "target": "_contracts/mdbase.record.created/1.0.0.md", + "digest": "sha256:4c157f94e63d1f4fb1a74da640e03264ccb6c78cfa9f88ddb71b09c8bd6d1d44" + }, + { + "kind": "schema", + "source": "schemas/mdbase.record.modified/1.0.0.schema.json", + "target": "schemas/mdbase.record.modified/1.0.0.schema.json", + "digest": "sha256:1ecda771bdeb4b6cea32b81ee344257005b49c4dcf71cdf95a1577a7459b74b0" + }, + { + "kind": "contract", + "source": "contracts/mdbase.record.modified/1.0.0.md", + "target": "_contracts/mdbase.record.modified/1.0.0.md", + "digest": "sha256:2f670ef18bf7330fbba73861f41889ee946b33644074ca7366e88913f6e4d88a" + }, + { + "kind": "schema", + "source": "schemas/mdbase.record.deleted/1.0.0.schema.json", + "target": "schemas/mdbase.record.deleted/1.0.0.schema.json", + "digest": "sha256:b5a1fa20b6526ea8d857e03a2eebfc8b2ed126b1c4e7ca2d9735c59ddbeb7206" + }, + { + "kind": "contract", + "source": "contracts/mdbase.record.deleted/1.0.0.md", + "target": "_contracts/mdbase.record.deleted/1.0.0.md", + "digest": "sha256:cb4f4a09f9f9b1f7f5e2207de0074ce02fd89008c08386626fd964a29299f956" + }, + { + "kind": "schema", + "source": "schemas/mdbase.record.renamed/1.0.0.schema.json", + "target": "schemas/mdbase.record.renamed/1.0.0.schema.json", + "digest": "sha256:11546c9497c9700ed48b2f634be8001a009b7cea92f19584ed8b8aafc783e990" + }, + { + "kind": "contract", + "source": "contracts/mdbase.record.renamed/1.0.0.md", + "target": "_contracts/mdbase.record.renamed/1.0.0.md", + "digest": "sha256:b6c507198379ba48408c9b48161a1c22d46dad2d291691af449167618484bb4c" + }, + { + "kind": "schema", + "source": "schemas/mdbase.runtime.timer.fired/1.0.0.schema.json", + "target": "schemas/mdbase.runtime.timer.fired/1.0.0.schema.json", + "digest": "sha256:986cdde8c88a6ff363062d056101141c436271608e565d2a02f250cd74853f74" + }, + { + "kind": "contract", + "source": "contracts/mdbase.runtime.timer.fired/1.0.0.md", + "target": "_contracts/mdbase.runtime.timer.fired/1.0.0.md", + "digest": "sha256:9381a2c6778a3268758ac235e3c3b66991a769fa8e19f7303d4404b1e7e62bc6" + }, + { + "kind": "schema", + "source": "schemas/mdbase.runtime.run.cancel/1.0.0.output.schema.json", + "target": "schemas/mdbase.runtime.run.cancel/1.0.0.output.schema.json", + "digest": "sha256:88cbccbfe0e4d087b67159a2cc36cc6ec92b1ea7e849a5c6a82e074f06b270bb" + }, + { + "kind": "schema", + "source": "schemas/mdbase.runtime.run.cancel/1.0.0.schema.json", + "target": "schemas/mdbase.runtime.run.cancel/1.0.0.schema.json", + "digest": "sha256:21dce4d30fd9848e43610c26990fd208476cdb27c5b489439f632384b4a76675" + }, + { + "kind": "contract", + "source": "contracts/mdbase.runtime.run.cancel/1.0.0.md", + "target": "_contracts/mdbase.runtime.run.cancel/1.0.0.md", + "digest": "sha256:949f039334cfc3f096beb870419baa08c3b40679b184e9849f9330a34a6f524d" + } + ] + }, + "resources": [ + { + "source": "schemas/mdbase.runtime.workflow/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase durable runtime workflow\",\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"id\",\n \"version\",\n \"name\",\n \"enabled\",\n \"triggers\",\n \"steps\"\n ],\n \"properties\": {\n \"type\": {\n \"const\": \"runtime_workflow\"\n },\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"name\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"enabled\": {\n \"type\": \"boolean\"\n },\n \"requires\": {\n \"$ref\": \"#/$defs/requires\"\n },\n \"vars\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"triggers\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": {\n \"$ref\": \"#/$defs/trigger\"\n }\n },\n \"steps\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": {\n \"$ref\": \"#/$defs/step\"\n }\n },\n \"run\": {\n \"$ref\": \"#/$defs/runPolicy\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n },\n \"requires\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"capabilities\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n }\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"trigger\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"event\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"event\": {\n \"$ref\": \"#/$defs/contractRequirement\"\n },\n \"if\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n },\n \"debounce\": {\n \"$ref\": \"#/$defs/duration\"\n },\n \"minimum_interval\": {\n \"$ref\": \"#/$defs/duration\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"step\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"action\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"action\": {\n \"$ref\": \"#/$defs/contractRequirement\"\n },\n \"provider\": {\n \"$ref\": \"#/$defs/providerSelector\"\n },\n \"requires\": {\n \"$ref\": \"#/$defs/requires\"\n },\n \"if\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n },\n \"input\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"for_each\": {\n \"type\": \"object\",\n \"required\": [\n \"items\"\n ],\n \"properties\": {\n \"items\": {},\n \"as\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z_][A-Za-z0-9_]*$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"duration\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)(ms|s|m|h|d)$\"\n },\n \"runPolicy\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"idempotency\": {\n \"type\": \"object\",\n \"required\": [\n \"key\"\n ],\n \"properties\": {\n \"key\": {}\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"concurrency\": {\n \"type\": \"object\",\n \"required\": [\n \"policy\"\n ],\n \"properties\": {\n \"group\": {},\n \"policy\": {\n \"enum\": [\n \"skip\",\n \"queue\",\n \"replace\",\n \"allow\"\n ]\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"limits\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"timeout\": {\n \"$ref\": \"#/$defs/duration\"\n },\n \"max_items\": {\n \"type\": \"integer\",\n \"minimum\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"on_error\": {\n \"enum\": [\n \"stop\",\n \"continue\"\n ]\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.workflow/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.runtime.workflow/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: record\nid: mdbase.runtime.workflow\nversion: 1.0.0\nname: Durable workflow\ndescription: A portable workflow whose event and action references are resolved and pinned at admission.\nrecord_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.workflow/1.0.0.schema.json\n---\n\n# Durable workflow\n\nA portable workflow whose event and action references are resolved and pinned at admission.\n\nThis artifact is passive. Installing it or a type that implements it grants no\nauthority to execute workflows or invoke providers.\n" + }, + { + "source": "types/mdbase-runtime/workflow.md", + "document": "---\nkind: mdbase.type\nname: runtime_workflow\nversion: 1\ndescription: Canonical Markdown implementation of mdbase.runtime.workflow.\nmatch:\n where:\n type: runtime_workflow\nschema:\n dialect: json-schema-2020-12\n value:\n $schema: https://json-schema.org/draft/2020-12/schema\n title: mdbase durable runtime workflow\n type: object\n required:\n - type\n - id\n - version\n - name\n - enabled\n - triggers\n - steps\n properties:\n type:\n const: runtime_workflow\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n name:\n type: string\n minLength: 1\n description:\n type: string\n enabled:\n type: boolean\n requires:\n $ref: \"#/$defs/requires\"\n vars:\n type: object\n additionalProperties: {}\n triggers:\n type: array\n minItems: 1\n items:\n $ref: \"#/$defs/trigger\"\n steps:\n type: array\n minItems: 1\n items:\n $ref: \"#/$defs/step\"\n run:\n $ref: \"#/$defs/runPolicy\"\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n $defs:\n identifier:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n semanticVersion:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n dateTime:\n type: string\n format: date-time\n contractRequirement:\n type: object\n required:\n - id\n - version\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n minLength: 1\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n exactContractReference:\n type: object\n required:\n - id\n - version\n - digest\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n identity:\n type: object\n required:\n - application\n - implementation\n - version\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n providerSelector:\n type: object\n required: []\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n minProperties: 1\n expression:\n type: object\n required:\n - $expr\n properties:\n $expr:\n type: string\n minLength: 1\n additionalProperties: false\n requires:\n type: object\n required: []\n properties:\n capabilities:\n type: array\n uniqueItems: true\n items:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n trigger:\n type: object\n required:\n - id\n - event\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n event:\n $ref: \"#/$defs/contractRequirement\"\n if:\n type: object\n required:\n - $expr\n properties:\n $expr:\n type: string\n minLength: 1\n additionalProperties: false\n debounce:\n $ref: \"#/$defs/duration\"\n minimum_interval:\n $ref: \"#/$defs/duration\"\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n step:\n type: object\n required:\n - id\n - action\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n name:\n type: string\n action:\n $ref: \"#/$defs/contractRequirement\"\n provider:\n $ref: \"#/$defs/providerSelector\"\n requires:\n $ref: \"#/$defs/requires\"\n if:\n type: object\n required:\n - $expr\n properties:\n $expr:\n type: string\n minLength: 1\n additionalProperties: false\n input:\n type: object\n additionalProperties: {}\n for_each:\n type: object\n required:\n - items\n properties:\n items: {}\n as:\n type: string\n pattern: ^[A-Za-z_][A-Za-z0-9_]*$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n duration:\n type: string\n pattern: ^(0|[1-9][0-9]*)(ms|s|m|h|d)$\n runPolicy:\n type: object\n required: []\n properties:\n idempotency:\n type: object\n required:\n - key\n properties:\n key: {}\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n concurrency:\n type: object\n required:\n - policy\n properties:\n group: {}\n policy:\n enum:\n - skip\n - queue\n - replace\n - allow\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n limits:\n type: object\n required: []\n properties:\n timeout:\n $ref: \"#/$defs/duration\"\n max_items:\n type: integer\n minimum: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n on_error:\n enum:\n - stop\n - continue\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.workflow/1.0.0.schema.json\nimplements:\n - contract: mdbase.runtime.workflow\n version: 1.0.0\n fields:\n type: type\n id: id\n version: version\n name: name\n description: description\n enabled: enabled\n requires: requires\n vars: vars\n triggers: triggers\n steps: steps\n run: run\n---\n\n# Durable workflow\n\nThis canonical type makes `runtime_workflow` records discoverable through\nthe ordinary mdbase record-contract registry.\n" + }, + { + "source": "schemas/mdbase.runtime.policy/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase durable runtime policy\",\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"id\",\n \"version\",\n \"enabled\",\n \"grants\"\n ],\n \"properties\": {\n \"type\": {\n \"const\": \"runtime_policy\"\n },\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"name\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"enabled\": {\n \"type\": \"boolean\"\n },\n \"executors\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"default\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"workflows\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n }\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"provider_selections\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"contract\",\n \"selector\"\n ],\n \"properties\": {\n \"contract\": {\n \"$ref\": \"#/$defs/contractRequirement\"\n },\n \"selector\": {\n \"$ref\": \"#/$defs/providerSelector\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n }\n },\n \"grants\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"capability\",\n \"mode\"\n ],\n \"properties\": {\n \"capability\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"mode\": {\n \"enum\": [\n \"allow\",\n \"deny\"\n ]\n },\n \"actions\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"$ref\": \"#/$defs/contractRequirement\"\n }\n },\n \"providers\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"$ref\": \"#/$defs/providerSelector\"\n }\n },\n \"max_calls_per_run\": {\n \"type\": \"integer\",\n \"minimum\": 1\n },\n \"max_records_per_run\": {\n \"type\": \"integer\",\n \"minimum\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n }\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.policy/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.runtime.policy/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: record\nid: mdbase.runtime.policy\nversion: 1.0.0\nname: Runtime policy\ndescription: Local authorization, executor, limit, and provider-selection policy.\nrecord_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.policy/1.0.0.schema.json\n---\n\n# Runtime policy\n\nLocal authorization, executor, limit, and provider-selection policy.\n\nThis artifact is passive. Installing it or a type that implements it grants no\nauthority to execute workflows or invoke providers.\n" + }, + { + "source": "types/mdbase-runtime/policy.md", + "document": "---\nkind: mdbase.type\nname: runtime_policy\nversion: 1\ndescription: Canonical Markdown implementation of mdbase.runtime.policy.\nmatch:\n where:\n type: runtime_policy\nschema:\n dialect: json-schema-2020-12\n value:\n $schema: https://json-schema.org/draft/2020-12/schema\n title: mdbase durable runtime policy\n type: object\n required:\n - type\n - id\n - version\n - enabled\n - grants\n properties:\n type:\n const: runtime_policy\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n name:\n type: string\n minLength: 1\n enabled:\n type: boolean\n executors:\n type: object\n required: []\n properties:\n default:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n workflows:\n type: object\n additionalProperties:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n provider_selections:\n type: array\n items:\n type: object\n required:\n - contract\n - selector\n properties:\n contract:\n $ref: \"#/$defs/contractRequirement\"\n selector:\n $ref: \"#/$defs/providerSelector\"\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n grants:\n type: array\n items:\n type: object\n required:\n - capability\n - mode\n properties:\n capability:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n mode:\n enum:\n - allow\n - deny\n actions:\n type: array\n uniqueItems: true\n items:\n $ref: \"#/$defs/contractRequirement\"\n providers:\n type: array\n uniqueItems: true\n items:\n $ref: \"#/$defs/providerSelector\"\n max_calls_per_run:\n type: integer\n minimum: 1\n max_records_per_run:\n type: integer\n minimum: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n $defs:\n identifier:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n semanticVersion:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n dateTime:\n type: string\n format: date-time\n contractRequirement:\n type: object\n required:\n - id\n - version\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n minLength: 1\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n exactContractReference:\n type: object\n required:\n - id\n - version\n - digest\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n identity:\n type: object\n required:\n - application\n - implementation\n - version\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n providerSelector:\n type: object\n required: []\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n minProperties: 1\n expression:\n type: object\n required:\n - $expr\n properties:\n $expr:\n type: string\n minLength: 1\n additionalProperties: false\n $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.policy/1.0.0.schema.json\nimplements:\n - contract: mdbase.runtime.policy\n version: 1.0.0\n fields:\n type: type\n id: id\n version: version\n name: name\n enabled: enabled\n executors: executors\n provider_selections: provider_selections\n grants: grants\n---\n\n# Runtime policy\n\nThis canonical type makes `runtime_policy` records discoverable through\nthe ordinary mdbase record-contract registry.\n" + }, + { + "source": "schemas/mdbase.runtime.provider-registration/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase runtime provider registration evidence\",\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"id\",\n \"declaration_kind\",\n \"declaration\",\n \"verified_at\",\n \"active\"\n ],\n \"properties\": {\n \"type\": {\n \"const\": \"runtime_provider_registration\"\n },\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"declaration_kind\": {\n \"enum\": [\n \"event_source\",\n \"action_provider\"\n ]\n },\n \"declaration\": {\n \"type\": \"object\"\n },\n \"verified_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"active\": {\n \"type\": \"boolean\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.provider-registration/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.runtime.provider-registration/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: record\nid: mdbase.runtime.provider-registration\nversion: 1.0.0\nname: Provider registration evidence\ndescription: An optional audit snapshot of a verified interoperability declaration; it never activates code.\nrecord_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.provider-registration/1.0.0.schema.json\n---\n\n# Provider registration evidence\n\nAn optional audit snapshot of a verified interoperability declaration; it never activates code.\n\nThis artifact is passive. Installing it or a type that implements it grants no\nauthority to execute workflows or invoke providers.\n" + }, + { + "source": "types/mdbase-runtime/provider-registration.md", + "document": "---\nkind: mdbase.type\nname: runtime_provider_registration\nversion: 1\ndescription: Canonical Markdown implementation of mdbase.runtime.provider-registration.\nmatch:\n where:\n type: runtime_provider_registration\nschema:\n dialect: json-schema-2020-12\n value:\n $schema: https://json-schema.org/draft/2020-12/schema\n title: mdbase runtime provider registration evidence\n type: object\n required:\n - type\n - id\n - declaration_kind\n - declaration\n - verified_at\n - active\n properties:\n type:\n const: runtime_provider_registration\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n declaration_kind:\n enum:\n - event_source\n - action_provider\n declaration:\n type: object\n verified_at:\n type: string\n format: date-time\n active:\n type: boolean\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n $defs:\n identifier:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n semanticVersion:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n dateTime:\n type: string\n format: date-time\n contractRequirement:\n type: object\n required:\n - id\n - version\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n minLength: 1\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n exactContractReference:\n type: object\n required:\n - id\n - version\n - digest\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n identity:\n type: object\n required:\n - application\n - implementation\n - version\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n providerSelector:\n type: object\n required: []\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n minProperties: 1\n expression:\n type: object\n required:\n - $expr\n properties:\n $expr:\n type: string\n minLength: 1\n additionalProperties: false\n $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.provider-registration/1.0.0.schema.json\nimplements:\n - contract: mdbase.runtime.provider-registration\n version: 1.0.0\n fields:\n type: type\n id: id\n declaration_kind: declaration_kind\n declaration: declaration\n verified_at: verified_at\n active: active\n---\n\n# Provider registration evidence\n\nThis canonical type makes `runtime_provider_registration` records discoverable through\nthe ordinary mdbase record-contract registry.\n" + }, + { + "source": "schemas/mdbase.runtime.capability-grant/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase runtime capability grant\",\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"id\",\n \"capability\",\n \"principal\",\n \"mode\",\n \"granted_at\"\n ],\n \"properties\": {\n \"type\": {\n \"const\": \"runtime_capability_grant\"\n },\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"capability\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"principal\": {\n \"$ref\": \"#/$defs/identity\"\n },\n \"mode\": {\n \"enum\": [\n \"allow\",\n \"deny\"\n ]\n },\n \"actions\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"$ref\": \"#/$defs/contractRequirement\"\n }\n },\n \"providers\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"$ref\": \"#/$defs/providerSelector\"\n }\n },\n \"granted_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"expires_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.capability-grant/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.runtime.capability-grant/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: record\nid: mdbase.runtime.capability-grant\nversion: 1.0.0\nname: Capability grant evidence\ndescription: A materialized authorization grant scoped independently from contract conformance.\nrecord_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.capability-grant/1.0.0.schema.json\n---\n\n# Capability grant evidence\n\nA materialized authorization grant scoped independently from contract conformance.\n\nThis artifact is passive. Installing it or a type that implements it grants no\nauthority to execute workflows or invoke providers.\n" + }, + { + "source": "types/mdbase-runtime/capability-grant.md", + "document": "---\nkind: mdbase.type\nname: runtime_capability_grant\nversion: 1\ndescription: Canonical Markdown implementation of mdbase.runtime.capability-grant.\nmatch:\n where:\n type: runtime_capability_grant\nschema:\n dialect: json-schema-2020-12\n value:\n $schema: https://json-schema.org/draft/2020-12/schema\n title: mdbase runtime capability grant\n type: object\n required:\n - type\n - id\n - capability\n - principal\n - mode\n - granted_at\n properties:\n type:\n const: runtime_capability_grant\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n capability:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n principal:\n $ref: \"#/$defs/identity\"\n mode:\n enum:\n - allow\n - deny\n actions:\n type: array\n uniqueItems: true\n items:\n $ref: \"#/$defs/contractRequirement\"\n providers:\n type: array\n uniqueItems: true\n items:\n $ref: \"#/$defs/providerSelector\"\n granted_at:\n type: string\n format: date-time\n expires_at:\n type: string\n format: date-time\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n $defs:\n identifier:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n semanticVersion:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n dateTime:\n type: string\n format: date-time\n contractRequirement:\n type: object\n required:\n - id\n - version\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n minLength: 1\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n exactContractReference:\n type: object\n required:\n - id\n - version\n - digest\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n identity:\n type: object\n required:\n - application\n - implementation\n - version\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n providerSelector:\n type: object\n required: []\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n minProperties: 1\n expression:\n type: object\n required:\n - $expr\n properties:\n $expr:\n type: string\n minLength: 1\n additionalProperties: false\n $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.capability-grant/1.0.0.schema.json\nimplements:\n - contract: mdbase.runtime.capability-grant\n version: 1.0.0\n fields:\n type: type\n id: id\n capability: capability\n principal: principal\n mode: mode\n actions: actions\n providers: providers\n granted_at: granted_at\n expires_at: expires_at\n---\n\n# Capability grant evidence\n\nThis canonical type makes `runtime_capability_grant` records discoverable through\nthe ordinary mdbase record-contract registry.\n" + }, + { + "source": "schemas/mdbase.runtime.run/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase durable runtime run\",\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"id\",\n \"workflow_id\",\n \"workflow_version\",\n \"workflow_revision\",\n \"event_id\",\n \"event_contract\",\n \"admitted_plan\",\n \"status\",\n \"created_at\",\n \"updated_at\"\n ],\n \"properties\": {\n \"type\": {\n \"const\": \"runtime_run\"\n },\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"workflow_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"workflow_version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"workflow_revision\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"event_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"event_contract\": {\n \"$ref\": \"#/$defs/exactContractReference\"\n },\n \"event_source\": {\n \"$ref\": \"#/$defs/identity\"\n },\n \"admitted_plan\": {\n \"$ref\": \"#/$defs/admittedPlan\"\n },\n \"policy_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"policy_revision\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"trigger_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"event_cursor\": {\n \"type\": \"integer\",\n \"minimum\": 1\n },\n \"executor\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"idempotency_key\": {\n \"type\": \"string\"\n },\n \"concurrency_group\": {\n \"type\": \"string\"\n },\n \"status\": {\n \"enum\": [\n \"queued\",\n \"running\",\n \"waiting\",\n \"succeeded\",\n \"failed\",\n \"cancelled\",\n \"indeterminate\"\n ]\n },\n \"created_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"started_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"finished_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"lease\": {\n \"$ref\": \"#/$defs/lease\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n },\n \"admittedPlan\": {\n \"type\": \"object\",\n \"required\": [\n \"profile_version\",\n \"workflow_revision\",\n \"event\",\n \"steps\"\n ],\n \"properties\": {\n \"profile_version\": {\n \"const\": \"0.2\"\n },\n \"workflow_revision\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"event\": {\n \"type\": \"object\",\n \"required\": [\n \"contract\",\n \"source\"\n ],\n \"properties\": {\n \"contract\": {\n \"$ref\": \"#/$defs/exactContractReference\"\n },\n \"source\": {\n \"$ref\": \"#/$defs/identity\"\n },\n \"source_declaration_digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"steps\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"contract\",\n \"provider\",\n \"provider_declaration_digest\",\n \"handler_id\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"contract\": {\n \"$ref\": \"#/$defs/exactContractReference\"\n },\n \"provider\": {\n \"$ref\": \"#/$defs/identity\"\n },\n \"provider_declaration_digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"handler_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n }\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"lease\": {\n \"type\": \"object\",\n \"required\": [\n \"owner\",\n \"token\",\n \"expires_at\"\n ],\n \"properties\": {\n \"owner\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"token\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"expires_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.runtime.run/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: record\nid: mdbase.runtime.run\nversion: 1.0.0\nname: Durable run\ndescription: The durable state and immutable admitted plan for one workflow execution.\nrecord_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.run/1.0.0.schema.json\n---\n\n# Durable run\n\nThe durable state and immutable admitted plan for one workflow execution.\n\nThis artifact is passive. Installing it or a type that implements it grants no\nauthority to execute workflows or invoke providers.\n" + }, + { + "source": "types/mdbase-runtime/run.md", + "document": "---\nkind: mdbase.type\nname: runtime_run\nversion: 1\ndescription: Canonical Markdown implementation of mdbase.runtime.run.\nmatch:\n where:\n type: runtime_run\nschema:\n dialect: json-schema-2020-12\n value:\n $schema: https://json-schema.org/draft/2020-12/schema\n title: mdbase durable runtime run\n type: object\n required:\n - type\n - id\n - workflow_id\n - workflow_version\n - workflow_revision\n - event_id\n - event_contract\n - admitted_plan\n - status\n - created_at\n - updated_at\n properties:\n type:\n const: runtime_run\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n workflow_id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n workflow_version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n workflow_revision:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n event_id:\n type: string\n minLength: 1\n event_contract:\n $ref: \"#/$defs/exactContractReference\"\n event_source:\n $ref: \"#/$defs/identity\"\n admitted_plan:\n $ref: \"#/$defs/admittedPlan\"\n policy_id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n policy_revision:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n trigger_id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n event_cursor:\n type: integer\n minimum: 1\n executor:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n idempotency_key:\n type: string\n concurrency_group:\n type: string\n status:\n enum:\n - queued\n - running\n - waiting\n - succeeded\n - failed\n - cancelled\n - indeterminate\n created_at:\n type: string\n format: date-time\n updated_at:\n type: string\n format: date-time\n started_at:\n type: string\n format: date-time\n finished_at:\n type: string\n format: date-time\n lease:\n $ref: \"#/$defs/lease\"\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n $defs:\n identifier:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n semanticVersion:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n dateTime:\n type: string\n format: date-time\n contractRequirement:\n type: object\n required:\n - id\n - version\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n minLength: 1\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n exactContractReference:\n type: object\n required:\n - id\n - version\n - digest\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n identity:\n type: object\n required:\n - application\n - implementation\n - version\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n providerSelector:\n type: object\n required: []\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n minProperties: 1\n expression:\n type: object\n required:\n - $expr\n properties:\n $expr:\n type: string\n minLength: 1\n additionalProperties: false\n admittedPlan:\n type: object\n required:\n - profile_version\n - workflow_revision\n - event\n - steps\n properties:\n profile_version:\n const: \"0.2\"\n workflow_revision:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n event:\n type: object\n required:\n - contract\n - source\n properties:\n contract:\n $ref: \"#/$defs/exactContractReference\"\n source:\n $ref: \"#/$defs/identity\"\n source_declaration_digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n steps:\n type: array\n items:\n type: object\n required:\n - id\n - contract\n - provider\n - provider_declaration_digest\n - handler_id\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n contract:\n $ref: \"#/$defs/exactContractReference\"\n provider:\n $ref: \"#/$defs/identity\"\n provider_declaration_digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n handler_id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n lease:\n type: object\n required:\n - owner\n - token\n - expires_at\n properties:\n owner:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n token:\n type: string\n minLength: 1\n expires_at:\n type: string\n format: date-time\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run/1.0.0.schema.json\nimplements:\n - contract: mdbase.runtime.run\n version: 1.0.0\n fields:\n type: type\n id: id\n workflow_id: workflow_id\n workflow_version: workflow_version\n workflow_revision: workflow_revision\n event_id: event_id\n event_contract: event_contract\n event_source: event_source\n admitted_plan: admitted_plan\n policy_id: policy_id\n policy_revision: policy_revision\n trigger_id: trigger_id\n event_cursor: event_cursor\n executor: executor\n idempotency_key: idempotency_key\n concurrency_group: concurrency_group\n status: status\n created_at: created_at\n updated_at: updated_at\n started_at: started_at\n finished_at: finished_at\n lease: lease\n---\n\n# Durable run\n\nThis canonical type makes `runtime_run` records discoverable through\nthe ordinary mdbase record-contract registry.\n" + }, + { + "source": "schemas/mdbase.runtime.action-attempt/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase durable runtime action attempt\",\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"id\",\n \"run_id\",\n \"step_id\",\n \"request_id\",\n \"invocation_id\",\n \"attempt_id\",\n \"contract\",\n \"provider\",\n \"provider_declaration_digest\",\n \"status\",\n \"created_at\",\n \"updated_at\"\n ],\n \"properties\": {\n \"type\": {\n \"const\": \"runtime_action_attempt\"\n },\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"run_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"step_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"request_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"invocation_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"attempt_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"contract\": {\n \"$ref\": \"#/$defs/exactContractReference\"\n },\n \"provider\": {\n \"$ref\": \"#/$defs/identity\"\n },\n \"provider_declaration_digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"handler_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"idempotency_key\": {\n \"type\": \"string\"\n },\n \"status\": {\n \"enum\": [\n \"admitted\",\n \"dispatching\",\n \"succeeded\",\n \"rejected\",\n \"failed\",\n \"cancelled\",\n \"indeterminate\"\n ]\n },\n \"request\": {\n \"type\": \"object\"\n },\n \"invocation\": {\n \"type\": \"object\"\n },\n \"outcome\": {\n \"type\": \"object\"\n },\n \"created_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"completed_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.action-attempt/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.runtime.action-attempt/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: record\nid: mdbase.runtime.action-attempt\nversion: 1.0.0\nname: Durable action attempt\ndescription: Durable invocation intent and outcome evidence using the shared interoperability envelope.\nrecord_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.action-attempt/1.0.0.schema.json\n---\n\n# Durable action attempt\n\nDurable invocation intent and outcome evidence using the shared interoperability envelope.\n\nThis artifact is passive. Installing it or a type that implements it grants no\nauthority to execute workflows or invoke providers.\n" + }, + { + "source": "types/mdbase-runtime/action-attempt.md", + "document": "---\nkind: mdbase.type\nname: runtime_action_attempt\nversion: 1\ndescription: Canonical Markdown implementation of mdbase.runtime.action-attempt.\nmatch:\n where:\n type: runtime_action_attempt\nschema:\n dialect: json-schema-2020-12\n value:\n $schema: https://json-schema.org/draft/2020-12/schema\n title: mdbase durable runtime action attempt\n type: object\n required:\n - type\n - id\n - run_id\n - step_id\n - request_id\n - invocation_id\n - attempt_id\n - contract\n - provider\n - provider_declaration_digest\n - status\n - created_at\n - updated_at\n properties:\n type:\n const: runtime_action_attempt\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n run_id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n step_id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n request_id:\n type: string\n minLength: 1\n invocation_id:\n type: string\n minLength: 1\n attempt_id:\n type: string\n minLength: 1\n contract:\n $ref: \"#/$defs/exactContractReference\"\n provider:\n $ref: \"#/$defs/identity\"\n provider_declaration_digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n handler_id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n idempotency_key:\n type: string\n status:\n enum:\n - admitted\n - dispatching\n - succeeded\n - rejected\n - failed\n - cancelled\n - indeterminate\n request:\n type: object\n invocation:\n type: object\n outcome:\n type: object\n created_at:\n type: string\n format: date-time\n updated_at:\n type: string\n format: date-time\n completed_at:\n type: string\n format: date-time\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n $defs:\n identifier:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n semanticVersion:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n dateTime:\n type: string\n format: date-time\n contractRequirement:\n type: object\n required:\n - id\n - version\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n minLength: 1\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n exactContractReference:\n type: object\n required:\n - id\n - version\n - digest\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n identity:\n type: object\n required:\n - application\n - implementation\n - version\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n providerSelector:\n type: object\n required: []\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n minProperties: 1\n expression:\n type: object\n required:\n - $expr\n properties:\n $expr:\n type: string\n minLength: 1\n additionalProperties: false\n $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.action-attempt/1.0.0.schema.json\nimplements:\n - contract: mdbase.runtime.action-attempt\n version: 1.0.0\n fields:\n type: type\n id: id\n run_id: run_id\n step_id: step_id\n request_id: request_id\n invocation_id: invocation_id\n attempt_id: attempt_id\n contract: contract\n provider: provider\n provider_declaration_digest: provider_declaration_digest\n handler_id: handler_id\n idempotency_key: idempotency_key\n status: status\n request: request\n invocation: invocation\n outcome: outcome\n created_at: created_at\n updated_at: updated_at\n completed_at: completed_at\n---\n\n# Durable action attempt\n\nThis canonical type makes `runtime_action_attempt` records discoverable through\nthe ordinary mdbase record-contract registry.\n" + }, + { + "source": "schemas/mdbase.runtime.checkpoint/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase durable runtime checkpoint\",\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"id\",\n \"run_id\",\n \"generation\",\n \"status\",\n \"state\",\n \"updated_at\"\n ],\n \"properties\": {\n \"type\": {\n \"const\": \"runtime_checkpoint\"\n },\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"run_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"generation\": {\n \"type\": \"integer\",\n \"minimum\": 1\n },\n \"status\": {\n \"enum\": [\n \"open\",\n \"waiting\",\n \"ready\",\n \"completed\",\n \"failed\",\n \"cancelled\"\n ]\n },\n \"state\": {\n \"type\": \"object\"\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.checkpoint/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.runtime.checkpoint/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: record\nid: mdbase.runtime.checkpoint\nversion: 1.0.0\nname: Runtime checkpoint\ndescription: A durable, lease-safe workflow continuation.\nrecord_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.checkpoint/1.0.0.schema.json\n---\n\n# Runtime checkpoint\n\nA durable, lease-safe workflow continuation.\n\nThis artifact is passive. Installing it or a type that implements it grants no\nauthority to execute workflows or invoke providers.\n" + }, + { + "source": "types/mdbase-runtime/checkpoint.md", + "document": "---\nkind: mdbase.type\nname: runtime_checkpoint\nversion: 1\ndescription: Canonical Markdown implementation of mdbase.runtime.checkpoint.\nmatch:\n where:\n type: runtime_checkpoint\nschema:\n dialect: json-schema-2020-12\n value:\n $schema: https://json-schema.org/draft/2020-12/schema\n title: mdbase durable runtime checkpoint\n type: object\n required:\n - type\n - id\n - run_id\n - generation\n - status\n - state\n - updated_at\n properties:\n type:\n const: runtime_checkpoint\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n run_id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n generation:\n type: integer\n minimum: 1\n status:\n enum:\n - open\n - waiting\n - ready\n - completed\n - failed\n - cancelled\n state:\n type: object\n updated_at:\n type: string\n format: date-time\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n $defs:\n identifier:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n semanticVersion:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n dateTime:\n type: string\n format: date-time\n contractRequirement:\n type: object\n required:\n - id\n - version\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n minLength: 1\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n exactContractReference:\n type: object\n required:\n - id\n - version\n - digest\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n identity:\n type: object\n required:\n - application\n - implementation\n - version\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n providerSelector:\n type: object\n required: []\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n minProperties: 1\n expression:\n type: object\n required:\n - $expr\n properties:\n $expr:\n type: string\n minLength: 1\n additionalProperties: false\n $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.checkpoint/1.0.0.schema.json\nimplements:\n - contract: mdbase.runtime.checkpoint\n version: 1.0.0\n fields:\n type: type\n id: id\n run_id: run_id\n generation: generation\n status: status\n state: state\n updated_at: updated_at\n---\n\n# Runtime checkpoint\n\nThis canonical type makes `runtime_checkpoint` records discoverable through\nthe ordinary mdbase record-contract registry.\n" + }, + { + "source": "schemas/mdbase.runtime.timer/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase durable runtime timer\",\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"id\",\n \"generation\",\n \"status\",\n \"fire_at\",\n \"event\",\n \"created_at\",\n \"updated_at\"\n ],\n \"properties\": {\n \"type\": {\n \"const\": \"runtime_timer\"\n },\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"generation\": {\n \"type\": \"integer\",\n \"minimum\": 1\n },\n \"status\": {\n \"enum\": [\n \"scheduled\",\n \"firing\",\n \"fired\",\n \"cancelled\"\n ]\n },\n \"fire_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"event\": {\n \"type\": \"object\",\n \"required\": [\n \"contract\",\n \"data\"\n ],\n \"properties\": {\n \"contract\": {\n \"$ref\": \"#/$defs/contractRequirement\"\n },\n \"subject\": {\n \"type\": \"string\"\n },\n \"correlation_id\": {\n \"type\": \"string\"\n },\n \"causation_id\": {\n \"type\": \"string\"\n },\n \"data\": {}\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"missed_run_policy\": {\n \"const\": \"fire_once\"\n },\n \"created_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"fired_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.timer/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.runtime.timer/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: record\nid: mdbase.runtime.timer\nversion: 1.0.0\nname: Runtime timer\ndescription: A generation-safe one-shot timer that publishes through the interoperability profile.\nrecord_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.timer/1.0.0.schema.json\n---\n\n# Runtime timer\n\nA generation-safe one-shot timer that publishes through the interoperability profile.\n\nThis artifact is passive. Installing it or a type that implements it grants no\nauthority to execute workflows or invoke providers.\n" + }, + { + "source": "types/mdbase-runtime/timer.md", + "document": "---\nkind: mdbase.type\nname: runtime_timer\nversion: 1\ndescription: Canonical Markdown implementation of mdbase.runtime.timer.\nmatch:\n where:\n type: runtime_timer\nschema:\n dialect: json-schema-2020-12\n value:\n $schema: https://json-schema.org/draft/2020-12/schema\n title: mdbase durable runtime timer\n type: object\n required:\n - type\n - id\n - generation\n - status\n - fire_at\n - event\n - created_at\n - updated_at\n properties:\n type:\n const: runtime_timer\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n generation:\n type: integer\n minimum: 1\n status:\n enum:\n - scheduled\n - firing\n - fired\n - cancelled\n fire_at:\n type: string\n format: date-time\n event:\n type: object\n required:\n - contract\n - data\n properties:\n contract:\n $ref: \"#/$defs/contractRequirement\"\n subject:\n type: string\n correlation_id:\n type: string\n causation_id:\n type: string\n data: {}\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n missed_run_policy:\n const: fire_once\n created_at:\n type: string\n format: date-time\n updated_at:\n type: string\n format: date-time\n fired_at:\n type: string\n format: date-time\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n $defs:\n identifier:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n semanticVersion:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n dateTime:\n type: string\n format: date-time\n contractRequirement:\n type: object\n required:\n - id\n - version\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n minLength: 1\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n exactContractReference:\n type: object\n required:\n - id\n - version\n - digest\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n identity:\n type: object\n required:\n - application\n - implementation\n - version\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n providerSelector:\n type: object\n required: []\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n minProperties: 1\n expression:\n type: object\n required:\n - $expr\n properties:\n $expr:\n type: string\n minLength: 1\n additionalProperties: false\n $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.timer/1.0.0.schema.json\nimplements:\n - contract: mdbase.runtime.timer\n version: 1.0.0\n fields:\n type: type\n id: id\n generation: generation\n status: status\n fire_at: fire_at\n event: event\n missed_run_policy: missed_run_policy\n created_at: created_at\n updated_at: updated_at\n fired_at: fired_at\n---\n\n# Runtime timer\n\nThis canonical type makes `runtime_timer` records discoverable through\nthe ordinary mdbase record-contract registry.\n" + }, + { + "source": "schemas/mdbase.runtime.diagnostic/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase durable runtime diagnostic\",\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"id\",\n \"severity\",\n \"code\",\n \"message\",\n \"created_at\"\n ],\n \"properties\": {\n \"type\": {\n \"const\": \"runtime_diagnostic\"\n },\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"severity\": {\n \"enum\": [\n \"info\",\n \"warning\",\n \"error\"\n ]\n },\n \"code\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"message\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"run_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"attempt_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"path\": {\n \"type\": \"string\"\n },\n \"details\": {},\n \"created_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.diagnostic/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.runtime.diagnostic/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: record\nid: mdbase.runtime.diagnostic\nversion: 1.0.0\nname: Runtime diagnostic\ndescription: A machine-readable durable runtime diagnostic.\nrecord_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.diagnostic/1.0.0.schema.json\n---\n\n# Runtime diagnostic\n\nA machine-readable durable runtime diagnostic.\n\nThis artifact is passive. Installing it or a type that implements it grants no\nauthority to execute workflows or invoke providers.\n" + }, + { + "source": "types/mdbase-runtime/diagnostic.md", + "document": "---\nkind: mdbase.type\nname: runtime_diagnostic\nversion: 1\ndescription: Canonical Markdown implementation of mdbase.runtime.diagnostic.\nmatch:\n where:\n type: runtime_diagnostic\nschema:\n dialect: json-schema-2020-12\n value:\n $schema: https://json-schema.org/draft/2020-12/schema\n title: mdbase durable runtime diagnostic\n type: object\n required:\n - type\n - id\n - severity\n - code\n - message\n - created_at\n properties:\n type:\n const: runtime_diagnostic\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n severity:\n enum:\n - info\n - warning\n - error\n code:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n message:\n type: string\n minLength: 1\n run_id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n attempt_id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n path:\n type: string\n details: {}\n created_at:\n type: string\n format: date-time\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n $defs:\n identifier:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n semanticVersion:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n dateTime:\n type: string\n format: date-time\n contractRequirement:\n type: object\n required:\n - id\n - version\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n minLength: 1\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n exactContractReference:\n type: object\n required:\n - id\n - version\n - digest\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n identity:\n type: object\n required:\n - application\n - implementation\n - version\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n providerSelector:\n type: object\n required: []\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n minProperties: 1\n expression:\n type: object\n required:\n - $expr\n properties:\n $expr:\n type: string\n minLength: 1\n additionalProperties: false\n $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.diagnostic/1.0.0.schema.json\nimplements:\n - contract: mdbase.runtime.diagnostic\n version: 1.0.0\n fields:\n type: type\n id: id\n severity: severity\n code: code\n message: message\n run_id: run_id\n attempt_id: attempt_id\n path: path\n details: details\n created_at: created_at\n---\n\n# Runtime diagnostic\n\nThis canonical type makes `runtime_diagnostic` records discoverable through\nthe ordinary mdbase record-contract registry.\n" + }, + { + "source": "schemas/mdbase.runtime.dead-letter/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase durable runtime dead letter\",\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"id\",\n \"reason\",\n \"status\",\n \"evidence\",\n \"created_at\"\n ],\n \"properties\": {\n \"type\": {\n \"const\": \"runtime_dead_letter\"\n },\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"reason\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"status\": {\n \"enum\": [\n \"unresolved\",\n \"acknowledged\",\n \"requeued\"\n ]\n },\n \"evidence_kind\": {\n \"enum\": [\n \"event\",\n \"action_request\",\n \"action_outcome\"\n ]\n },\n \"evidence\": {\n \"type\": \"object\"\n },\n \"created_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"acknowledged_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.dead-letter/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.runtime.dead-letter/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: record\nid: mdbase.runtime.dead-letter\nversion: 1.0.0\nname: Runtime dead letter\ndescription: Retained event or action evidence that cannot be processed safely.\nrecord_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.dead-letter/1.0.0.schema.json\n---\n\n# Runtime dead letter\n\nRetained event or action evidence that cannot be processed safely.\n\nThis artifact is passive. Installing it or a type that implements it grants no\nauthority to execute workflows or invoke providers.\n" + }, + { + "source": "types/mdbase-runtime/dead-letter.md", + "document": "---\nkind: mdbase.type\nname: runtime_dead_letter\nversion: 1\ndescription: Canonical Markdown implementation of mdbase.runtime.dead-letter.\nmatch:\n where:\n type: runtime_dead_letter\nschema:\n dialect: json-schema-2020-12\n value:\n $schema: https://json-schema.org/draft/2020-12/schema\n title: mdbase durable runtime dead letter\n type: object\n required:\n - type\n - id\n - reason\n - status\n - evidence\n - created_at\n properties:\n type:\n const: runtime_dead_letter\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n reason:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n status:\n enum:\n - unresolved\n - acknowledged\n - requeued\n evidence_kind:\n enum:\n - event\n - action_request\n - action_outcome\n evidence:\n type: object\n created_at:\n type: string\n format: date-time\n acknowledged_at:\n type: string\n format: date-time\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n $defs:\n identifier:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n semanticVersion:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n dateTime:\n type: string\n format: date-time\n contractRequirement:\n type: object\n required:\n - id\n - version\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n minLength: 1\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n exactContractReference:\n type: object\n required:\n - id\n - version\n - digest\n properties:\n id:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n digest:\n type: string\n pattern: ^sha256:[0-9a-f]{64}$\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n identity:\n type: object\n required:\n - application\n - implementation\n - version\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n version:\n type: string\n pattern: ^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n providerSelector:\n type: object\n required: []\n properties:\n application:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n implementation:\n type: string\n pattern: ^[A-Za-z][A-Za-z0-9._:-]*$\n instance_id:\n type: string\n minLength: 1\n patternProperties:\n ^x-[A-Za-z0-9._:-]+$: true\n additionalProperties: false\n minProperties: 1\n expression:\n type: object\n required:\n - $expr\n properties:\n $expr:\n type: string\n minLength: 1\n additionalProperties: false\n $id: https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.dead-letter/1.0.0.schema.json\nimplements:\n - contract: mdbase.runtime.dead-letter\n version: 1.0.0\n fields:\n type: type\n id: id\n reason: reason\n status: status\n evidence_kind: evidence_kind\n evidence: evidence\n created_at: created_at\n acknowledged_at: acknowledged_at\n---\n\n# Runtime dead letter\n\nThis canonical type makes `runtime_dead_letter` records discoverable through\nthe ordinary mdbase record-contract registry.\n" + }, + { + "source": "schemas/mdbase.record.created/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase record-created event data\",\n \"type\": \"object\",\n \"required\": [\n \"path\",\n \"after\",\n \"changed_fields\",\n \"revision\",\n \"types\"\n ],\n \"properties\": {\n \"path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"after\": {\n \"type\": \"object\"\n },\n \"changed_fields\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"revision\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"types\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n }\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.created/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.record.created/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: event\nid: mdbase.record.created\nversion: 1.0.0\nname: Record created\ndescription: Published after a record is created and derived collection state is consistent.\ndata_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.record.created/1.0.0.schema.json\n---\n\n# Record created\n\nThis built-in is an ordinary, inspectable contract artifact. Runtime exchange\nuses the mdbase interoperability profile unchanged.\n" + }, + { + "source": "schemas/mdbase.record.modified/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase record-modified event data\",\n \"type\": \"object\",\n \"required\": [\n \"path\",\n \"before\",\n \"after\",\n \"changed_fields\",\n \"previous_revision\",\n \"revision\",\n \"previous_types\",\n \"types\"\n ],\n \"properties\": {\n \"path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"before\": {\n \"type\": \"object\"\n },\n \"after\": {\n \"type\": \"object\"\n },\n \"changed_fields\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"previous_revision\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"revision\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"previous_types\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n }\n },\n \"types\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n }\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.modified/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.record.modified/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: event\nid: mdbase.record.modified\nversion: 1.0.0\nname: Record modified\ndescription: Published after a record is modified and derived collection state is consistent.\ndata_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.record.modified/1.0.0.schema.json\n---\n\n# Record modified\n\nThis built-in is an ordinary, inspectable contract artifact. Runtime exchange\nuses the mdbase interoperability profile unchanged.\n" + }, + { + "source": "schemas/mdbase.record.deleted/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase record-deleted event data\",\n \"type\": \"object\",\n \"required\": [\n \"path\",\n \"before\",\n \"previous_revision\",\n \"types\"\n ],\n \"properties\": {\n \"path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"before\": {\n \"type\": \"object\"\n },\n \"previous_revision\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"types\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n }\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.deleted/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.record.deleted/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: event\nid: mdbase.record.deleted\nversion: 1.0.0\nname: Record deleted\ndescription: Published after a record is deleted and derived collection state is consistent.\ndata_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.record.deleted/1.0.0.schema.json\n---\n\n# Record deleted\n\nThis built-in is an ordinary, inspectable contract artifact. Runtime exchange\nuses the mdbase interoperability profile unchanged.\n" + }, + { + "source": "schemas/mdbase.record.renamed/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase record-renamed event data\",\n \"type\": \"object\",\n \"required\": [\n \"from\",\n \"to\",\n \"before\",\n \"after\",\n \"previous_revision\",\n \"revision\",\n \"previous_types\",\n \"types\"\n ],\n \"properties\": {\n \"from\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"to\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"before\": {\n \"type\": \"object\"\n },\n \"after\": {\n \"type\": \"object\"\n },\n \"previous_revision\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"revision\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"previous_types\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n }\n },\n \"types\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n }\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.renamed/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.record.renamed/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: event\nid: mdbase.record.renamed\nversion: 1.0.0\nname: Record renamed\ndescription: Published after a record is renamed and derived collection state is consistent.\ndata_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.record.renamed/1.0.0.schema.json\n---\n\n# Record renamed\n\nThis built-in is an ordinary, inspectable contract artifact. Runtime exchange\nuses the mdbase interoperability profile unchanged.\n" + }, + { + "source": "schemas/mdbase.runtime.timer.fired/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase runtime timer-fired event data\",\n \"type\": \"object\",\n \"required\": [\n \"timer_id\",\n \"generation\",\n \"scheduled_for\",\n \"fired_at\",\n \"late_by_ms\",\n \"data\"\n ],\n \"properties\": {\n \"timer_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"generation\": {\n \"type\": \"integer\",\n \"minimum\": 1\n },\n \"scheduled_for\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"fired_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"late_by_ms\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"data\": {\n \"description\": \"Opaque application data supplied when the timer was scheduled.\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.timer.fired/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.runtime.timer.fired/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: event\nid: mdbase.runtime.timer.fired\nversion: 1.0.0\nname: Runtime timer fired\ndescription: Published with scheduling evidence and opaque application data when the current generation of a durable timer fires.\ndata_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.timer.fired/1.0.0.schema.json\n---\n\n# Runtime timer fired\n\nThis built-in is an ordinary, inspectable contract artifact. Runtime exchange\nuses the mdbase interoperability profile unchanged.\n" + }, + { + "source": "schemas/mdbase.runtime.run.cancel/1.0.0.output.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase runtime run-cancel action output\",\n \"type\": \"object\",\n \"required\": [\n \"run_id\",\n \"status\"\n ],\n \"properties\": {\n \"run_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"status\": {\n \"enum\": [\n \"cancellation_requested\",\n \"already_terminal\"\n ]\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run.cancel/1.0.0.output.schema.json\"\n}\n" + }, + { + "source": "schemas/mdbase.runtime.run.cancel/1.0.0.schema.json", + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"mdbase runtime run-cancel action input\",\n \"type\": \"object\",\n \"required\": [\n \"run_id\"\n ],\n \"properties\": {\n \"run_id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"reason\": {\n \"type\": \"string\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"identifier\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"semanticVersion\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n },\n \"dateTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"contractRequirement\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"exactContractReference\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"version\",\n \"digest\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"digest\": {\n \"type\": \"string\",\n \"pattern\": \"^sha256:[0-9a-f]{64}$\"\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"identity\": {\n \"type\": \"object\",\n \"required\": [\n \"application\",\n \"implementation\",\n \"version\"\n ],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"version\": {\n \"type\": \"string\",\n \"pattern\": \"^(0|[1-9][0-9]*)\\\\.(0|[1-9][0-9]*)\\\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?(?:\\\\+[0-9A-Za-z-]+(?:\\\\.[0-9A-Za-z-]+)*)?$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false\n },\n \"providerSelector\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"application\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"implementation\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][A-Za-z0-9._:-]*$\"\n },\n \"instance_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"patternProperties\": {\n \"^x-[A-Za-z0-9._:-]+$\": true\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n },\n \"expression\": {\n \"type\": \"object\",\n \"required\": [\n \"$expr\"\n ],\n \"properties\": {\n \"$expr\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"additionalProperties\": false\n }\n },\n \"$id\": \"https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run.cancel/1.0.0.schema.json\"\n}\n" + }, + { + "source": "contracts/mdbase.runtime.run.cancel/1.0.0.md", + "document": "---\nkind: mdbase.contract\ncontract_type: action\nid: mdbase.runtime.run.cancel\nversion: 1.0.0\nname: Cancel durable runtime run\ndescription: Request cooperative cancellation of one durable runtime run.\ninput_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.run.cancel/1.0.0.schema.json\noutput_schema:\n dialect: json-schema-2020-12\n ref: ../../schemas/mdbase.runtime.run.cancel/1.0.0.output.schema.json\nbehavior:\n idempotency: required\n cancellation: none\n---\n\n# Cancel durable runtime run\n\nThis built-in is an ordinary, inspectable contract artifact. Runtime exchange\nuses the mdbase interoperability profile unchanged.\n" + } + ], + "provides": [ + { + "id": "mdbase.runtime.action-attempt", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.capability-grant", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.checkpoint", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.dead-letter", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.diagnostic", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.policy", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.provider-registration", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.run", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.timer", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.workflow", + "version": "1.0.0" + } + ] +} diff --git a/public/contracts/schemas/mdbase.record.created/1.0.0.schema.json b/public/contracts/schemas/mdbase.record.created/1.0.0.schema.json new file mode 100644 index 0000000..f2f1c4e --- /dev/null +++ b/public/contracts/schemas/mdbase.record.created/1.0.0.schema.json @@ -0,0 +1,180 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase record-created event data", + "type": "object", + "required": [ + "path", + "after", + "changed_fields", + "revision", + "types" + ], + "properties": { + "path": { + "type": "string", + "minLength": 1 + }, + "after": { + "type": "object" + }, + "changed_fields": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "revision": { + "type": "string", + "minLength": 1 + }, + "types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.created/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.record.deleted/1.0.0.schema.json b/public/contracts/schemas/mdbase.record.deleted/1.0.0.schema.json new file mode 100644 index 0000000..49a395f --- /dev/null +++ b/public/contracts/schemas/mdbase.record.deleted/1.0.0.schema.json @@ -0,0 +1,172 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase record-deleted event data", + "type": "object", + "required": [ + "path", + "before", + "previous_revision", + "types" + ], + "properties": { + "path": { + "type": "string", + "minLength": 1 + }, + "before": { + "type": "object" + }, + "previous_revision": { + "type": "string", + "minLength": 1 + }, + "types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.deleted/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.record.modified/1.0.0.schema.json b/public/contracts/schemas/mdbase.record.modified/1.0.0.schema.json new file mode 100644 index 0000000..57ad051 --- /dev/null +++ b/public/contracts/schemas/mdbase.record.modified/1.0.0.schema.json @@ -0,0 +1,198 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase record-modified event data", + "type": "object", + "required": [ + "path", + "before", + "after", + "changed_fields", + "previous_revision", + "revision", + "previous_types", + "types" + ], + "properties": { + "path": { + "type": "string", + "minLength": 1 + }, + "before": { + "type": "object" + }, + "after": { + "type": "object" + }, + "changed_fields": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "previous_revision": { + "type": "string", + "minLength": 1 + }, + "revision": { + "type": "string", + "minLength": 1 + }, + "previous_types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + }, + "types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.modified/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.record.renamed/1.0.0.schema.json b/public/contracts/schemas/mdbase.record.renamed/1.0.0.schema.json new file mode 100644 index 0000000..4c11fc8 --- /dev/null +++ b/public/contracts/schemas/mdbase.record.renamed/1.0.0.schema.json @@ -0,0 +1,195 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase record-renamed event data", + "type": "object", + "required": [ + "from", + "to", + "before", + "after", + "previous_revision", + "revision", + "previous_types", + "types" + ], + "properties": { + "from": { + "type": "string", + "minLength": 1 + }, + "to": { + "type": "string", + "minLength": 1 + }, + "before": { + "type": "object" + }, + "after": { + "type": "object" + }, + "previous_revision": { + "type": "string", + "minLength": 1 + }, + "revision": { + "type": "string", + "minLength": 1 + }, + "previous_types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + }, + "types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.renamed/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.action-attempt/1.0.0.schema.json b/public/contracts/schemas/mdbase.runtime.action-attempt/1.0.0.schema.json new file mode 100644 index 0000000..b02f7b7 --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.action-attempt/1.0.0.schema.json @@ -0,0 +1,238 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime action attempt", + "type": "object", + "required": [ + "type", + "id", + "run_id", + "step_id", + "request_id", + "invocation_id", + "attempt_id", + "contract", + "provider", + "provider_declaration_digest", + "status", + "created_at", + "updated_at" + ], + "properties": { + "type": { + "const": "runtime_action_attempt" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "step_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "request_id": { + "type": "string", + "minLength": 1 + }, + "invocation_id": { + "type": "string", + "minLength": 1 + }, + "attempt_id": { + "type": "string", + "minLength": 1 + }, + "contract": { + "$ref": "#/$defs/exactContractReference" + }, + "provider": { + "$ref": "#/$defs/identity" + }, + "provider_declaration_digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "handler_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "idempotency_key": { + "type": "string" + }, + "status": { + "enum": [ + "admitted", + "dispatching", + "succeeded", + "rejected", + "failed", + "cancelled", + "indeterminate" + ] + }, + "request": { + "type": "object" + }, + "invocation": { + "type": "object" + }, + "outcome": { + "type": "object" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "completed_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.action-attempt/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.capability-grant/1.0.0.schema.json b/public/contracts/schemas/mdbase.runtime.capability-grant/1.0.0.schema.json new file mode 100644 index 0000000..9d6cc2d --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.capability-grant/1.0.0.schema.json @@ -0,0 +1,197 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime capability grant", + "type": "object", + "required": [ + "type", + "id", + "capability", + "principal", + "mode", + "granted_at" + ], + "properties": { + "type": { + "const": "runtime_capability_grant" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "capability": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "principal": { + "$ref": "#/$defs/identity" + }, + "mode": { + "enum": [ + "allow", + "deny" + ] + }, + "actions": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/$defs/contractRequirement" + } + }, + "providers": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/$defs/providerSelector" + } + }, + "granted_at": { + "type": "string", + "format": "date-time" + }, + "expires_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.capability-grant/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.checkpoint/1.0.0.schema.json b/public/contracts/schemas/mdbase.runtime.checkpoint/1.0.0.schema.json new file mode 100644 index 0000000..f14163b --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.checkpoint/1.0.0.schema.json @@ -0,0 +1,188 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime checkpoint", + "type": "object", + "required": [ + "type", + "id", + "run_id", + "generation", + "status", + "state", + "updated_at" + ], + "properties": { + "type": { + "const": "runtime_checkpoint" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "generation": { + "type": "integer", + "minimum": 1 + }, + "status": { + "enum": [ + "open", + "waiting", + "ready", + "completed", + "failed", + "cancelled" + ] + }, + "state": { + "type": "object" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.checkpoint/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.dead-letter/1.0.0.schema.json b/public/contracts/schemas/mdbase.runtime.dead-letter/1.0.0.schema.json new file mode 100644 index 0000000..ea3be8b --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.dead-letter/1.0.0.schema.json @@ -0,0 +1,191 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime dead letter", + "type": "object", + "required": [ + "type", + "id", + "reason", + "status", + "evidence", + "created_at" + ], + "properties": { + "type": { + "const": "runtime_dead_letter" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "reason": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "status": { + "enum": [ + "unresolved", + "acknowledged", + "requeued" + ] + }, + "evidence_kind": { + "enum": [ + "event", + "action_request", + "action_outcome" + ] + }, + "evidence": { + "type": "object" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "acknowledged_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.dead-letter/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.diagnostic/1.0.0.schema.json b/public/contracts/schemas/mdbase.runtime.diagnostic/1.0.0.schema.json new file mode 100644 index 0000000..0dec633 --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.diagnostic/1.0.0.schema.json @@ -0,0 +1,193 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime diagnostic", + "type": "object", + "required": [ + "type", + "id", + "severity", + "code", + "message", + "created_at" + ], + "properties": { + "type": { + "const": "runtime_diagnostic" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ] + }, + "code": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "message": { + "type": "string", + "minLength": 1 + }, + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "attempt_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "path": { + "type": "string" + }, + "details": {}, + "created_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.diagnostic/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.policy/1.0.0.schema.json b/public/contracts/schemas/mdbase.runtime.policy/1.0.0.schema.json new file mode 100644 index 0000000..a873c7b --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.policy/1.0.0.schema.json @@ -0,0 +1,263 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime policy", + "type": "object", + "required": [ + "type", + "id", + "version", + "enabled", + "grants" + ], + "properties": { + "type": { + "const": "runtime_policy" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "enabled": { + "type": "boolean" + }, + "executors": { + "type": "object", + "required": [], + "properties": { + "default": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "workflows": { + "type": "object", + "additionalProperties": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "provider_selections": { + "type": "array", + "items": { + "type": "object", + "required": [ + "contract", + "selector" + ], + "properties": { + "contract": { + "$ref": "#/$defs/contractRequirement" + }, + "selector": { + "$ref": "#/$defs/providerSelector" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + }, + "grants": { + "type": "array", + "items": { + "type": "object", + "required": [ + "capability", + "mode" + ], + "properties": { + "capability": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "mode": { + "enum": [ + "allow", + "deny" + ] + }, + "actions": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/$defs/contractRequirement" + } + }, + "providers": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/$defs/providerSelector" + } + }, + "max_calls_per_run": { + "type": "integer", + "minimum": 1 + }, + "max_records_per_run": { + "type": "integer", + "minimum": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.policy/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.provider-registration/1.0.0.schema.json b/public/contracts/schemas/mdbase.runtime.provider-registration/1.0.0.schema.json new file mode 100644 index 0000000..1fb73c5 --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.provider-registration/1.0.0.schema.json @@ -0,0 +1,178 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime provider registration evidence", + "type": "object", + "required": [ + "type", + "id", + "declaration_kind", + "declaration", + "verified_at", + "active" + ], + "properties": { + "type": { + "const": "runtime_provider_registration" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "declaration_kind": { + "enum": [ + "event_source", + "action_provider" + ] + }, + "declaration": { + "type": "object" + }, + "verified_at": { + "type": "string", + "format": "date-time" + }, + "active": { + "type": "boolean" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.provider-registration/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.run.cancel/1.0.0.output.schema.json b/public/contracts/schemas/mdbase.runtime.run.cancel/1.0.0.output.schema.json new file mode 100644 index 0000000..8c3ed04 --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.run.cancel/1.0.0.output.schema.json @@ -0,0 +1,161 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime run-cancel action output", + "type": "object", + "required": [ + "run_id", + "status" + ], + "properties": { + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "status": { + "enum": [ + "cancellation_requested", + "already_terminal" + ] + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run.cancel/1.0.0.output.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.run.cancel/1.0.0.schema.json b/public/contracts/schemas/mdbase.runtime.run.cancel/1.0.0.schema.json new file mode 100644 index 0000000..e5fd257 --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.run.cancel/1.0.0.schema.json @@ -0,0 +1,157 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime run-cancel action input", + "type": "object", + "required": [ + "run_id" + ], + "properties": { + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "reason": { + "type": "string" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run.cancel/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.run/1.0.0.schema.json b/public/contracts/schemas/mdbase.runtime.run/1.0.0.schema.json new file mode 100644 index 0000000..3966490 --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.run/1.0.0.schema.json @@ -0,0 +1,356 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime run", + "type": "object", + "required": [ + "type", + "id", + "workflow_id", + "workflow_version", + "workflow_revision", + "event_id", + "event_contract", + "admitted_plan", + "status", + "created_at", + "updated_at" + ], + "properties": { + "type": { + "const": "runtime_run" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "workflow_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "workflow_version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "workflow_revision": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "event_id": { + "type": "string", + "minLength": 1 + }, + "event_contract": { + "$ref": "#/$defs/exactContractReference" + }, + "event_source": { + "$ref": "#/$defs/identity" + }, + "admitted_plan": { + "$ref": "#/$defs/admittedPlan" + }, + "policy_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "policy_revision": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "trigger_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "event_cursor": { + "type": "integer", + "minimum": 1 + }, + "executor": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "idempotency_key": { + "type": "string" + }, + "concurrency_group": { + "type": "string" + }, + "status": { + "enum": [ + "queued", + "running", + "waiting", + "succeeded", + "failed", + "cancelled", + "indeterminate" + ] + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "finished_at": { + "type": "string", + "format": "date-time" + }, + "lease": { + "$ref": "#/$defs/lease" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + }, + "admittedPlan": { + "type": "object", + "required": [ + "profile_version", + "workflow_revision", + "event", + "steps" + ], + "properties": { + "profile_version": { + "const": "0.2" + }, + "workflow_revision": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "event": { + "type": "object", + "required": [ + "contract", + "source" + ], + "properties": { + "contract": { + "$ref": "#/$defs/exactContractReference" + }, + "source": { + "$ref": "#/$defs/identity" + }, + "source_declaration_digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "steps": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "contract", + "provider", + "provider_declaration_digest", + "handler_id" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "contract": { + "$ref": "#/$defs/exactContractReference" + }, + "provider": { + "$ref": "#/$defs/identity" + }, + "provider_declaration_digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "handler_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "lease": { + "type": "object", + "required": [ + "owner", + "token", + "expires_at" + ], + "properties": { + "owner": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "token": { + "type": "string", + "minLength": 1 + }, + "expires_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.timer.fired/1.0.0.schema.json b/public/contracts/schemas/mdbase.runtime.timer.fired/1.0.0.schema.json new file mode 100644 index 0000000..26296a9 --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.timer.fired/1.0.0.schema.json @@ -0,0 +1,178 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime timer-fired event data", + "type": "object", + "required": [ + "timer_id", + "generation", + "scheduled_for", + "fired_at", + "late_by_ms", + "data" + ], + "properties": { + "timer_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "generation": { + "type": "integer", + "minimum": 1 + }, + "scheduled_for": { + "type": "string", + "format": "date-time" + }, + "fired_at": { + "type": "string", + "format": "date-time" + }, + "late_by_ms": { + "type": "integer", + "minimum": 0 + }, + "data": { + "description": "Opaque application data supplied when the timer was scheduled." + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.timer.fired/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.timer/1.0.0.schema.json b/public/contracts/schemas/mdbase.runtime.timer/1.0.0.schema.json new file mode 100644 index 0000000..a03fc67 --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.timer/1.0.0.schema.json @@ -0,0 +1,221 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime timer", + "type": "object", + "required": [ + "type", + "id", + "generation", + "status", + "fire_at", + "event", + "created_at", + "updated_at" + ], + "properties": { + "type": { + "const": "runtime_timer" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "generation": { + "type": "integer", + "minimum": 1 + }, + "status": { + "enum": [ + "scheduled", + "firing", + "fired", + "cancelled" + ] + }, + "fire_at": { + "type": "string", + "format": "date-time" + }, + "event": { + "type": "object", + "required": [ + "contract", + "data" + ], + "properties": { + "contract": { + "$ref": "#/$defs/contractRequirement" + }, + "subject": { + "type": "string" + }, + "correlation_id": { + "type": "string" + }, + "causation_id": { + "type": "string" + }, + "data": {} + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "missed_run_policy": { + "const": "fire_once" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "fired_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.timer/1.0.0.schema.json" +} diff --git a/public/contracts/schemas/mdbase.runtime.workflow/1.0.0.schema.json b/public/contracts/schemas/mdbase.runtime.workflow/1.0.0.schema.json new file mode 100644 index 0000000..60cf082 --- /dev/null +++ b/public/contracts/schemas/mdbase.runtime.workflow/1.0.0.schema.json @@ -0,0 +1,392 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime workflow", + "type": "object", + "required": [ + "type", + "id", + "version", + "name", + "enabled", + "triggers", + "steps" + ], + "properties": { + "type": { + "const": "runtime_workflow" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "description": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "requires": { + "$ref": "#/$defs/requires" + }, + "vars": { + "type": "object", + "additionalProperties": {} + }, + "triggers": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/trigger" + } + }, + "steps": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/step" + } + }, + "run": { + "$ref": "#/$defs/runPolicy" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + }, + "requires": { + "type": "object", + "required": [], + "properties": { + "capabilities": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "trigger": { + "type": "object", + "required": [ + "id", + "event" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "event": { + "$ref": "#/$defs/contractRequirement" + }, + "if": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + }, + "debounce": { + "$ref": "#/$defs/duration" + }, + "minimum_interval": { + "$ref": "#/$defs/duration" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "step": { + "type": "object", + "required": [ + "id", + "action" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "name": { + "type": "string" + }, + "action": { + "$ref": "#/$defs/contractRequirement" + }, + "provider": { + "$ref": "#/$defs/providerSelector" + }, + "requires": { + "$ref": "#/$defs/requires" + }, + "if": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + }, + "input": { + "type": "object", + "additionalProperties": {} + }, + "for_each": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": {}, + "as": { + "type": "string", + "pattern": "^[A-Za-z_][A-Za-z0-9_]*$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "duration": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)(ms|s|m|h|d)$" + }, + "runPolicy": { + "type": "object", + "required": [], + "properties": { + "idempotency": { + "type": "object", + "required": [ + "key" + ], + "properties": { + "key": {} + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "concurrency": { + "type": "object", + "required": [ + "policy" + ], + "properties": { + "group": {}, + "policy": { + "enum": [ + "skip", + "queue", + "replace", + "allow" + ] + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "limits": { + "type": "object", + "required": [], + "properties": { + "timeout": { + "$ref": "#/$defs/duration" + }, + "max_items": { + "type": "integer", + "minimum": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "on_error": { + "enum": [ + "stop", + "continue" + ] + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.workflow/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.record.created/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.record.created/1.0.0.schema.json new file mode 100644 index 0000000..f2f1c4e --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.record.created/1.0.0.schema.json @@ -0,0 +1,180 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase record-created event data", + "type": "object", + "required": [ + "path", + "after", + "changed_fields", + "revision", + "types" + ], + "properties": { + "path": { + "type": "string", + "minLength": 1 + }, + "after": { + "type": "object" + }, + "changed_fields": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "revision": { + "type": "string", + "minLength": 1 + }, + "types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.created/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.record.deleted/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.record.deleted/1.0.0.schema.json new file mode 100644 index 0000000..49a395f --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.record.deleted/1.0.0.schema.json @@ -0,0 +1,172 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase record-deleted event data", + "type": "object", + "required": [ + "path", + "before", + "previous_revision", + "types" + ], + "properties": { + "path": { + "type": "string", + "minLength": 1 + }, + "before": { + "type": "object" + }, + "previous_revision": { + "type": "string", + "minLength": 1 + }, + "types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.deleted/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.record.modified/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.record.modified/1.0.0.schema.json new file mode 100644 index 0000000..57ad051 --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.record.modified/1.0.0.schema.json @@ -0,0 +1,198 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase record-modified event data", + "type": "object", + "required": [ + "path", + "before", + "after", + "changed_fields", + "previous_revision", + "revision", + "previous_types", + "types" + ], + "properties": { + "path": { + "type": "string", + "minLength": 1 + }, + "before": { + "type": "object" + }, + "after": { + "type": "object" + }, + "changed_fields": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "previous_revision": { + "type": "string", + "minLength": 1 + }, + "revision": { + "type": "string", + "minLength": 1 + }, + "previous_types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + }, + "types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.modified/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.record.renamed/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.record.renamed/1.0.0.schema.json new file mode 100644 index 0000000..4c11fc8 --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.record.renamed/1.0.0.schema.json @@ -0,0 +1,195 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase record-renamed event data", + "type": "object", + "required": [ + "from", + "to", + "before", + "after", + "previous_revision", + "revision", + "previous_types", + "types" + ], + "properties": { + "from": { + "type": "string", + "minLength": 1 + }, + "to": { + "type": "string", + "minLength": 1 + }, + "before": { + "type": "object" + }, + "after": { + "type": "object" + }, + "previous_revision": { + "type": "string", + "minLength": 1 + }, + "revision": { + "type": "string", + "minLength": 1 + }, + "previous_types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + }, + "types": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.record.renamed/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.action-attempt/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.action-attempt/1.0.0.schema.json new file mode 100644 index 0000000..b02f7b7 --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.action-attempt/1.0.0.schema.json @@ -0,0 +1,238 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime action attempt", + "type": "object", + "required": [ + "type", + "id", + "run_id", + "step_id", + "request_id", + "invocation_id", + "attempt_id", + "contract", + "provider", + "provider_declaration_digest", + "status", + "created_at", + "updated_at" + ], + "properties": { + "type": { + "const": "runtime_action_attempt" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "step_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "request_id": { + "type": "string", + "minLength": 1 + }, + "invocation_id": { + "type": "string", + "minLength": 1 + }, + "attempt_id": { + "type": "string", + "minLength": 1 + }, + "contract": { + "$ref": "#/$defs/exactContractReference" + }, + "provider": { + "$ref": "#/$defs/identity" + }, + "provider_declaration_digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "handler_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "idempotency_key": { + "type": "string" + }, + "status": { + "enum": [ + "admitted", + "dispatching", + "succeeded", + "rejected", + "failed", + "cancelled", + "indeterminate" + ] + }, + "request": { + "type": "object" + }, + "invocation": { + "type": "object" + }, + "outcome": { + "type": "object" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "completed_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.action-attempt/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.capability-grant/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.capability-grant/1.0.0.schema.json new file mode 100644 index 0000000..9d6cc2d --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.capability-grant/1.0.0.schema.json @@ -0,0 +1,197 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime capability grant", + "type": "object", + "required": [ + "type", + "id", + "capability", + "principal", + "mode", + "granted_at" + ], + "properties": { + "type": { + "const": "runtime_capability_grant" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "capability": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "principal": { + "$ref": "#/$defs/identity" + }, + "mode": { + "enum": [ + "allow", + "deny" + ] + }, + "actions": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/$defs/contractRequirement" + } + }, + "providers": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/$defs/providerSelector" + } + }, + "granted_at": { + "type": "string", + "format": "date-time" + }, + "expires_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.capability-grant/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.checkpoint/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.checkpoint/1.0.0.schema.json new file mode 100644 index 0000000..f14163b --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.checkpoint/1.0.0.schema.json @@ -0,0 +1,188 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime checkpoint", + "type": "object", + "required": [ + "type", + "id", + "run_id", + "generation", + "status", + "state", + "updated_at" + ], + "properties": { + "type": { + "const": "runtime_checkpoint" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "generation": { + "type": "integer", + "minimum": 1 + }, + "status": { + "enum": [ + "open", + "waiting", + "ready", + "completed", + "failed", + "cancelled" + ] + }, + "state": { + "type": "object" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.checkpoint/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.dead-letter/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.dead-letter/1.0.0.schema.json new file mode 100644 index 0000000..ea3be8b --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.dead-letter/1.0.0.schema.json @@ -0,0 +1,191 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime dead letter", + "type": "object", + "required": [ + "type", + "id", + "reason", + "status", + "evidence", + "created_at" + ], + "properties": { + "type": { + "const": "runtime_dead_letter" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "reason": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "status": { + "enum": [ + "unresolved", + "acknowledged", + "requeued" + ] + }, + "evidence_kind": { + "enum": [ + "event", + "action_request", + "action_outcome" + ] + }, + "evidence": { + "type": "object" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "acknowledged_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.dead-letter/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.diagnostic/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.diagnostic/1.0.0.schema.json new file mode 100644 index 0000000..0dec633 --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.diagnostic/1.0.0.schema.json @@ -0,0 +1,193 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime diagnostic", + "type": "object", + "required": [ + "type", + "id", + "severity", + "code", + "message", + "created_at" + ], + "properties": { + "type": { + "const": "runtime_diagnostic" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ] + }, + "code": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "message": { + "type": "string", + "minLength": 1 + }, + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "attempt_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "path": { + "type": "string" + }, + "details": {}, + "created_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.diagnostic/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.policy/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.policy/1.0.0.schema.json new file mode 100644 index 0000000..a873c7b --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.policy/1.0.0.schema.json @@ -0,0 +1,263 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime policy", + "type": "object", + "required": [ + "type", + "id", + "version", + "enabled", + "grants" + ], + "properties": { + "type": { + "const": "runtime_policy" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "enabled": { + "type": "boolean" + }, + "executors": { + "type": "object", + "required": [], + "properties": { + "default": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "workflows": { + "type": "object", + "additionalProperties": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "provider_selections": { + "type": "array", + "items": { + "type": "object", + "required": [ + "contract", + "selector" + ], + "properties": { + "contract": { + "$ref": "#/$defs/contractRequirement" + }, + "selector": { + "$ref": "#/$defs/providerSelector" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + }, + "grants": { + "type": "array", + "items": { + "type": "object", + "required": [ + "capability", + "mode" + ], + "properties": { + "capability": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "mode": { + "enum": [ + "allow", + "deny" + ] + }, + "actions": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/$defs/contractRequirement" + } + }, + "providers": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/$defs/providerSelector" + } + }, + "max_calls_per_run": { + "type": "integer", + "minimum": 1 + }, + "max_records_per_run": { + "type": "integer", + "minimum": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.policy/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.provider-registration/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.provider-registration/1.0.0.schema.json new file mode 100644 index 0000000..1fb73c5 --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.provider-registration/1.0.0.schema.json @@ -0,0 +1,178 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime provider registration evidence", + "type": "object", + "required": [ + "type", + "id", + "declaration_kind", + "declaration", + "verified_at", + "active" + ], + "properties": { + "type": { + "const": "runtime_provider_registration" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "declaration_kind": { + "enum": [ + "event_source", + "action_provider" + ] + }, + "declaration": { + "type": "object" + }, + "verified_at": { + "type": "string", + "format": "date-time" + }, + "active": { + "type": "boolean" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.provider-registration/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.run.cancel/1.0.0.output.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.run.cancel/1.0.0.output.schema.json new file mode 100644 index 0000000..8c3ed04 --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.run.cancel/1.0.0.output.schema.json @@ -0,0 +1,161 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime run-cancel action output", + "type": "object", + "required": [ + "run_id", + "status" + ], + "properties": { + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "status": { + "enum": [ + "cancellation_requested", + "already_terminal" + ] + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run.cancel/1.0.0.output.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.run.cancel/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.run.cancel/1.0.0.schema.json new file mode 100644 index 0000000..e5fd257 --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.run.cancel/1.0.0.schema.json @@ -0,0 +1,157 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime run-cancel action input", + "type": "object", + "required": [ + "run_id" + ], + "properties": { + "run_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "reason": { + "type": "string" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run.cancel/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.run/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.run/1.0.0.schema.json new file mode 100644 index 0000000..3966490 --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.run/1.0.0.schema.json @@ -0,0 +1,356 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime run", + "type": "object", + "required": [ + "type", + "id", + "workflow_id", + "workflow_version", + "workflow_revision", + "event_id", + "event_contract", + "admitted_plan", + "status", + "created_at", + "updated_at" + ], + "properties": { + "type": { + "const": "runtime_run" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "workflow_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "workflow_version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "workflow_revision": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "event_id": { + "type": "string", + "minLength": 1 + }, + "event_contract": { + "$ref": "#/$defs/exactContractReference" + }, + "event_source": { + "$ref": "#/$defs/identity" + }, + "admitted_plan": { + "$ref": "#/$defs/admittedPlan" + }, + "policy_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "policy_revision": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "trigger_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "event_cursor": { + "type": "integer", + "minimum": 1 + }, + "executor": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "idempotency_key": { + "type": "string" + }, + "concurrency_group": { + "type": "string" + }, + "status": { + "enum": [ + "queued", + "running", + "waiting", + "succeeded", + "failed", + "cancelled", + "indeterminate" + ] + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "finished_at": { + "type": "string", + "format": "date-time" + }, + "lease": { + "$ref": "#/$defs/lease" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + }, + "admittedPlan": { + "type": "object", + "required": [ + "profile_version", + "workflow_revision", + "event", + "steps" + ], + "properties": { + "profile_version": { + "const": "0.2" + }, + "workflow_revision": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "event": { + "type": "object", + "required": [ + "contract", + "source" + ], + "properties": { + "contract": { + "$ref": "#/$defs/exactContractReference" + }, + "source": { + "$ref": "#/$defs/identity" + }, + "source_declaration_digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "steps": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "contract", + "provider", + "provider_declaration_digest", + "handler_id" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "contract": { + "$ref": "#/$defs/exactContractReference" + }, + "provider": { + "$ref": "#/$defs/identity" + }, + "provider_declaration_digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "handler_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "lease": { + "type": "object", + "required": [ + "owner", + "token", + "expires_at" + ], + "properties": { + "owner": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "token": { + "type": "string", + "minLength": 1 + }, + "expires_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.run/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.timer.fired/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.timer.fired/1.0.0.schema.json new file mode 100644 index 0000000..26296a9 --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.timer.fired/1.0.0.schema.json @@ -0,0 +1,178 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase runtime timer-fired event data", + "type": "object", + "required": [ + "timer_id", + "generation", + "scheduled_for", + "fired_at", + "late_by_ms", + "data" + ], + "properties": { + "timer_id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "generation": { + "type": "integer", + "minimum": 1 + }, + "scheduled_for": { + "type": "string", + "format": "date-time" + }, + "fired_at": { + "type": "string", + "format": "date-time" + }, + "late_by_ms": { + "type": "integer", + "minimum": 0 + }, + "data": { + "description": "Opaque application data supplied when the timer was scheduled." + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.timer.fired/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.timer/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.timer/1.0.0.schema.json new file mode 100644 index 0000000..a03fc67 --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.timer/1.0.0.schema.json @@ -0,0 +1,221 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime timer", + "type": "object", + "required": [ + "type", + "id", + "generation", + "status", + "fire_at", + "event", + "created_at", + "updated_at" + ], + "properties": { + "type": { + "const": "runtime_timer" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "generation": { + "type": "integer", + "minimum": 1 + }, + "status": { + "enum": [ + "scheduled", + "firing", + "fired", + "cancelled" + ] + }, + "fire_at": { + "type": "string", + "format": "date-time" + }, + "event": { + "type": "object", + "required": [ + "contract", + "data" + ], + "properties": { + "contract": { + "$ref": "#/$defs/contractRequirement" + }, + "subject": { + "type": "string" + }, + "correlation_id": { + "type": "string" + }, + "causation_id": { + "type": "string" + }, + "data": {} + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "missed_run_policy": { + "const": "fire_once" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "fired_at": { + "type": "string", + "format": "date-time" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.timer/1.0.0.schema.json" +} diff --git a/public/runtime/schemas/v0.2/mdbase.runtime.workflow/1.0.0.schema.json b/public/runtime/schemas/v0.2/mdbase.runtime.workflow/1.0.0.schema.json new file mode 100644 index 0000000..60cf082 --- /dev/null +++ b/public/runtime/schemas/v0.2/mdbase.runtime.workflow/1.0.0.schema.json @@ -0,0 +1,392 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "mdbase durable runtime workflow", + "type": "object", + "required": [ + "type", + "id", + "version", + "name", + "enabled", + "triggers", + "steps" + ], + "properties": { + "type": { + "const": "runtime_workflow" + }, + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "description": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "requires": { + "$ref": "#/$defs/requires" + }, + "vars": { + "type": "object", + "additionalProperties": {} + }, + "triggers": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/trigger" + } + }, + "steps": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/step" + } + }, + "run": { + "$ref": "#/$defs/runPolicy" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "$defs": { + "identifier": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "semanticVersion": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + }, + "dateTime": { + "type": "string", + "format": "date-time" + }, + "contractRequirement": { + "type": "object", + "required": [ + "id", + "version" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "minLength": 1 + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "exactContractReference": { + "type": "object", + "required": [ + "id", + "version", + "digest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "digest": { + "type": "string", + "pattern": "^sha256:[0-9a-f]{64}$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "identity": { + "type": "object", + "required": [ + "application", + "implementation", + "version" + ], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "version": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "providerSelector": { + "type": "object", + "required": [], + "properties": { + "application": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "implementation": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "instance_id": { + "type": "string", + "minLength": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false, + "minProperties": 1 + }, + "expression": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + }, + "requires": { + "type": "object", + "required": [], + "properties": { + "capabilities": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + } + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "trigger": { + "type": "object", + "required": [ + "id", + "event" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "event": { + "$ref": "#/$defs/contractRequirement" + }, + "if": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + }, + "debounce": { + "$ref": "#/$defs/duration" + }, + "minimum_interval": { + "$ref": "#/$defs/duration" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "step": { + "type": "object", + "required": [ + "id", + "action" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9._:-]*$" + }, + "name": { + "type": "string" + }, + "action": { + "$ref": "#/$defs/contractRequirement" + }, + "provider": { + "$ref": "#/$defs/providerSelector" + }, + "requires": { + "$ref": "#/$defs/requires" + }, + "if": { + "type": "object", + "required": [ + "$expr" + ], + "properties": { + "$expr": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + }, + "input": { + "type": "object", + "additionalProperties": {} + }, + "for_each": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": {}, + "as": { + "type": "string", + "pattern": "^[A-Za-z_][A-Za-z0-9_]*$" + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "duration": { + "type": "string", + "pattern": "^(0|[1-9][0-9]*)(ms|s|m|h|d)$" + }, + "runPolicy": { + "type": "object", + "required": [], + "properties": { + "idempotency": { + "type": "object", + "required": [ + "key" + ], + "properties": { + "key": {} + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "concurrency": { + "type": "object", + "required": [ + "policy" + ], + "properties": { + "group": {}, + "policy": { + "enum": [ + "skip", + "queue", + "replace", + "allow" + ] + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "limits": { + "type": "object", + "required": [], + "properties": { + "timeout": { + "$ref": "#/$defs/duration" + }, + "max_items": { + "type": "integer", + "minimum": 1 + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + }, + "on_error": { + "enum": [ + "stop", + "continue" + ] + } + }, + "patternProperties": { + "^x-[A-Za-z0-9._:-]+$": true + }, + "additionalProperties": false + } + }, + "$id": "https://mdbase.dev/schemas/runtime/v0.2/mdbase.runtime.workflow/1.0.0.schema.json" +} diff --git a/scripts/import-spec.mjs b/scripts/import-spec.mjs index e36b8a6..37f3518 100644 --- a/scripts/import-spec.mjs +++ b/scripts/import-spec.mjs @@ -68,6 +68,10 @@ function rewrite(html, archive) { 'href="../examples/annotated-collection/"', 'href="https://github.com/mdbase-dev/mdbase-spec/tree/main/examples/annotated-collection"' ) + .replaceAll( + 'href="./standard-packs/mdbase-runtime/0.2.0/"', + 'href="https://github.com/mdbase-dev/mdbase-spec/tree/main/standard-packs/mdbase-runtime/0.2.0"' + ) .replace(/([^<]+)<\/a>/g, "$1") .replace(/([^<]+)<\/a>/g, "$1") .replace(/href="\.\/\d{2}-[^"#]+\.md#([^"]+)"/g, 'href="#$1"') diff --git a/scripts/sync-sources.mjs b/scripts/sync-sources.mjs index bbbedcf..60be47a 100644 --- a/scripts/sync-sources.mjs +++ b/scripts/sync-sources.mjs @@ -28,6 +28,18 @@ required(interopSchemaSource, "mdbase interoperability schemas"); mkdirSync(interopSchemaDestination, { recursive: true }); cpSync(interopSchemaSource, interopSchemaDestination, { recursive: true, force: true }); +const runtimeSchemaSource = join( + specDir, + "standard-packs", + "mdbase-runtime", + "0.2.0", + "schemas", +); +const runtimeSchemaDestination = join(root, "public", "runtime", "schemas", "v0.2"); +required(runtimeSchemaSource, "mdbase Runtime 0.2 schemas"); +mkdirSync(runtimeSchemaDestination, { recursive: true }); +cpSync(runtimeSchemaSource, runtimeSchemaDestination, { recursive: true, force: true }); + const introductionSource = join(connectDir, "docs", "mdbase-configurations-v2.html"); required(introductionSource, "Connect introduction prototype"); const introduction = readFileSync(introductionSource, "utf8"); @@ -71,9 +83,12 @@ cpSync( const manifest = yaml(join(specDir, "tests", "v0.3", "manifest.yaml")); const claims = [ - yaml(join(rustDir, "conformance", "v0.4.0-rc.2.yml")), - yaml(join(typescriptDir, "conformance", "v0.3.0-rc.3.yml")) + yaml(join(rustDir, "conformance", "v0.4.0-rc.3.yml")), + yaml(join(typescriptDir, "conformance", "v0.3.0-rc.4.yml")) ]; +const runtimeClaim = yaml( + join(rustDir, "crates", "mdbase-runtime", "conformance", "v0.3.0-rc.1.yml"), +); const interopClaim = yaml( join(specDir, "packages", "interop", "conformance", "v0.1.yml") ); @@ -83,23 +98,29 @@ const conformance = { spec_version: manifest.spec_version, implementations: [ ...claims.map((claim) => { - const verifiedAt = claim.evidence - .map((entry) => entry.verified_at) - .filter(Boolean) - .sort() - .at(-1); return { name: claim.implementation.id === "mdbase-ts" ? "mdbase" : claim.implementation.id, language: claim.implementation.language, version: claim.implementation.version, repository: claim.implementation.url, - evidence_date: verifiedAt ? String(verifiedAt).slice(0, 10) : null, + evidence_date: latestEvidenceDate(claim), profiles: claim.profiles ?? [], optional_features: claim.optional_features ?? [], workflow_execution: claim.limits?.runtime_execution === true, note: "The claim uses the machine-readable v0.3 atomic profiles." }; }), + { + name: runtimeClaim.implementation.id, + language: runtimeClaim.implementation.language, + version: runtimeClaim.implementation.version, + repository: runtimeClaim.implementation.url, + evidence_date: latestEvidenceDate(runtimeClaim), + profiles: runtimeClaim.profiles ?? [], + optional_features: [], + workflow_execution: true, + note: `Durable Runtime ${runtimeClaim.runtime_profile_version}; interoperability ${runtimeClaim.interop_profile_version}.`, + }, { name: interopClaim.implementation.application, language: "TypeScript", @@ -129,6 +150,7 @@ writeFileSync( console.log(`Copied Connect schemas from ${schemaSource}`); console.log(`Copied interoperability schemas from ${interopSchemaSource}`); +console.log(`Copied Runtime 0.2 schemas from ${runtimeSchemaSource}`); console.log(`Copied the homepage design and murmuration from ${introductionSource}`); console.log(`Copied shared theme values from ${connectThemeSource}`); console.log(`Generated conformance data from ${claims.length + 1} implementation claims`); @@ -138,6 +160,15 @@ function yaml(path) { return parse(readFileSync(path, "utf8")); } +function latestEvidenceDate(claim) { + const verifiedAt = claim.evidence + .map((entry) => entry.verified_at) + .filter(Boolean) + .sort() + .at(-1); + return verifiedAt ? String(verifiedAt).slice(0, 10) : null; +} + function required(path, label) { if (!existsSync(path)) { throw new Error(`${label} is missing: ${path}`); diff --git a/site-sources.json b/site-sources.json index 1a7a568..650eedd 100644 --- a/site-sources.json +++ b/site-sources.json @@ -1,26 +1,26 @@ { "specification": { "repository": "mdbase-dev/mdbase-spec", - "ref": "88f4d64ff2d54df23631db9d03a95eba566b4eee" + "ref": "92f0032a086cc265d3415189cbf6245e369b13c4" }, "connect": { "repository": "mdbase-dev/mdbase-connect", - "ref": "81199416aa67de140778b3d81d8f6bdbdac6fba6" + "ref": "111ca0a68636414167d9ffcbc32c37f14a6cd804" }, "contracts": { "repository": "mdbase-dev/mdbase-contracts", - "ref": "f1c8bc239b5e156994ffddf46f2149ca18557818" + "ref": "1367ddb4fb0de0bf121bec65c9316ae51f7f2198" }, "implementations": [ { "id": "rust", "repository": "callumalpass/mdbase-rs", - "ref": "323766220950371a3856d84eeb05e51ab106fd72" + "ref": "fd3808c0897882e37e21ab369b541a5aaa0b676c" }, { "id": "typescript", "repository": "callumalpass/mdbase", - "ref": "a45632ab51f97f55dab05ad55d4fe91bdb118183" + "ref": "83746e98825a02635ec10a2cad2ea28d5e4b0223" } ] } diff --git a/src/components/DocsLayout.astro b/src/components/DocsLayout.astro index ff839ef..86e5e97 100644 --- a/src/components/DocsLayout.astro +++ b/src/components/DocsLayout.astro @@ -66,7 +66,7 @@ const docGroups = [
@mdbase/connect - 0.1.0-beta.7 + 0.1.0-beta.12
diff --git a/src/data/conformance.json b/src/data/conformance.json index ede3b94..52f5759 100644 --- a/src/data/conformance.json +++ b/src/data/conformance.json @@ -5,7 +5,7 @@ { "name": "mdbase-rs", "language": "Rust", - "version": "0.4.0-rc.2", + "version": "0.4.0-rc.3", "repository": "https://github.com/callumalpass/mdbase-rs", "evidence_date": "2026-07-28", "profiles": [ @@ -26,7 +26,7 @@ { "name": "mdbase", "language": "TypeScript", - "version": "0.3.0-rc.3", + "version": "0.3.0-rc.4", "repository": "https://github.com/callumalpass/mdbase", "evidence_date": "2026-07-28", "profiles": [ @@ -45,6 +45,22 @@ "workflow_execution": false, "note": "The claim uses the machine-readable v0.3 atomic profiles." }, + { + "name": "mdbase-runtime-rs", + "language": "Rust", + "version": "0.3.0-rc.1", + "repository": "https://github.com/callumalpass/mdbase-rs", + "evidence_date": "2026-07-29", + "profiles": [ + "core_read", + "cel", + "event_action_interop/0.1", + "runtime/0.2" + ], + "optional_features": [], + "workflow_execution": true, + "note": "Durable Runtime 0.2; interoperability 0.1." + }, { "name": "mdbase-interop", "language": "TypeScript", @@ -72,8 +88,7 @@ "core_write", "lifecycle", "event_action_interop/0.1", - "runtime_contracts/0.1", - "workflow/0.1", + "runtime/0.2", "watch" ] } diff --git a/src/data/contracts.json b/src/data/contracts.json index f1c0f02..0606d58 100644 --- a/src/data/contracts.json +++ b/src/data/contracts.json @@ -28,6 +28,166 @@ ] } ] + }, + { + "id": "mdbase.record.created", + "version": "1.0.0", + "name": "Record created", + "description": "Published after a record is created and derived collection state is consistent.", + "contract_type": "event", + "digest": "sha256:4c157f94e63d1f4fb1a74da640e03264ccb6c78cfa9f88ddb71b09c8bd6d1d44", + "artifact": "./artifacts/contracts/mdbase.record.created/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.record.deleted", + "version": "1.0.0", + "name": "Record deleted", + "description": "Published after a record is deleted and derived collection state is consistent.", + "contract_type": "event", + "digest": "sha256:cb4f4a09f9f9b1f7f5e2207de0074ce02fd89008c08386626fd964a29299f956", + "artifact": "./artifacts/contracts/mdbase.record.deleted/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.record.modified", + "version": "1.0.0", + "name": "Record modified", + "description": "Published after a record is modified and derived collection state is consistent.", + "contract_type": "event", + "digest": "sha256:2f670ef18bf7330fbba73861f41889ee946b33644074ca7366e88913f6e4d88a", + "artifact": "./artifacts/contracts/mdbase.record.modified/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.record.renamed", + "version": "1.0.0", + "name": "Record renamed", + "description": "Published after a record is renamed and derived collection state is consistent.", + "contract_type": "event", + "digest": "sha256:b6c507198379ba48408c9b48161a1c22d46dad2d291691af449167618484bb4c", + "artifact": "./artifacts/contracts/mdbase.record.renamed/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.action-attempt", + "version": "1.0.0", + "name": "Durable action attempt", + "description": "Durable invocation intent and outcome evidence using the shared interoperability envelope.", + "contract_type": "record", + "digest": "sha256:04c1bf55580d0d280d2be645c56177da25c2d0129f8fa71def7d5f96cf0ea629", + "artifact": "./artifacts/contracts/mdbase.runtime.action-attempt/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.capability-grant", + "version": "1.0.0", + "name": "Capability grant evidence", + "description": "A materialized authorization grant scoped independently from contract conformance.", + "contract_type": "record", + "digest": "sha256:1cd3a2ff5fdc9294f766e538c371ed278ad4c54452480ba6fcc2870be08b47a1", + "artifact": "./artifacts/contracts/mdbase.runtime.capability-grant/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.checkpoint", + "version": "1.0.0", + "name": "Runtime checkpoint", + "description": "A durable, lease-safe workflow continuation.", + "contract_type": "record", + "digest": "sha256:6413676d7482a71b31cbe4abf8c5a543a54a530ef62f669f8ef8e21bcc6bc237", + "artifact": "./artifacts/contracts/mdbase.runtime.checkpoint/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.dead-letter", + "version": "1.0.0", + "name": "Runtime dead letter", + "description": "Retained event or action evidence that cannot be processed safely.", + "contract_type": "record", + "digest": "sha256:737d08bad6662e087c3393f6f17d24374f258d60b41112a3f864cb5138af8edd", + "artifact": "./artifacts/contracts/mdbase.runtime.dead-letter/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.diagnostic", + "version": "1.0.0", + "name": "Runtime diagnostic", + "description": "A machine-readable durable runtime diagnostic.", + "contract_type": "record", + "digest": "sha256:2e7379de9ceefa6435e9c66a71f4292e4805e8038ed6496c83dad946900267f6", + "artifact": "./artifacts/contracts/mdbase.runtime.diagnostic/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.policy", + "version": "1.0.0", + "name": "Runtime policy", + "description": "Local authorization, executor, limit, and provider-selection policy.", + "contract_type": "record", + "digest": "sha256:319a9bd4ca62a246871ee52e0ef0250a82c240cb14a95f88e4a505ad04450300", + "artifact": "./artifacts/contracts/mdbase.runtime.policy/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.provider-registration", + "version": "1.0.0", + "name": "Provider registration evidence", + "description": "An optional audit snapshot of a verified interoperability declaration; it never activates code.", + "contract_type": "record", + "digest": "sha256:97d157efaeb311745fc84e2cbe01e8147aaf44109384090c154527b68838d766", + "artifact": "./artifacts/contracts/mdbase.runtime.provider-registration/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.run.cancel", + "version": "1.0.0", + "name": "Cancel durable runtime run", + "description": "Request cooperative cancellation of one durable runtime run.", + "contract_type": "action", + "digest": "sha256:949f039334cfc3f096beb870419baa08c3b40679b184e9849f9330a34a6f524d", + "artifact": "./artifacts/contracts/mdbase.runtime.run.cancel/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.run", + "version": "1.0.0", + "name": "Durable run", + "description": "The durable state and immutable admitted plan for one workflow execution.", + "contract_type": "record", + "digest": "sha256:7e46270c951e6634fe25519dff10523652365f8adf30b034f01e29e1ca48cadb", + "artifact": "./artifacts/contracts/mdbase.runtime.run/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.timer.fired", + "version": "1.0.0", + "name": "Runtime timer fired", + "description": "Published with scheduling evidence and opaque application data when the current generation of a durable timer fires.", + "contract_type": "event", + "digest": "sha256:9381a2c6778a3268758ac235e3c3b66991a769fa8e19f7303d4404b1e7e62bc6", + "artifact": "./artifacts/contracts/mdbase.runtime.timer.fired/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.timer", + "version": "1.0.0", + "name": "Runtime timer", + "description": "A generation-safe one-shot timer that publishes through the interoperability profile.", + "contract_type": "record", + "digest": "sha256:0500a421e81eef09c37bc4ef559e3805843e87a6e1b2cf2a393da4d76d4384fc", + "artifact": "./artifacts/contracts/mdbase.runtime.timer/1.0.0.md", + "standards": [] + }, + { + "id": "mdbase.runtime.workflow", + "version": "1.0.0", + "name": "Durable workflow", + "description": "A portable workflow whose event and action references are resolved and pinned at admission.", + "contract_type": "record", + "digest": "sha256:7cf8ed016bf6232d9c1abc8d8bb9bb25fd2af1ffa6c6094317aa65baf3c31049", + "artifact": "./artifacts/contracts/mdbase.runtime.workflow/1.0.0.md", + "standards": [] } ], "packs": [ @@ -46,6 +206,58 @@ ], "resource_count": 3, "featured": true + }, + { + "id": "mdbase.runtime.standard", + "version": "0.2.0", + "name": "mdbase durable runtime standard library", + "description": "Runtime record implementations and inspectable built-in event/action contracts.", + "digest": "sha256:998fa577db5ba3ac442f5ae06e721e247b9519613042b744cc4494e72c84e2e6", + "provision": "./packs/mdbase.runtime.standard/0.2.0.json", + "provides": [ + { + "id": "mdbase.runtime.action-attempt", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.capability-grant", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.checkpoint", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.dead-letter", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.diagnostic", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.policy", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.provider-registration", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.run", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.timer", + "version": "1.0.0" + }, + { + "id": "mdbase.runtime.workflow", + "version": "1.0.0" + } + ], + "resource_count": 43, + "featured": true } ] } diff --git a/src/pages/implementations/index.astro b/src/pages/implementations/index.astro index c0e583b..064cfa0 100644 --- a/src/pages/implementations/index.astro +++ b/src/pages/implementations/index.astro @@ -104,13 +104,13 @@ import conformance from "../../data/conformance.json";
- Current Rust workflow claim: pending + Runtime 0.2 has separate evidence.

- The Rust runtime has durable workflow tests, including recovery and - timers. Its public conformance file currently records{" "} - runtime_execution: false. A separate{" "} - workflow/0.1 claim will follow the shared execution - fixture. + The mdbase-runtime-rs row claims{" "} + runtime/0.2 for durable admission, exact bindings, + recovery, and timers. The mdbase-rs row remains a + collection-engine claim; installing the collection crate alone does + not imply workflow execution.

diff --git a/src/pages/runtime/index.astro b/src/pages/runtime/index.astro index 5dc3bd0..16947a5 100644 --- a/src/pages/runtime/index.astro +++ b/src/pages/runtime/index.astro @@ -4,71 +4,72 @@ import BaseLayout from "../../layouts/BaseLayout.astro";
-

Four related layers

+

Four layers, one contract model

+

+ An application can consume a record type, publish an event, or provide an + action without becoming a workflow engine. Each layer has one job. +

-

Collection semantics

+

1. Contracts define

- Loading, typing, validation, CEL queries, links, saved views, - revision-safe mutations, lifecycle policy, and watching. These - behaviors operate directly on the collection. + Record, event, and action artifacts share one identity, SemVer, + JSON Schema, digest, registry, and conflict model.

-

Event/action interoperability 0.1

+

2. Applications connect

- CloudEvents envelopes, exact contract evidence, role declarations, - boundary validation, and one-provider action resolution. The - browser-safe reference bridge implements this layer. + CloudEvents and action envelopes carry exact contract evidence. + Source and provider declarations bind live implementations to + artifacts. Events are multicast; actions resolve to one provider.

-

Workflow execution 0.1

+

3. The runtime admits

- Durable journals, idempotent actions, timers, recovery, and - provider-neutral execution. The Rust mdbase-runtime{" "} - crate implements this execution layer with in-memory, SQLite, and - PostgreSQL storage. + A workflow names compatible contracts. Admission resolves and pins + the exact event source, action provider, handler, versions, and + digests that the run may use.

-

Connect embedding

+

4. Durable execution recovers

- Connect compiles exact application grants into transport behavior, - supplies local or hosted collection authorities, and routes - notification signals. It can bind the same portable envelopes - durably without becoming mandatory for local applications. + Runs, attempts, leases, checkpoints, timers, cursors, and outcomes + survive crashes. The authorization host remains the final boundary + for every dispatch.

@@ -76,42 +77,125 @@ import BaseLayout from "../../layouts/BaseLayout.astro";
-

Conformance profiles

+

Readable requirements become exact evidence

+

+ Authors name behavior and a compatible version. The admitted plan records + exact immutable bindings before any action runs. +

+
{`type: runtime_workflow
+id: canvas.zone.set-status
+version: 1.0.0
+name: Set status from canvas zone
+enabled: true
+
+triggers:
+  - id: drop-on-status-zone
+    event:
+      id: canvas.drop
+      version: ^1.0.0
+
+steps:
+  - id: patch-task-status
+    action:
+      id: mdbase.record.patch
+      version: ^2.0.0
+    provider:
+      application: task-editor
+    input:
+      path:
+        $expr: event.data.record.path
+      patch:
+        status:
+          $expr: event.data.target.value`}
+
+ Compatibility is not authority. +

+ A matching schema or SemVer range never grants access. The runtime + admits exact candidates, and the embedding host still authorizes the + actual event delivery and action dispatch. +

+
+
+ +
+

Standard runtime records

- Conformance uses atomic profiles. Interoperability bridges claim{" "} - event_action_interop/0.1. Durable workflow engines add{" "} - workflow/0.1 after publishing shared fixture evidence. + The mdbase.runtime.standard@0.2.0 pack supplies ordinary + mdbase types, contracts, and JSON Schemas. Runtime state stays inspectable + with the same collection tools as other records.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
RecordsPurpose
runtime_workflow, runtime_policyPortable workflow intent, provider selection, and capability grants
runtime_run, runtime_action_attemptRun state, exact bindings, requests, attempts, and outcomes
runtime_checkpoint, runtime_timerRecovery position, leases, one-shot scheduling, and missed-run policy
runtime_diagnostic, runtime_dead_letterPortable failure evidence and work that needs operator attention
+

+ + Open the workflow JSON Schema + + {" ยท "} + + Inspect the complete standard pack + +

+
+ +
+

Profiles and implementations

- + - - + + - - - - - - - - + + + - - + +
Profile Covered behaviorSeparate profilesDoes not imply
event_action_interop/0.1CloudEvents, declarations, validation, authorization boundaries, multicast, and action resolutionWorkflow syntax, scheduling, retries, persistence, or recoveryCloudEvents, declarations, validation, multicast, action resolution, and exact evidencePersistence, retries, timers, or workflow recovery
runtime_contracts/0.1Legacy runtime-host behavior during migration to the interoperability substrateThe portable event/action profile and durable execution evidence
workflow/0.1Durable workflow execution, action idempotency, timers, and recoveryAll collection semantics unless separately claimedruntime/0.2Admission, deterministic execution, journals, attempts, leases, recovery, cancellation, and timersAuthorization or unrelated collection profiles
watchReal collection event delivery and orderingRuntime provider or workflow behaviorCollection change delivery and orderingPortable event contracts or durable workflow behavior
+

+ The TypeScript{" "} + @callumalpass/mdbase-runtime + {" "}package provides browser-safe record validation and admission. The + Rust{" "} + mdbase-runtime + {" "}crate supplies durable in-memory, SQLite, and PostgreSQL execution. +

diff --git a/src/pages/sdk/notifications/index.astro b/src/pages/sdk/notifications/index.astro index 95389f6..e1240bc 100644 --- a/src/pages/sdk/notifications/index.astro +++ b/src/pages/sdk/notifications/index.astro @@ -8,10 +8,10 @@ const criterion = `{ "id": "task.changed", "event": { "id": "mdbase.record.modified", - "version": 1 + "version": "1.0.0" }, "if": { - "$expr": "\\"task\\" in event.payload.types" + "$expr": "\\"task\\" in event.data.types" }, "debounce": "5s", "minimum_interval": "1m", @@ -89,10 +89,10 @@ if (await deliveries.claim(event.delivery_id)) {

Declare criteria in the application manifest

- Criteria use canonical runtime event contracts and CEL. Presentation is - static manifest data, so private record content cannot be interpolated into - a push. The approved grant stores an exact snapshot of each selected - criterion. + Criteria use canonical Runtime 0.2 event contracts and CEL over CloudEvent + {" "}data. Presentation is static manifest data, so private + record content cannot be interpolated into a push. The approved grant + stores an exact snapshot of each selected criterion.

Register browser push from a user action

diff --git a/src/pages/sdk/portable-apps/index.astro b/src/pages/sdk/portable-apps/index.astro index a80acca..fe95d26 100644 --- a/src/pages/sdk/portable-apps/index.astro +++ b/src/pages/sdk/portable-apps/index.astro @@ -15,7 +15,7 @@ const manifest = `{ }`; const browserBundle = ``;