openvibers/openvibe.contracts Commits
Contracts 0.143.0: a watch action can run the owner's personal agent (#99)
Changes
@@@ -4,6 +4,11 @@ All notable changes to `openvibe-contracts`. Releases are git tags (`vX.Y.Z`) thfrom `https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/<tag>`. Before v0.30.0,the notes were in the tag and commit messages (`git tag -n1`).++## 0.143.0 — 2026-10-11++++- `watch.watch@1` (and the watch write schemas that list actions): an action of kind `actor-agent` runs one of the watch++ owner's personal agents on OpenVibe.Actor (`actor.agent.run`) with the firing as its input after an optional note.++## 0.142.0 — 2026-10-11- Games milestone M3 (scripted mods): `games.script.run` and the per-mod script bindings `games.players.read`,@@@ -5,98 +5,672 @@"description": "watch.watch@1: a user-defined persistent observation (plan T18). It names a source (a push event, a webhook, a conditional HTTP URL, a feed or API, a local Node probe, or an expensive Run check), how a value is extracted, how it is compared with the last observation, the condition that fires, the actions it wakes, its budget and its retention. Carrier preference is binding: an event or webhook source is used when one exists, then ETag/Last-Modified, then a feed, then an API, and browser polling through Run only when none works. A price or stock is 'as of' the observation, null when it stated none.","type": "object","additionalProperties": false,-- "required": ["id", "owner", "status", "source", "extraction", "condition", "action", "created_at", "updated_at"],++ "required": [++ "id",++ "owner",++ "status",++ "source",++ "extraction",++ "condition",++ "action",++ "created_at",++ "updated_at"++ ],"properties": {-- "id": { "type": "string", "pattern": "^wch_[0-9A-HJKMNP-TV-Z]{26}$" },-- "project_id": { "type": ["string", "null"], "pattern": "^prj_[0-9A-HJKMNP-TV-Z]{26}$" },-- "owner": { "type": "string", "description": "The acting person or agent the watch belongs to: usr_…, agt_… or svc:…." },-- "name": { "type": "string", "minLength": 1, "maxLength": 120 },-- "labels": { "type": "object", "additionalProperties": { "type": "string", "maxLength": 60 } },-- "status": { "enum": ["active", "paused", "disabled", "failed"] },-- "source": { "$ref": "#/$defs/source" },-- "cadence": { "$ref": "#/$defs/cadence" },-- "extraction": { "$ref": "#/$defs/extraction" },-- "comparison": { "$ref": "#/$defs/comparison" },-- "condition": { "$ref": "#/$defs/condition" },-- "action": { "type": "array", "minItems": 1, "maxItems": 8, "items": { "$ref": "#/$defs/action" } },-- "budget": { "$ref": "#/$defs/budget" },-- "retention": { "$ref": "#/$defs/retention" },-- "health": { "type": ["object", "null"], "additionalProperties": true },-- "created_at": { "type": "string", "format": "date-time" },-- "updated_at": { "type": "string", "format": "date-time" }++ "id": {++ "type": "string",++ "pattern": "^wch_[0-9A-HJKMNP-TV-Z]{26}$"++ },++ "project_id": {++ "type": [++ "string",++ "null"++ ],++ "pattern": "^prj_[0-9A-HJKMNP-TV-Z]{26}$"++ },++ "owner": {++ "type": "string",++ "description": "The acting person or agent the watch belongs to: usr_…, agt_… or svc:…."++ },++ "name": {++ "type": "string",++ "minLength": 1,++ "maxLength": 120++ },++ "labels": {++ "type": "object",++ "additionalProperties": {++ "type": "string",++ "maxLength": 60++ }++ },++ "status": {++ "enum": [++ "active",++ "paused",++ "disabled",++ "failed"++ ]++ },++ "source": {++ "$ref": "#/$defs/source"++ },++ "cadence": {++ "$ref": "#/$defs/cadence"++ },++ "extraction": {++ "$ref": "#/$defs/extraction"++ },++ "comparison": {++ "$ref": "#/$defs/comparison"++ },++ "condition": {++ "$ref": "#/$defs/condition"++ },++ "action": {++ "type": "array",++ "minItems": 1,++ "maxItems": 8,++ "items": {++ "$ref": "#/$defs/action"++ }++ },++ "budget": {++ "$ref": "#/$defs/budget"++ },++ "retention": {++ "$ref": "#/$defs/retention"++ },++ "health": {++ "type": [++ "object",++ "null"++ ],++ "additionalProperties": true++ },++ "created_at": {++ "type": "string",++ "format": "date-time"++ },++ "updated_at": {++ "type": "string",++ "format": "date-time"++ }},"$defs": {"auth": {"type": "object",-- "required": ["mode"],++ "required": [++ "mode"++ ],"additionalProperties": false,"properties": {-- "mode": { "enum": ["none", "header", "bearer", "query"] },-- "env": { "type": ["string", "null"], "pattern": "^WATCH_CRED_[A-Z0-9_]{2,60}$", "description": "The name of the environment variable holding the credential; Watch reads it by name at fetch time and never stores the value." },-- "header": { "type": ["string", "null"] },-- "param": { "type": ["string", "null"] }++ "mode": {++ "enum": [++ "none",++ "header",++ "bearer",++ "query"++ ]++ },++ "env": {++ "type": [++ "string",++ "null"++ ],++ "pattern": "^WATCH_CRED_[A-Z0-9_]{2,60}$",++ "description": "The name of the environment variable holding the credential; Watch reads it by name at fetch time and never stores the value."++ },++ "header": {++ "type": [++ "string",++ "null"++ ]++ },++ "param": {++ "type": [++ "string",++ "null"++ ]++ }}},"source": {"oneOf": [-- { "type": "object", "required": ["kind"], "additionalProperties": false,-- "properties": { "kind": { "const": "webhook" }, "endpoint": { "type": "string", "pattern": "^/internal/hooks/" } } },-- { "type": "object", "required": ["kind", "pattern"], "additionalProperties": false,-- "properties": { "kind": { "const": "event" }, "pattern": { "type": "string", "pattern": "^[a-z][a-z0-9_-]*(\\.[a-z0-9_*]+){1,}$" },-- "filter": { "type": ["object", "null"], "additionalProperties": { "type": ["string", "number", "boolean", "null"] } } } },-- { "type": "object", "required": ["kind", "url"], "additionalProperties": false,-- "properties": { "kind": { "enum": ["http", "feed", "api"] }, "url": { "type": "string", "format": "uri", "pattern": "^https?://" },-- "method": { "enum": ["GET", "HEAD"] }, "format": { "enum": ["rss", "atom", "json", null] },-- "items_path": { "type": ["string", "null"] }, "fields": { "type": ["object", "null"], "additionalProperties": { "type": "string" } },-- "auth": { "$ref": "#/$defs/auth" }, "headers": { "type": "object", "additionalProperties": { "type": "string" } },-- "conditional": { "type": "boolean", "description": "Send If-None-Match / If-Modified-Since from the stored ETag/Last-Modified when the server gave one." } } },-- { "type": "object", "required": ["kind", "node_id", "probe"], "additionalProperties": false,-- "properties": { "kind": { "const": "node" }, "node_id": { "type": "string" }, "probe": { "type": "object", "additionalProperties": true } } },-- { "type": "object", "required": ["kind", "runtime", "steps"], "additionalProperties": false,-- "properties": { "kind": { "const": "run" }, "runtime": { "enum": ["browser", "code", "desktop"] },-- "url": { "type": ["string", "null"], "format": "uri" }, "steps": { "type": "array", "minItems": 1, "items": { "type": "object", "additionalProperties": true } },-- "workload": { "$ref": "../platform/workload-requirements.v1.json" } } }++ {++ "type": "object",++ "required": [++ "kind"++ ],++ "additionalProperties": false,++ "properties": {++ "kind": {++ "const": "webhook"++ },++ "endpoint": {++ "type": "string",++ "pattern": "^/internal/hooks/"++ }++ }++ },++ {++ "type": "object",++ "required": [++ "kind",++ "pattern"++ ],++ "additionalProperties": false,++ "properties": {++ "kind": {++ "const": "event"++ },++ "pattern": {++ "type": "string",++ "pattern": "^[a-z][a-z0-9_-]*(\\.[a-z0-9_*]+){1,}$"++ },++ "filter": {++ "type": [++ "object",++ "null"++ ],++ "additionalProperties": {++ "type": [++ "string",++ "number",++ "boolean",++ "null"++ ]++ }++ }++ }++ },++ {++ "type": "object",++ "required": [++ "kind",++ "url"++ ],++ "additionalProperties": false,++ "properties": {++ "kind": {++ "enum": [++ "http",++ "feed",++ "api"++ ]++ },++ "url": {++ "type": "string",++ "format": "uri",++ "pattern": "^https?://"++ },++ "method": {++ "enum": [++ "GET",++ "HEAD"++ ]++ },++ "format": {++ "enum": [++ "rss",++ "atom",++ "json",++ null++ ]++ },++ "items_path": {++ "type": [++ "string",++ "null"++ ]++ },++ "fields": {++ "type": [++ "object",++ "null"++ ],++ "additionalProperties": {++ "type": "string"++ }++ },++ "auth": {++ "$ref": "#/$defs/auth"++ },++ "headers": {++ "type": "object",++ "additionalProperties": {++ "type": "string"++ }++ },++ "conditional": {++ "type": "boolean",++ "description": "Send If-None-Match / If-Modified-Since from the stored ETag/Last-Modified when the server gave one."++ }++ }++ },++ {++ "type": "object",++ "required": [++ "kind",++ "node_id",++ "probe"++ ],++ "additionalProperties": false,++ "properties": {++ "kind": {++ "const": "node"++ },++ "node_id": {++ "type": "string"++ },++ "probe": {++ "type": "object",++ "additionalProperties": true++ }++ }++ },++ {++ "type": "object",++ "required": [++ "kind",++ "runtime",++ "steps"++ ],++ "additionalProperties": false,++ "properties": {++ "kind": {++ "const": "run"++ },++ "runtime": {++ "enum": [++ "browser",++ "code",++ "desktop"++ ]++ },++ "url": {++ "type": [++ "string",++ "null"++ ],++ "format": "uri"++ },++ "steps": {++ "type": "array",++ "minItems": 1,++ "items": {++ "type": "object",++ "additionalProperties": true++ }++ },++ "workload": {++ "$ref": "../platform/workload-requirements.v1.json"++ }++ }++ }]},"cadence": {-- "type": ["object", "null"], "additionalProperties": false,++ "type": [++ "object",++ "null"++ ],++ "additionalProperties": false,"description": "Required for http/feed/api/node sources; null for event/webhook sources (they never poll).",-- "properties": { "every_sec": { "type": "integer", "minimum": 30, "maximum": 2592000 }, "jitter_sec": { "type": "integer", "minimum": 0, "maximum": 3600 }, "timezone": { "type": ["string", "null"] } }++ "properties": {++ "every_sec": {++ "type": "integer",++ "minimum": 30,++ "maximum": 2592000++ },++ "jitter_sec": {++ "type": "integer",++ "minimum": 0,++ "maximum": 3600++ },++ "timezone": {++ "type": [++ "string",++ "null"++ ]++ }++ }},"extraction": {-- "type": "object", "additionalProperties": false,-- "properties": { "kind": { "enum": ["text", "html", "json", "regex", "css", "jsonpath", "ai"] },-- "selector": { "type": ["string", "null"] }, "fields": { "type": ["object", "null"], "additionalProperties": { "type": "string" } },-- "value_path": { "type": ["string", "null"] }, "ai": { "type": ["object", "null"], "additionalProperties": true } }++ "type": "object",++ "additionalProperties": false,++ "properties": {++ "kind": {++ "enum": [++ "text",++ "html",++ "json",++ "regex",++ "css",++ "jsonpath",++ "ai"++ ]++ },++ "selector": {++ "type": [++ "string",++ "null"++ ]++ },++ "fields": {++ "type": [++ "object",++ "null"++ ],++ "additionalProperties": {++ "type": "string"++ }++ },++ "value_path": {++ "type": [++ "string",++ "null"++ ]++ },++ "ai": {++ "type": [++ "object",++ "null"++ ],++ "additionalProperties": true++ }++ }},"comparison": {-- "type": ["object", "null"], "additionalProperties": false,-- "properties": { "mode": { "enum": ["changed", "threshold", "none"] }, "tolerance": { "type": ["number", "null"] }, "percent": { "type": ["number", "null"] } }++ "type": [++ "object",++ "null"++ ],++ "additionalProperties": false,++ "properties": {++ "mode": {++ "enum": [++ "changed",++ "threshold",++ "none"++ ]++ },++ "tolerance": {++ "type": [++ "number",++ "null"++ ]++ },++ "percent": {++ "type": [++ "number",++ "null"++ ]++ }++ }},"condition": {-- "type": "object", "additionalProperties": false,-- "properties": { "op": { "enum": ["changed", "gt", "gte", "lt", "lte", "eq", "ne", "contains", "matches", "exists", "absent"] },-- "value": { "type": ["string", "number", "null"] }, "for_sec": { "type": ["integer", "null"], "minimum": 0 } }-- },-- "action": { "oneOf": [-- { "type": "object", "required": ["kind"], "additionalProperties": false,-- "properties": { "kind": { "const": "notification" }, "category": { "enum": ["service", "social", "system"] }, "priority": { "enum": ["low", "normal", "high", "critical"] } } },-- { "type": "object", "required": ["kind", "event_type"], "additionalProperties": false,-- "properties": { "kind": { "const": "event" }, "event_type": { "type": "string" }, "payload": { "type": ["object", "null"], "additionalProperties": true } } },-- { "type": "object", "required": ["kind", "url", "secret_env"], "additionalProperties": false,-- "properties": { "kind": { "const": "webhook" }, "url": { "type": "string", "format": "uri", "pattern": "^https://" }, "secret_env": { "type": "string", "pattern": "^WATCH_HOOK_[A-Z0-9_]{2,60}$" } } },-- { "type": "object", "required": ["kind", "brief"], "additionalProperties": false,-- "properties": { "kind": { "const": "actor-task" }, "brief": { "type": "string", "maxLength": 8000 }, "budget_usd": { "type": ["number", "null"] } } },-- { "type": "object", "required": ["kind", "repo", "brief"], "additionalProperties": false,-- "properties": { "kind": { "const": "codes-run" }, "repo": { "type": "string" }, "brief": { "type": "string", "maxLength": 8000 } } },-- { "type": "object", "required": ["kind", "runtime", "command"], "additionalProperties": false,-- "properties": { "kind": { "const": "run-job" }, "runtime": { "enum": ["function", "code", "browser", "linux"] }, "command": { "type": "string" }, "workload": { "type": ["object", "null"], "additionalProperties": true } } } ] },++ "type": "object",++ "additionalProperties": false,++ "properties": {++ "op": {++ "enum": [++ "changed",++ "gt",++ "gte",++ "lt",++ "lte",++ "eq",++ "ne",++ "contains",++ "matches",++ "exists",++ "absent"++ ]++ },++ "value": {++ "type": [++ "string",++ "number",++ "null"++ ]++ },++ "for_sec": {++ "type": [++ "integer",++ "null"++ ],++ "minimum": 0++ }++ }++ },++ "action": {++ "oneOf": [++ {++ "type": "object",++ "required": [++ "kind"++ ],++ "additionalProperties": false,++ "properties": {++ "kind": {++ "const": "notification"++ },++ "category": {++ "enum": [++ "service",++ "social",++ "system"++ ]++ },++ "priority": {++ "enum": [++ "low",++ "normal",++ "high",++ "critical"++ ]++ }++ }++ },++ {++ "type": "object",++ "required": [++ "kind",++ "event_type"++ ],++ "additionalProperties": false,++ "properties": {++ "kind": {++ "const": "event"++ },++ "event_type": {++ "type": "string"++ },++ "payload": {++ "type": [++ "object",++ "null"++ ],++ "additionalProperties": true++ }++ }++ },++ {++ "type": "object",++ "required": [++ "kind",++ "url",++ "secret_env"++ ],++ "additionalProperties": false,++ "properties": {++ "kind": {++ "const": "webhook"++ },++ "url": {++ "type": "string",++ "format": "uri",++ "pattern": "^https://"++ },++ "secret_env": {++ "type": "string",++ "pattern": "^WATCH_HOOK_[A-Z0-9_]{2,60}$"++ }++ }++ },++ {++ "type": "object",++ "required": [++ "kind",++ "brief"++ ],++ "additionalProperties": false,++ "properties": {++ "kind": {++ "const": "actor-task"++ },++ "brief": {++ "type": "string",++ "maxLength": 8000++ },++ "budget_usd": {++ "type": [++ "number",++ "null"++ ]++ }++ }++ },++ {++ "type": "object",++ "required": [++ "kind",++ "agent_id"++ ],++ "additionalProperties": false,++ "description": "Run one of the watch owner's personal agents on OpenVibe.Actor (actor.agent.run, Actor 0.140.0 contracts): the firing is the run's input, after the optional note. The agent must belong to the watch's owner; its own budgets and daily cap apply.",++ "properties": {++ "kind": {++ "const": "actor-agent"++ },++ "agent_id": {++ "type": "string",++ "pattern": "^agt_[0-9A-HJKMNP-TV-Z]{26}$"++ },++ "note": {++ "type": [++ "string",++ "null"++ ],++ "maxLength": 2000++ }++ }++ },++ {++ "type": "object",++ "required": [++ "kind",++ "repo",++ "brief"++ ],++ "additionalProperties": false,++ "properties": {++ "kind": {++ "const": "codes-run"++ },++ "repo": {++ "type": "string"++ },++ "brief": {++ "type": "string",++ "maxLength": 8000++ }++ }++ },++ {++ "type": "object",++ "required": [++ "kind",++ "runtime",++ "command"++ ],++ "additionalProperties": false,++ "properties": {++ "kind": {++ "const": "run-job"++ },++ "runtime": {++ "enum": [++ "function",++ "code",++ "browser",++ "linux"++ ]++ },++ "command": {++ "type": "string"++ },++ "workload": {++ "type": [++ "object",++ "null"++ ],++ "additionalProperties": true++ }++ }++ }++ ]++ },"budget": {-- "type": "object", "additionalProperties": false,-- "properties": { "checks_per_day": { "type": ["integer", "null"], "minimum": 1 }, "usd_per_month": { "type": ["number", "null"], "minimum": 0 },-- "max_runtime_ms": { "type": ["integer", "null"], "minimum": 100 }, "max_bytes": { "type": ["integer", "null"], "minimum": 1024 } }++ "type": "object",++ "additionalProperties": false,++ "properties": {++ "checks_per_day": {++ "type": [++ "integer",++ "null"++ ],++ "minimum": 1++ },++ "usd_per_month": {++ "type": [++ "number",++ "null"++ ],++ "minimum": 0++ },++ "max_runtime_ms": {++ "type": [++ "integer",++ "null"++ ],++ "minimum": 100++ },++ "max_bytes": {++ "type": [++ "integer",++ "null"++ ],++ "minimum": 1024++ }++ }},-- "retention": { "type": "object", "additionalProperties": false,-- "properties": { "observations_days": { "type": ["integer", "null"], "minimum": 1 }, "keep_snapshots": { "type": "boolean" } } }++ "retention": {++ "type": "object",++ "additionalProperties": false,++ "properties": {++ "observations_days": {++ "type": [++ "integer",++ "null"++ ],++ "minimum": 1++ },++ "keep_snapshots": {++ "type": "boolean"++ }++ }++ }}}nnew file mode 100644@@@ -0,0 +1,67 @@++{++ "id": "wch_01JAB2C3D4E5F6G7H8J9K0MNPQ",++ "project_id": null,++ "owner": "usr_01JAB2C3D4E5F6G7H8J9K0MNPR",++ "name": "Steam Deck OLED price",++ "labels": {++ "topic": "hardware"++ },++ "status": "active",++ "source": {++ "kind": "api",++ "url": "https://openvibe.deals/api/offers/steam-deck-oled",++ "method": "GET",++ "format": "json",++ "items_path": "offers",++ "fields": {++ "price": "price",++ "currency": "currency"++ },++ "auth": {++ "mode": "none"++ },++ "headers": {},++ "conditional": true++ },++ "cadence": {++ "every_sec": 3600,++ "jitter_sec": 60,++ "timezone": null++ },++ "extraction": {++ "kind": "jsonpath",++ "selector": null,++ "fields": null,++ "value_path": "$.offers[0].price",++ "ai": null++ },++ "comparison": {++ "mode": "threshold",++ "tolerance": 0.01,++ "percent": null++ },++ "condition": {++ "op": "lt",++ "value": 199,++ "for_sec": null++ },++ "action": [++ {++ "kind": "actor-agent",++ "agent_id": "agent-1"++ }++ ],++ "budget": {++ "checks_per_day": 100,++ "usd_per_month": 0,++ "max_runtime_ms": 20000,++ "max_bytes": 5242880++ },++ "retention": {++ "observations_days": 90,++ "keep_snapshots": false++ },++ "health": null,++ "created_at": "2026-10-05T08:00:00.000Z",++ "updated_at": "2026-10-05T08:00:00.000Z"++}nnew file mode 100644@@@ -0,0 +1,71 @@++{++ "id": "wch_01JAB2C3D4E5F6G7H8J9K0MNPQ",++ "project_id": null,++ "owner": "usr_01JAB2C3D4E5F6G7H8J9K0MNPR",++ "name": "Steam Deck OLED price",++ "labels": {++ "topic": "hardware"++ },++ "status": "active",++ "source": {++ "kind": "api",++ "url": "https://openvibe.deals/api/offers/steam-deck-oled",++ "method": "GET",++ "format": "json",++ "items_path": "offers",++ "fields": {++ "price": "price",++ "currency": "currency"++ },++ "auth": {++ "mode": "none"++ },++ "headers": {},++ "conditional": true++ },++ "cadence": {++ "every_sec": 3600,++ "jitter_sec": 60,++ "timezone": null++ },++ "extraction": {++ "kind": "jsonpath",++ "selector": null,++ "fields": null,++ "value_path": "$.offers[0].price",++ "ai": null++ },++ "comparison": {++ "mode": "threshold",++ "tolerance": 0.01,++ "percent": null++ },++ "condition": {++ "op": "lt",++ "value": 199,++ "for_sec": null++ },++ "action": [++ {++ "kind": "notification"++ },++ {++ "kind": "actor-agent",++ "agent_id": "agt_01M4C49CW34NGX7TR2TNRVFWNW",++ "note": "Summarise what changed and whether it matters to me."++ }++ ],++ "budget": {++ "checks_per_day": 100,++ "usd_per_month": 0,++ "max_runtime_ms": 20000,++ "max_bytes": 5242880++ },++ "retention": {++ "observations_days": 90,++ "keep_snapshots": false++ },++ "health": null,++ "created_at": "2026-10-05T08:00:00.000Z",++ "updated_at": "2026-10-05T08:00:00.000Z"++}@@@ -47185,6 +47185,31 @@}}},++ {++ "type": "object",++ "required": [++ "kind",++ "agent_id"++ ],++ "additionalProperties": false,++ "description": "Run one of the watch owner's personal agents on OpenVibe.Actor (actor.agent.run, Actor 0.140.0 contracts): the firing is the run's input, after the optional note. The agent must belong to the watch's owner; its own budgets and daily cap apply.",++ "properties": {++ "kind": {++ "const": "actor-agent"++ },++ "agent_id": {++ "type": "string",++ "pattern": "^agt_[0-9A-HJKMNP-TV-Z]{26}$"++ },++ "note": {++ "type": [++ "string",++ "null"++ ],++ "maxLength": 2000++ }++ }++ },{"type": "object","required": [@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Actor API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.AI API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Billing API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Blog API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Bot API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Chat API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Community API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Coupons API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Deals API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Events API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Food API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Games API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Host API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Inventory API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Live API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Media API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Network API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.News API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenRestream API",-- "version": "0.142.0",-- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Reviews API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Run API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Search API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Services API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Sources API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Tips API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Tools API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Trade API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.VIP API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Watch API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -2084,6 +2084,31 @@}}},++ {++ "type": "object",++ "required": [++ "kind",++ "agent_id"++ ],++ "additionalProperties": false,++ "description": "Run one of the watch owner's personal agents on OpenVibe.Actor (actor.agent.run, Actor 0.140.0 contracts): the firing is the run's input, after the optional note. The agent must belong to the watch's owner; its own budgets and daily cap apply.",++ "properties": {++ "kind": {++ "const": "actor-agent"++ },++ "agent_id": {++ "type": "string",++ "pattern": "^agt_[0-9A-HJKMNP-TV-Z]{26}$"++ },++ "note": {++ "type": [++ "string",++ "null"++ ],++ "maxLength": 2000++ }++ }++ },{"type": "object","required": [@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Wiki API",-- "version": "0.142.0",-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.143.0",++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -46491,6 +46491,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46529,6 +46534,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46566,6 +46576,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46605,6 +46620,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46642,6 +46662,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46679,6 +46704,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46718,6 +46748,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46755,6 +46790,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46792,6 +46832,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46829,6 +46874,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46868,6 +46918,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46905,6 +46960,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46942,6 +47002,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -46979,6 +47044,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47016,6 +47086,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47055,6 +47130,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47092,6 +47172,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47129,6 +47214,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47166,6 +47256,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47203,6 +47298,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47240,6 +47340,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47279,6 +47384,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47316,6 +47426,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47353,6 +47468,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47390,6 +47510,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47427,6 +47552,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47464,6 +47594,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47501,6 +47636,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47540,6 +47680,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47577,6 +47722,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47614,6 +47764,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47651,6 +47806,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47688,6 +47848,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47725,6 +47890,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47762,6 +47932,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47799,6 +47974,11 @@ export interface Watch {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47959,6 +48139,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -47997,6 +48182,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48034,6 +48224,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48073,6 +48268,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48110,6 +48310,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48147,6 +48352,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48186,6 +48396,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48223,6 +48438,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48260,6 +48480,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48297,6 +48522,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48336,6 +48566,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48373,6 +48608,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48410,6 +48650,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48447,6 +48692,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48484,6 +48734,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48523,6 +48778,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48560,6 +48820,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48597,6 +48862,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48634,6 +48904,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48671,6 +48946,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48708,6 +48988,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48747,6 +49032,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48784,6 +49074,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48821,6 +49116,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48858,6 +49158,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48895,6 +49200,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48932,6 +49242,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -48969,6 +49284,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -49008,6 +49328,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -49045,6 +49370,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -49082,6 +49412,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -49119,6 +49454,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -49156,6 +49496,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -49193,6 +49538,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -49230,6 +49580,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -49267,6 +49622,11 @@ export interface WatchRequest {brief: string;budget_usd?: number | null;}++ | {++ kind: "actor-agent";++ agent_id: string;++ note?: string | null;++ }| {kind: "codes-run";repo: string;@@@ -1,6 +1,6 @@{"name": "openvibe-contracts",-- "version": "0.142.0",++ "version": "0.143.0","description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.","main": "index.js","types": "generated/typescript/index.d.ts",
@@ -4,6 +4,11 @@ All notable changes to `openvibe-contracts`. Releases are git tags (`vX.Y.Z`) th
@@ -4,6 +4,11 @@ All notable changes to `openvibe-contracts`. Releases are git tags (`vX.Y.Z`) th
from `https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/<tag>`. Before v0.30.0,
from `https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/<tag>`. Before v0.30.0,
the notes were in the tag and commit messages (`git tag -n1`).
the notes were in the tag and commit messages (`git tag -n1`).
+## 0.143.0 — 2026-10-11
+
+- `watch.watch@1` (and the watch write schemas that list actions): an action of kind `actor-agent` runs one of the watch
+ owner's personal agents on OpenVibe.Actor (`actor.agent.run`) with the firing as its input after an optional note.
+
## 0.142.0 — 2026-10-11
## 0.142.0 — 2026-10-11
- Games milestone M3 (scripted mods): `games.script.run` and the per-mod script bindings `games.players.read`,
- Games milestone M3 (scripted mods): `games.script.run` and the per-mod script bindings `games.players.read`,
@@ -5,98 +5,672 @@
@@ -5,98 +5,672 @@
"description": "watch.watch@1: a user-defined persistent observation (plan T18). It names a source (a push event, a webhook, a conditional HTTP URL, a feed or API, a local Node probe, or an expensive Run check), how a value is extracted, how it is compared with the last observation, the condition that fires, the actions it wakes, its budget and its retention. Carrier preference is binding: an event or webhook source is used when one exists, then ETag/Last-Modified, then a feed, then an API, and browser polling through Run only when none works. A price or stock is 'as of' the observation, null when it stated none.",
"description": "watch.watch@1: a user-defined persistent observation (plan T18). It names a source (a push event, a webhook, a conditional HTTP URL, a feed or API, a local Node probe, or an expensive Run check), how a value is extracted, how it is compared with the last observation, the condition that fires, the actions it wakes, its budget and its retention. Carrier preference is binding: an event or webhook source is used when one exists, then ETag/Last-Modified, then a feed, then an API, and browser polling through Run only when none works. A price or stock is 'as of' the observation, null when it stated none.",
"type": "object",
"type": "object",
"additionalProperties": false,
"additionalProperties": false,
- "required": ["id", "owner", "status", "source", "extraction", "condition", "action", "created_at", "updated_at"],
+ "required": [
+ "id",
+ "owner",
+ "status",
+ "source",
+ "extraction",
+ "condition",
+ "action",
+ "created_at",
+ "updated_at"
+ ],
"properties": {
"properties": {
- "id": { "type": "string", "pattern": "^wch_[0-9A-HJKMNP-TV-Z]{26}$" },
- "project_id": { "type": ["string", "null"], "pattern": "^prj_[0-9A-HJKMNP-TV-Z]{26}$" },
- "owner": { "type": "string", "description": "The acting person or agent the watch belongs to: usr_…, agt_… or svc:…." },
- "name": { "type": "string", "minLength": 1, "maxLength": 120 },
- "labels": { "type": "object", "additionalProperties": { "type": "string", "maxLength": 60 } },
- "status": { "enum": ["active", "paused", "disabled", "failed"] },
- "source": { "$ref": "#/$defs/source" },
- "cadence": { "$ref": "#/$defs/cadence" },
- "extraction": { "$ref": "#/$defs/extraction" },
- "comparison": { "$ref": "#/$defs/comparison" },
- "condition": { "$ref": "#/$defs/condition" },
- "action": { "type": "array", "minItems": 1, "maxItems": 8, "items": { "$ref": "#/$defs/action" } },
- "budget": { "$ref": "#/$defs/budget" },
- "retention": { "$ref": "#/$defs/retention" },
- "health": { "type": ["object", "null"], "additionalProperties": true },
- "created_at": { "type": "string", "format": "date-time" },
- "updated_at": { "type": "string", "format": "date-time" }
+ "id": {
+ "type": "string",
+ "pattern": "^wch_[0-9A-HJKMNP-TV-Z]{26}$"
+ },
+ "project_id": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "pattern": "^prj_[0-9A-HJKMNP-TV-Z]{26}$"
+ },
+ "owner": {
+ "type": "string",
+ "description": "The acting person or agent the watch belongs to: usr_…, agt_… or svc:…."
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 120
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string",
+ "maxLength": 60
+ }
+ },
+ "status": {
+ "enum": [
+ "active",
+ "paused",
+ "disabled",
+ "failed"
+ ]
+ },
+ "source": {
+ "$ref": "#/$defs/source"
+ },
+ "cadence": {
+ "$ref": "#/$defs/cadence"
+ },
+ "extraction": {
+ "$ref": "#/$defs/extraction"
+ },
+ "comparison": {
+ "$ref": "#/$defs/comparison"
+ },
+ "condition": {
+ "$ref": "#/$defs/condition"
+ },
+ "action": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 8,
+ "items": {
+ "$ref": "#/$defs/action"
+ }
+ },
+ "budget": {
+ "$ref": "#/$defs/budget"
+ },
+ "retention": {
+ "$ref": "#/$defs/retention"
+ },
+ "health": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": true
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "updated_at": {
+ "type": "string",
+ "format": "date-time"
+ }
},
},
"$defs": {
"$defs": {
"auth": {
"auth": {
"type": "object",
"type": "object",
- "required": ["mode"],
+ "required": [
+ "mode"
+ ],
"additionalProperties": false,
"additionalProperties": false,
"properties": {
"properties": {
- "mode": { "enum": ["none", "header", "bearer", "query"] },
- "env": { "type": ["string", "null"], "pattern": "^WATCH_CRED_[A-Z0-9_]{2,60}$", "description": "The name of the environment variable holding the credential; Watch reads it by name at fetch time and never stores the value." },
- "header": { "type": ["string", "null"] },
- "param": { "type": ["string", "null"] }
+ "mode": {
+ "enum": [
+ "none",
+ "header",
+ "bearer",
+ "query"
+ ]
+ },
+ "env": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "pattern": "^WATCH_CRED_[A-Z0-9_]{2,60}$",
+ "description": "The name of the environment variable holding the credential; Watch reads it by name at fetch time and never stores the value."
+ },
+ "header": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "param": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
}
}
},
},
"source": {
"source": {
"oneOf": [
"oneOf": [
- { "type": "object", "required": ["kind"], "additionalProperties": false,
- "properties": { "kind": { "const": "webhook" }, "endpoint": { "type": "string", "pattern": "^/internal/hooks/" } } },
- { "type": "object", "required": ["kind", "pattern"], "additionalProperties": false,
- "properties": { "kind": { "const": "event" }, "pattern": { "type": "string", "pattern": "^[a-z][a-z0-9_-]*(\\.[a-z0-9_*]+){1,}$" },
- "filter": { "type": ["object", "null"], "additionalProperties": { "type": ["string", "number", "boolean", "null"] } } } },
- { "type": "object", "required": ["kind", "url"], "additionalProperties": false,
- "properties": { "kind": { "enum": ["http", "feed", "api"] }, "url": { "type": "string", "format": "uri", "pattern": "^https?://" },
- "method": { "enum": ["GET", "HEAD"] }, "format": { "enum": ["rss", "atom", "json", null] },
- "items_path": { "type": ["string", "null"] }, "fields": { "type": ["object", "null"], "additionalProperties": { "type": "string" } },
- "auth": { "$ref": "#/$defs/auth" }, "headers": { "type": "object", "additionalProperties": { "type": "string" } },
- "conditional": { "type": "boolean", "description": "Send If-None-Match / If-Modified-Since from the stored ETag/Last-Modified when the server gave one." } } },
- { "type": "object", "required": ["kind", "node_id", "probe"], "additionalProperties": false,
- "properties": { "kind": { "const": "node" }, "node_id": { "type": "string" }, "probe": { "type": "object", "additionalProperties": true } } },
- { "type": "object", "required": ["kind", "runtime", "steps"], "additionalProperties": false,
- "properties": { "kind": { "const": "run" }, "runtime": { "enum": ["browser", "code", "desktop"] },
- "url": { "type": ["string", "null"], "format": "uri" }, "steps": { "type": "array", "minItems": 1, "items": { "type": "object", "additionalProperties": true } },
- "workload": { "$ref": "../platform/workload-requirements.v1.json" } } }
+ {
+ "type": "object",
+ "required": [
+ "kind"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "webhook"
+ },
+ "endpoint": {
+ "type": "string",
+ "pattern": "^/internal/hooks/"
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": [
+ "kind",
+ "pattern"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "event"
+ },
+ "pattern": {
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9_-]*(\\.[a-z0-9_*]+){1,}$"
+ },
+ "filter": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": {
+ "type": [
+ "string",
+ "number",
+ "boolean",
+ "null"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": [
+ "kind",
+ "url"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "enum": [
+ "http",
+ "feed",
+ "api"
+ ]
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "pattern": "^https?://"
+ },
+ "method": {
+ "enum": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "format": {
+ "enum": [
+ "rss",
+ "atom",
+ "json",
+ null
+ ]
+ },
+ "items_path": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fields": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "auth": {
+ "$ref": "#/$defs/auth"
+ },
+ "headers": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "conditional": {
+ "type": "boolean",
+ "description": "Send If-None-Match / If-Modified-Since from the stored ETag/Last-Modified when the server gave one."
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": [
+ "kind",
+ "node_id",
+ "probe"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "node"
+ },
+ "node_id": {
+ "type": "string"
+ },
+ "probe": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": [
+ "kind",
+ "runtime",
+ "steps"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "run"
+ },
+ "runtime": {
+ "enum": [
+ "browser",
+ "code",
+ "desktop"
+ ]
+ },
+ "url": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "uri"
+ },
+ "steps": {
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "workload": {
+ "$ref": "../platform/workload-requirements.v1.json"
+ }
+ }
+ }
]
]
},
},
"cadence": {
"cadence": {
- "type": ["object", "null"], "additionalProperties": false,
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": false,
"description": "Required for http/feed/api/node sources; null for event/webhook sources (they never poll).",
"description": "Required for http/feed/api/node sources; null for event/webhook sources (they never poll).",
- "properties": { "every_sec": { "type": "integer", "minimum": 30, "maximum": 2592000 }, "jitter_sec": { "type": "integer", "minimum": 0, "maximum": 3600 }, "timezone": { "type": ["string", "null"] } }
+ "properties": {
+ "every_sec": {
+ "type": "integer",
+ "minimum": 30,
+ "maximum": 2592000
+ },
+ "jitter_sec": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 3600
+ },
+ "timezone": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ }
},
},
"extraction": {
"extraction": {
- "type": "object", "additionalProperties": false,
- "properties": { "kind": { "enum": ["text", "html", "json", "regex", "css", "jsonpath", "ai"] },
- "selector": { "type": ["string", "null"] }, "fields": { "type": ["object", "null"], "additionalProperties": { "type": "string" } },
- "value_path": { "type": ["string", "null"] }, "ai": { "type": ["object", "null"], "additionalProperties": true } }
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "enum": [
+ "text",
+ "html",
+ "json",
+ "regex",
+ "css",
+ "jsonpath",
+ "ai"
+ ]
+ },
+ "selector": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fields": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "value_path": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "ai": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": true
+ }
+ }
},
},
"comparison": {
"comparison": {
- "type": ["object", "null"], "additionalProperties": false,
- "properties": { "mode": { "enum": ["changed", "threshold", "none"] }, "tolerance": { "type": ["number", "null"] }, "percent": { "type": ["number", "null"] } }
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "changed",
+ "threshold",
+ "none"
+ ]
+ },
+ "tolerance": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "percent": {
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ }
},
},
"condition": {
"condition": {
- "type": "object", "additionalProperties": false,
- "properties": { "op": { "enum": ["changed", "gt", "gte", "lt", "lte", "eq", "ne", "contains", "matches", "exists", "absent"] },
- "value": { "type": ["string", "number", "null"] }, "for_sec": { "type": ["integer", "null"], "minimum": 0 } }
- },
- "action": { "oneOf": [
- { "type": "object", "required": ["kind"], "additionalProperties": false,
- "properties": { "kind": { "const": "notification" }, "category": { "enum": ["service", "social", "system"] }, "priority": { "enum": ["low", "normal", "high", "critical"] } } },
- { "type": "object", "required": ["kind", "event_type"], "additionalProperties": false,
- "properties": { "kind": { "const": "event" }, "event_type": { "type": "string" }, "payload": { "type": ["object", "null"], "additionalProperties": true } } },
- { "type": "object", "required": ["kind", "url", "secret_env"], "additionalProperties": false,
- "properties": { "kind": { "const": "webhook" }, "url": { "type": "string", "format": "uri", "pattern": "^https://" }, "secret_env": { "type": "string", "pattern": "^WATCH_HOOK_[A-Z0-9_]{2,60}$" } } },
- { "type": "object", "required": ["kind", "brief"], "additionalProperties": false,
- "properties": { "kind": { "const": "actor-task" }, "brief": { "type": "string", "maxLength": 8000 }, "budget_usd": { "type": ["number", "null"] } } },
- { "type": "object", "required": ["kind", "repo", "brief"], "additionalProperties": false,
- "properties": { "kind": { "const": "codes-run" }, "repo": { "type": "string" }, "brief": { "type": "string", "maxLength": 8000 } } },
- { "type": "object", "required": ["kind", "runtime", "command"], "additionalProperties": false,
- "properties": { "kind": { "const": "run-job" }, "runtime": { "enum": ["function", "code", "browser", "linux"] }, "command": { "type": "string" }, "workload": { "type": ["object", "null"], "additionalProperties": true } } } ] },
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "op": {
+ "enum": [
+ "changed",
+ "gt",
+ "gte",
+ "lt",
+ "lte",
+ "eq",
+ "ne",
+ "contains",
+ "matches",
+ "exists",
+ "absent"
+ ]
+ },
+ "value": {
+ "type": [
+ "string",
+ "number",
+ "null"
+ ]
+ },
+ "for_sec": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 0
+ }
+ }
+ },
+ "action": {
+ "oneOf": [
+ {
+ "type": "object",
+ "required": [
+ "kind"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "notification"
+ },
+ "category": {
+ "enum": [
+ "service",
+ "social",
+ "system"
+ ]
+ },
+ "priority": {
+ "enum": [
+ "low",
+ "normal",
+ "high",
+ "critical"
+ ]
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": [
+ "kind",
+ "event_type"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "event"
+ },
+ "event_type": {
+ "type": "string"
+ },
+ "payload": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": true
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": [
+ "kind",
+ "url",
+ "secret_env"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "webhook"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "pattern": "^https://"
+ },
+ "secret_env": {
+ "type": "string",
+ "pattern": "^WATCH_HOOK_[A-Z0-9_]{2,60}$"
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": [
+ "kind",
+ "brief"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "actor-task"
+ },
+ "brief": {
+ "type": "string",
+ "maxLength": 8000
+ },
+ "budget_usd": {
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": [
+ "kind",
+ "agent_id"
+ ],
+ "additionalProperties": false,
+ "description": "Run one of the watch owner's personal agents on OpenVibe.Actor (actor.agent.run, Actor 0.140.0 contracts): the firing is the run's input, after the optional note. The agent must belong to the watch's owner; its own budgets and daily cap apply.",
+ "properties": {
+ "kind": {
+ "const": "actor-agent"
+ },
+ "agent_id": {
+ "type": "string",
+ "pattern": "^agt_[0-9A-HJKMNP-TV-Z]{26}$"
+ },
+ "note": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "maxLength": 2000
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": [
+ "kind",
+ "repo",
+ "brief"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "codes-run"
+ },
+ "repo": {
+ "type": "string"
+ },
+ "brief": {
+ "type": "string",
+ "maxLength": 8000
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": [
+ "kind",
+ "runtime",
+ "command"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "run-job"
+ },
+ "runtime": {
+ "enum": [
+ "function",
+ "code",
+ "browser",
+ "linux"
+ ]
+ },
+ "command": {
+ "type": "string"
+ },
+ "workload": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": true
+ }
+ }
+ }
+ ]
+ },
"budget": {
"budget": {
- "type": "object", "additionalProperties": false,
- "properties": { "checks_per_day": { "type": ["integer", "null"], "minimum": 1 }, "usd_per_month": { "type": ["number", "null"], "minimum": 0 },
- "max_runtime_ms": { "type": ["integer", "null"], "minimum": 100 }, "max_bytes": { "type": ["integer", "null"], "minimum": 1024 } }
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "checks_per_day": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "usd_per_month": {
+ "type": [
+ "number",
+ "null"
+ ],
+ "minimum": 0
+ },
+ "max_runtime_ms": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 100
+ },
+ "max_bytes": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1024
+ }
+ }
},
},
- "retention": { "type": "object", "additionalProperties": false,
- "properties": { "observations_days": { "type": ["integer", "null"], "minimum": 1 }, "keep_snapshots": { "type": "boolean" } } }
+ "retention": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "observations_days": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1
+ },
+ "keep_snapshots": {
+ "type": "boolean"
+ }
+ }
+ }
}
}
}
}
new file mode 100644
new file mode 100644
@@ -0,0 +1,67 @@
@@ -0,0 +1,67 @@
+{
+ "id": "wch_01JAB2C3D4E5F6G7H8J9K0MNPQ",
+ "project_id": null,
+ "owner": "usr_01JAB2C3D4E5F6G7H8J9K0MNPR",
+ "name": "Steam Deck OLED price",
+ "labels": {
+ "topic": "hardware"
+ },
+ "status": "active",
+ "source": {
+ "kind": "api",
+ "url": "https://openvibe.deals/api/offers/steam-deck-oled",
+ "method": "GET",
+ "format": "json",
+ "items_path": "offers",
+ "fields": {
+ "price": "price",
+ "currency": "currency"
+ },
+ "auth": {
+ "mode": "none"
+ },
+ "headers": {},
+ "conditional": true
+ },
+ "cadence": {
+ "every_sec": 3600,
+ "jitter_sec": 60,
+ "timezone": null
+ },
+ "extraction": {
+ "kind": "jsonpath",
+ "selector": null,
+ "fields": null,
+ "value_path": "$.offers[0].price",
+ "ai": null
+ },
+ "comparison": {
+ "mode": "threshold",
+ "tolerance": 0.01,
+ "percent": null
+ },
+ "condition": {
+ "op": "lt",
+ "value": 199,
+ "for_sec": null
+ },
+ "action": [
+ {
+ "kind": "actor-agent",
+ "agent_id": "agent-1"
+ }
+ ],
+ "budget": {
+ "checks_per_day": 100,
+ "usd_per_month": 0,
+ "max_runtime_ms": 20000,
+ "max_bytes": 5242880
+ },
+ "retention": {
+ "observations_days": 90,
+ "keep_snapshots": false
+ },
+ "health": null,
+ "created_at": "2026-10-05T08:00:00.000Z",
+ "updated_at": "2026-10-05T08:00:00.000Z"
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,71 @@
@@ -0,0 +1,71 @@
+{
+ "id": "wch_01JAB2C3D4E5F6G7H8J9K0MNPQ",
+ "project_id": null,
+ "owner": "usr_01JAB2C3D4E5F6G7H8J9K0MNPR",
+ "name": "Steam Deck OLED price",
+ "labels": {
+ "topic": "hardware"
+ },
+ "status": "active",
+ "source": {
+ "kind": "api",
+ "url": "https://openvibe.deals/api/offers/steam-deck-oled",
+ "method": "GET",
+ "format": "json",
+ "items_path": "offers",
+ "fields": {
+ "price": "price",
+ "currency": "currency"
+ },
+ "auth": {
+ "mode": "none"
+ },
+ "headers": {},
+ "conditional": true
+ },
+ "cadence": {
+ "every_sec": 3600,
+ "jitter_sec": 60,
+ "timezone": null
+ },
+ "extraction": {
+ "kind": "jsonpath",
+ "selector": null,
+ "fields": null,
+ "value_path": "$.offers[0].price",
+ "ai": null
+ },
+ "comparison": {
+ "mode": "threshold",
+ "tolerance": 0.01,
+ "percent": null
+ },
+ "condition": {
+ "op": "lt",
+ "value": 199,
+ "for_sec": null
+ },
+ "action": [
+ {
+ "kind": "notification"
+ },
+ {
+ "kind": "actor-agent",
+ "agent_id": "agt_01M4C49CW34NGX7TR2TNRVFWNW",
+ "note": "Summarise what changed and whether it matters to me."
+ }
+ ],
+ "budget": {
+ "checks_per_day": 100,
+ "usd_per_month": 0,
+ "max_runtime_ms": 20000,
+ "max_bytes": 5242880
+ },
+ "retention": {
+ "observations_days": 90,
+ "keep_snapshots": false
+ },
+ "health": null,
+ "created_at": "2026-10-05T08:00:00.000Z",
+ "updated_at": "2026-10-05T08:00:00.000Z"
+}
@@ -47185,6 +47185,31 @@
@@ -47185,6 +47185,31 @@
}
}
}
}
},
},
+ {
+ "type": "object",
+ "required": [
+ "kind",
+ "agent_id"
+ ],
+ "additionalProperties": false,
+ "description": "Run one of the watch owner's personal agents on OpenVibe.Actor (actor.agent.run, Actor 0.140.0 contracts): the firing is the run's input, after the optional note. The agent must belong to the watch's owner; its own budgets and daily cap apply.",
+ "properties": {
+ "kind": {
+ "const": "actor-agent"
+ },
+ "agent_id": {
+ "type": "string",
+ "pattern": "^agt_[0-9A-HJKMNP-TV-Z]{26}$"
+ },
+ "note": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "maxLength": 2000
+ }
+ }
+ },
{
{
"type": "object",
"type": "object",
"required": [
"required": [
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Actor API",
"title": "OpenVibe.Actor API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.AI API",
"title": "OpenVibe.AI API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Billing API",
"title": "OpenVibe.Billing API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Blog API",
"title": "OpenVibe.Blog API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Bot API",
"title": "OpenVibe.Bot API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Chat API",
"title": "OpenVibe.Chat API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Community API",
"title": "OpenVibe.Community API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Coupons API",
"title": "OpenVibe.Coupons API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Deals API",
"title": "OpenVibe.Deals API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Events API",
"title": "OpenVibe.Events API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Food API",
"title": "OpenVibe.Food API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Games API",
"title": "OpenVibe.Games API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Host API",
"title": "OpenVibe.Host API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Inventory API",
"title": "OpenVibe.Inventory API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Live API",
"title": "OpenVibe.Live API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Media API",
"title": "OpenVibe.Media API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Network API",
"title": "OpenVibe.Network API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.News API",
"title": "OpenVibe.News API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenRestream API",
"title": "OpenRestream API",
- "version": "0.142.0",
- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Reviews API",
"title": "OpenVibe.Reviews API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Run API",
"title": "OpenVibe.Run API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Search API",
"title": "OpenVibe.Search API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Services API",
"title": "OpenVibe.Services API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Sources API",
"title": "OpenVibe.Sources API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Tips API",
"title": "OpenVibe.Tips API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Tools API",
"title": "OpenVibe.Tools API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Trade API",
"title": "OpenVibe.Trade API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.VIP API",
"title": "OpenVibe.VIP API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Watch API",
"title": "OpenVibe.Watch API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -2084,6 +2084,31 @@
@@ -2084,6 +2084,31 @@
}
}
}
}
},
},
+ {
+ "type": "object",
+ "required": [
+ "kind",
+ "agent_id"
+ ],
+ "additionalProperties": false,
+ "description": "Run one of the watch owner's personal agents on OpenVibe.Actor (actor.agent.run, Actor 0.140.0 contracts): the firing is the run's input, after the optional note. The agent must belong to the watch's owner; its own budgets and daily cap apply.",
+ "properties": {
+ "kind": {
+ "const": "actor-agent"
+ },
+ "agent_id": {
+ "type": "string",
+ "pattern": "^agt_[0-9A-HJKMNP-TV-Z]{26}$"
+ },
+ "note": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "maxLength": 2000
+ }
+ }
+ },
{
{
"type": "object",
"type": "object",
"required": [
"required": [
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Wiki API",
"title": "OpenVibe.Wiki API",
- "version": "0.142.0",
- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.142.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.143.0",
+ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.143.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -46491,6 +46491,11 @@ export interface Watch {
@@ -46491,6 +46491,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46529,6 +46534,11 @@ export interface Watch {
@@ -46529,6 +46534,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46566,6 +46576,11 @@ export interface Watch {
@@ -46566,6 +46576,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46605,6 +46620,11 @@ export interface Watch {
@@ -46605,6 +46620,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46642,6 +46662,11 @@ export interface Watch {
@@ -46642,6 +46662,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46679,6 +46704,11 @@ export interface Watch {
@@ -46679,6 +46704,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46718,6 +46748,11 @@ export interface Watch {
@@ -46718,6 +46748,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46755,6 +46790,11 @@ export interface Watch {
@@ -46755,6 +46790,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46792,6 +46832,11 @@ export interface Watch {
@@ -46792,6 +46832,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46829,6 +46874,11 @@ export interface Watch {
@@ -46829,6 +46874,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46868,6 +46918,11 @@ export interface Watch {
@@ -46868,6 +46918,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46905,6 +46960,11 @@ export interface Watch {
@@ -46905,6 +46960,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46942,6 +47002,11 @@ export interface Watch {
@@ -46942,6 +47002,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -46979,6 +47044,11 @@ export interface Watch {
@@ -46979,6 +47044,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47016,6 +47086,11 @@ export interface Watch {
@@ -47016,6 +47086,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47055,6 +47130,11 @@ export interface Watch {
@@ -47055,6 +47130,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47092,6 +47172,11 @@ export interface Watch {
@@ -47092,6 +47172,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47129,6 +47214,11 @@ export interface Watch {
@@ -47129,6 +47214,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47166,6 +47256,11 @@ export interface Watch {
@@ -47166,6 +47256,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47203,6 +47298,11 @@ export interface Watch {
@@ -47203,6 +47298,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47240,6 +47340,11 @@ export interface Watch {
@@ -47240,6 +47340,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47279,6 +47384,11 @@ export interface Watch {
@@ -47279,6 +47384,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47316,6 +47426,11 @@ export interface Watch {
@@ -47316,6 +47426,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47353,6 +47468,11 @@ export interface Watch {
@@ -47353,6 +47468,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47390,6 +47510,11 @@ export interface Watch {
@@ -47390,6 +47510,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47427,6 +47552,11 @@ export interface Watch {
@@ -47427,6 +47552,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47464,6 +47594,11 @@ export interface Watch {
@@ -47464,6 +47594,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47501,6 +47636,11 @@ export interface Watch {
@@ -47501,6 +47636,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47540,6 +47680,11 @@ export interface Watch {
@@ -47540,6 +47680,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47577,6 +47722,11 @@ export interface Watch {
@@ -47577,6 +47722,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47614,6 +47764,11 @@ export interface Watch {
@@ -47614,6 +47764,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47651,6 +47806,11 @@ export interface Watch {
@@ -47651,6 +47806,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47688,6 +47848,11 @@ export interface Watch {
@@ -47688,6 +47848,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47725,6 +47890,11 @@ export interface Watch {
@@ -47725,6 +47890,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47762,6 +47932,11 @@ export interface Watch {
@@ -47762,6 +47932,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47799,6 +47974,11 @@ export interface Watch {
@@ -47799,6 +47974,11 @@ export interface Watch {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47959,6 +48139,11 @@ export interface WatchRequest {
@@ -47959,6 +48139,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -47997,6 +48182,11 @@ export interface WatchRequest {
@@ -47997,6 +48182,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48034,6 +48224,11 @@ export interface WatchRequest {
@@ -48034,6 +48224,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48073,6 +48268,11 @@ export interface WatchRequest {
@@ -48073,6 +48268,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48110,6 +48310,11 @@ export interface WatchRequest {
@@ -48110,6 +48310,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48147,6 +48352,11 @@ export interface WatchRequest {
@@ -48147,6 +48352,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48186,6 +48396,11 @@ export interface WatchRequest {
@@ -48186,6 +48396,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48223,6 +48438,11 @@ export interface WatchRequest {
@@ -48223,6 +48438,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48260,6 +48480,11 @@ export interface WatchRequest {
@@ -48260,6 +48480,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48297,6 +48522,11 @@ export interface WatchRequest {
@@ -48297,6 +48522,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48336,6 +48566,11 @@ export interface WatchRequest {
@@ -48336,6 +48566,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48373,6 +48608,11 @@ export interface WatchRequest {
@@ -48373,6 +48608,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48410,6 +48650,11 @@ export interface WatchRequest {
@@ -48410,6 +48650,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48447,6 +48692,11 @@ export interface WatchRequest {
@@ -48447,6 +48692,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48484,6 +48734,11 @@ export interface WatchRequest {
@@ -48484,6 +48734,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48523,6 +48778,11 @@ export interface WatchRequest {
@@ -48523,6 +48778,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48560,6 +48820,11 @@ export interface WatchRequest {
@@ -48560,6 +48820,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48597,6 +48862,11 @@ export interface WatchRequest {
@@ -48597,6 +48862,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48634,6 +48904,11 @@ export interface WatchRequest {
@@ -48634,6 +48904,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48671,6 +48946,11 @@ export interface WatchRequest {
@@ -48671,6 +48946,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48708,6 +48988,11 @@ export interface WatchRequest {
@@ -48708,6 +48988,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48747,6 +49032,11 @@ export interface WatchRequest {
@@ -48747,6 +49032,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48784,6 +49074,11 @@ export interface WatchRequest {
@@ -48784,6 +49074,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48821,6 +49116,11 @@ export interface WatchRequest {
@@ -48821,6 +49116,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48858,6 +49158,11 @@ export interface WatchRequest {
@@ -48858,6 +49158,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48895,6 +49200,11 @@ export interface WatchRequest {
@@ -48895,6 +49200,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48932,6 +49242,11 @@ export interface WatchRequest {
@@ -48932,6 +49242,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -48969,6 +49284,11 @@ export interface WatchRequest {
@@ -48969,6 +49284,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -49008,6 +49328,11 @@ export interface WatchRequest {
@@ -49008,6 +49328,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -49045,6 +49370,11 @@ export interface WatchRequest {
@@ -49045,6 +49370,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -49082,6 +49412,11 @@ export interface WatchRequest {
@@ -49082,6 +49412,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -49119,6 +49454,11 @@ export interface WatchRequest {
@@ -49119,6 +49454,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -49156,6 +49496,11 @@ export interface WatchRequest {
@@ -49156,6 +49496,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -49193,6 +49538,11 @@ export interface WatchRequest {
@@ -49193,6 +49538,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -49230,6 +49580,11 @@ export interface WatchRequest {
@@ -49230,6 +49580,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -49267,6 +49622,11 @@ export interface WatchRequest {
@@ -49267,6 +49622,11 @@ export interface WatchRequest {
brief: string;
brief: string;
budget_usd?: number | null;
budget_usd?: number | null;
}
}
+ | {
+ kind: "actor-agent";
+ agent_id: string;
+ note?: string | null;
+ }
| {
| {
kind: "codes-run";
kind: "codes-run";
repo: string;
repo: string;
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"name": "openvibe-contracts",
"name": "openvibe-contracts",
- "version": "0.142.0",
+ "version": "0.143.0",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"main": "index.js",
"main": "index.js",
"types": "generated/typescript/index.d.ts",
"types": "generated/typescript/index.d.ts",