openvibers/openvibe.contracts Commits

0.338.0: actor.trigger@1 goal kind, and the trigger-run step on actor.task-event@2 (#345)

OP OpenVibers committed 5 days ago · a72f771e7e · 56 files, +665 −111

* actor.trigger@1 goal kind, and the trigger-run step on actor.task-event@2 (0.334.0)

Plan HO3/HO4. Additive: a schedule or event trigger and a card step stay valid.

- actor.trigger@1 (1.1.0) gains the goal kind: the goal in the person's words, the done-test each run
  answers yes or no, runs_used against runs_max, spent_usd against budget_usd, the deadline, the last
  run's not_yet reason and its verdict. state may be done, and paused_reason adds done, budget and
  deadline.
- answer_in_chat (default true) and notify (default false): whether each run's answer is posted into
  the conversation that made the trigger, under its card, and whether the person is also told through
  OpenVibe's notifications.
- actor.task-event@2 (2.2.0) gains the trigger-run step: trigger_id, run (task, state, at), the
  answer's text and the addresses it read, for a routine's run posted into its own chat.

Checked: npm run generate, the whole contracts suite (27,373 checks), and compat reports no breaking
change against the last tag.

* Merge origin/main into feat/ho3-goal-trigger, renumbered to 0.337.0

Main took 0.334.0 through 0.336.0 (voice, party manifest, BA3's latency classes and the batches
contract), so this release is 0.337.0 and generated/ is rebuilt on top of it.

* Merge origin/main (0.337.0) into feat/ho3-goal-trigger: the goal kind is 0.338.0

The CHANGELOG is main's, untouched, with the goal kind as 0.338.0 (the branch had put its entry under 0.334.0 and
openvibe.party's under 0.337.0).

Changes

ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex fdf36d1c..3ceba72f 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -1,4 +1,21 @@
# Changelog
++
++## 0.338.0 — 2026-11-08
++
++- `actor.trigger@1` gains the goal kind (plan HO3): a trigger that keeps working toward a goal on a schedule. Additive:
++ - `kind` may now be `goal`, and `state` may be `done` (a goal ended itself when its done-test passed);
++ - `paused_reason` adds `done`, `budget` and `deadline` beside `person` and `failed`;
++ - the optional `goal` object says the goal in the person's words, the `done_test` the agent answers yes or no each run,
++ `runs_used` against `runs_max`, `spent_usd` against `budget_usd`, `deadline_at`, the last run's `not_yet` reason and
++ its `verdict`;
++ - the optional `answer_in_chat` (default true) says whether each run's answer is posted into the conversation that made
++ the trigger, under its card, and `notify` (default false) whether the person is also told through OpenVibe's
++ notifications.
++- Nothing that exists today changes shape: a schedule or event trigger without the new fields stays valid.
++- `actor.task-event@2` gains the `trigger-run` step (2.2.0): a routine's run posted into the conversation that made the
++ trigger, under its card. Additive: `trigger_id` names the routine, `run` says which task ran and how it ended
++ (`ok`, `failed`, `needs_you`), `text` is its answer or the one line saying why it did not finish, and `sources` are
++ the addresses it read (at most 8). An event without them, and the `trigger` card step, are unchanged.
## 0.337.0 — 2026-11-07
- Add `actor.skill@1` and `actor.skill-listing@1` (ADR-058, plan HO2: the skills registry's skeleton). A skill is a
ddiff --git a/contracts/actor/task-event.v2.json b/contracts/actor/task-event.v2.json
iindex 0a31d405..150be542 100644
---- a/contracts/actor/task-event.v2.json
++++ b/contracts/actor/task-event.v2.json
@@@ -56,9 +56,52 @@
"tool_result",
"check",
"handoff",
-- "trigger"
++ "trigger",
++ "trigger-run"
]
},
++ "trigger_id": {
++ "type": "string",
++ "pattern": "^trg_[0-9A-HJKMNP-TV-Z]{26}$",
++ "description": "The trigger this run belongs to, on a step: \"trigger-run\"."
++ },
++ "run": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "task_id",
++ "state",
++ "at"
++ ],
++ "description": "The routine run this event reports, on a step: \"trigger-run\". It is posted into the conversation that made the trigger, under its card: the run's answer and sources when it finished, and one line saying why when it did not.",
++ "properties": {
++ "task_id": {
++ "type": "string",
++ "pattern": "^tsk_[0-9A-HJKMNP-TV-Z]{26}$"
++ },
++ "state": {
++ "type": "string",
++ "enum": [
++ "ok",
++ "failed",
++ "needs_you"
++ ]
++ },
++ "at": {
++ "type": "string",
++ "format": "date-time"
++ }
++ }
++ },
++ "sources": {
++ "type": "array",
++ "maxItems": 8,
++ "description": "The addresses the run read, on a step: \"trigger-run\".",
++ "items": {
++ "type": "string",
++ "maxLength": 4000
++ }
++ },
"assignment_id": {
"type": "string",
"pattern": "^asg_[0-9A-HJKMNP-TV-Z]{26}$",
@@@ -202,6 +245,50 @@
"step"
]
}
++ },
++ {
++ "if": {
++ "required": [
++ "run"
++ ]
++ },
++ "then": {
++ "properties": {
++ "kind": {
++ "const": "output"
++ },
++ "step": {
++ "const": "trigger-run"
++ }
++ },
++ "required": [
++ "kind",
++ "step",
++ "trigger_id"
++ ]
++ }
++ },
++ {
++ "if": {
++ "required": [
++ "sources"
++ ]
++ },
++ "then": {
++ "properties": {
++ "kind": {
++ "const": "output"
++ },
++ "step": {
++ "const": "trigger-run"
++ }
++ },
++ "required": [
++ "kind",
++ "step",
++ "run"
++ ]
++ }
}
]
}
ddiff --git a/contracts/actor/trigger.v1.json b/contracts/actor/trigger.v1.json
iindex af678dd7..ed923ac7 100644
---- a/contracts/actor/trigger.v1.json
++++ b/contracts/actor/trigger.v1.json
@@@ -2,7 +2,7 @@
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://openvibe.network/contracts/actor/trigger.v1.json",
"title": "ActorTrigger",
-- "description": "actor.trigger@1: a trigger made in an Actor conversation — something that runs on a schedule or when a Watch event arrives. ID is the trigger, OWNER the person it belongs to, AGENT_ID the agent it runs as, TASK what it runs, and KIND schedule (WHEN has a five-field CRON in the person's TIMEZONE) or event (WHEN has the Watch event PATTERN and FILTER). WHEN.WORDS is always the plain-language line shown on the card. NEXT_RUN_AT is the next scheduled occurrence (null for an event trigger), LAST_RUN is the newest run of the trigger with its result (ok, failed, needs_you or running) and WHEN_AT, STATE is active or paused, PAUSED_REASON says why (person or failed after five failed runs in a row), and FAILURES is the consecutive failed-run count. WATCH is the subscription's own state when it is an event trigger (a schedule trigger has its Watch schedule too), null when Watch is not reachable. UNDO_UNTIL is the end of the ten-minute undo window; after it the trigger is deleted, not undone. A trigger is owner-only: another person's id is the same 404 as one that does not exist.",
++ "description": "actor.trigger@1: a trigger made in an Actor conversation — something that runs on a schedule, when a Watch event arrives, or (kind goal) keeps working toward a goal. ID is the trigger, OWNER the person it belongs to, AGENT_ID the agent it runs as, TASK what it runs, and KIND schedule (WHEN has a five-field CRON in the person's TIMEZONE), event (WHEN has the Watch event PATTERN and FILTER) or goal (checked on WHEN's CRON, with GOAL saying what it works toward). WHEN.WORDS is always the plain-language line shown on the card. NEXT_RUN_AT is the next scheduled occurrence (null for an event trigger), LAST_RUN is the newest run of the trigger with its result (ok, failed, needs_you or running) and WHEN_AT, STATE is active, paused or done (a goal ended itself when its done-test passed), PAUSED_REASON says why (person, failed after five failed runs in a row, or for a goal: done, budget or deadline), and FAILURES is the consecutive failed-run count. WATCH is the subscription's own state when it is an event trigger (a schedule trigger has its Watch schedule too), null when Watch is not reachable. GOAL is present only for a goal: the goal in words, the done-test the agent evaluates each run, how many runs it has used against its limit, what it has spent against its money budget, its deadline, and the last verdict. ANSWER_IN_CHAT (default true) says whether each run's answer is posted into the conversation that made the trigger, under its card; NOTIFY (default false) says whether the person is also told through OpenVibe's notifications. UNDO_UNTIL is the end of the ten-minute undo window; after it the trigger is deleted, not undone. A trigger is owner-only: another person's id is the same 404 as one that does not exist.",
"type": "object",
"additionalProperties": false,
"required": [
@@@ -45,7 +45,8 @@
"type": "string",
"enum": [
"schedule",
-- "event"
++ "event",
++ "goal"
]
},
"when": {
@@@ -106,6 +107,113 @@
}
}
},
++ "goal": {
++ "type": [
++ "object",
++ "null"
++ ],
++ "description": "A goal trigger's progress: what it keeps working toward and how far it has got. Null for a schedule or event trigger.",
++ "additionalProperties": false,
++ "required": [
++ "text",
++ "done_test",
++ "runs_used"
++ ],
++ "properties": {
++ "text": {
++ "type": "string",
++ "minLength": 1,
++ "maxLength": 500,
++ "description": "The goal in the person's words, the sentence that made it: \"keep checking the price of the Framework 13 every 30 minutes until it drops under €120\"."
++ },
++ "done_test": {
++ "type": "string",
++ "minLength": 1,
++ "maxLength": 300,
++ "description": "The check the agent evaluates each run and answers yes or no with a short reason: \"the price is under €120\"."
++ },
++ "runs_used": {
++ "type": "integer",
++ "minimum": 0,
++ "maximum": 1000,
++ "description": "How many runs of the goal have finished."
++ },
++ "runs_max": {
++ "type": [
++ "integer",
++ "null"
++ ],
++ "minimum": 1,
++ "maximum": 1000,
++ "description": "The most runs allowed; the goal ends when it reaches it. Null for no run limit."
++ },
++ "spent_usd": {
++ "type": "number",
++ "minimum": 0,
++ "description": "What its runs have spent so far."
++ },
++ "budget_usd": {
++ "type": [
++ "number",
++ "null"
++ ],
++ "minimum": 0,
++ "description": "The most its runs may spend; the goal ends when it reaches it. Null for only the person's own allowance."
++ },
++ "deadline_at": {
++ "type": [
++ "string",
++ "null"
++ ],
++ "format": "date-time",
++ "description": "The end of the goal's time: after it the goal ends whether or not the done-test passed. Null for no deadline."
++ },
++ "not_yet": {
++ "type": [
++ "string",
++ "null"
++ ],
++ "maxLength": 300,
++ "description": "The last run's reason the done-test is not met yet, in its words: \"€134\"."
++ },
++ "verdict": {
++ "type": [
++ "object",
++ "null"
++ ],
++ "additionalProperties": false,
++ "required": [
++ "done",
++ "reason",
++ "at"
++ ],
++ "description": "The last run's answer to the done-test.",
++ "properties": {
++ "done": {
++ "type": "boolean"
++ },
++ "reason": {
++ "type": "string",
++ "maxLength": 300
++ },
++ "at": {
++ "type": "string",
++ "format": "date-time"
++ }
++ }
++ }
++ }
++ },
++ "answer_in_chat": {
++ "type": "boolean",
++ "description": "Whether each run's answer is posted into the conversation that made the trigger, under its card. Default true.",
++ "default": true
++ },
++ "notify": {
++ "type": "boolean",
++ "description": "Whether the person is also told through OpenVibe's notifications when a run finishes. Default false: the answer in the chat is the telling, unless they asked for more.",
++ "default": false
++ },
"next_run_at": {
"type": [
"string",
@@@ -155,7 +263,8 @@
"type": "string",
"enum": [
"active",
-- "paused"
++ "paused",
++ "done"
]
},
"paused_reason": {
@@@ -166,6 +275,9 @@
"enum": [
"person",
"failed",
++ "done",
++ "budget",
++ "deadline",
null
]
},
ddiff --git a/contracts/catalog.json b/contracts/catalog.json
iindex 678e2d45..6e4fcf22 100644
---- a/contracts/catalog.json
++++ b/contracts/catalog.json
@@@ -7324,7 +7324,7 @@
},
{
"id": "actor.task-event",
-- "version": "2.1.0",
++ "version": "2.2.0",
"owner": "actor",
"schema": "actor/task-event.v2.json",
"visibility": "public",
@@@ -7334,7 +7334,7 @@
},
{
"id": "actor.trigger",
-- "version": "1.0.0",
++ "version": "1.1.0",
"owner": "actor",
"schema": "actor/trigger.v1.json",
"visibility": "public",
ddiff --git a/fixtures/actor.task-event/valid/trigger-run.json b/fixtures/actor.task-event/valid/trigger-run.json
nnew file mode 100644
iindex 00000000..bf240b11
---- /dev/null
++++ b/fixtures/actor.task-event/valid/trigger-run.json
@@@ -0,0 +1,17 @@
++{
++ "task_id": "tsk_01M6VNTQD7VN1GGME3XGPJ048Z",
++ "seq": 12,
++ "kind": "output",
++ "at": "2026-11-09T10:30:20.000Z",
++ "step": "trigger-run",
++ "trigger_id": "trg_01M6VNTQD7NB3QH8K4R2S9T6VW",
++ "run": {
++ "task_id": "tsk_01M6VNTQD7VN1GGME3XGPJ048Z",
++ "state": "ok",
++ "at": "2026-11-09T10:30:20.000Z"
++ },
++ "text": "The Framework 13 is €134 on the maker's store, so it has not dropped under €120 yet.",
++ "sources": [
++ "https://frame.work/de/en/products/laptop13"
++ ]
++}
ddiff --git a/fixtures/actor.trigger/invalid/goal-no-done-test.json b/fixtures/actor.trigger/invalid/goal-no-done-test.json
nnew file mode 100644
iindex 00000000..a20698d2
---- /dev/null
++++ b/fixtures/actor.trigger/invalid/goal-no-done-test.json
@@@ -0,0 +1,19 @@
++{
++ "id": "trg_01M6VNTQD7NB3QH8K4R2S9T6VW",
++ "owner": "usr_01M6VNTQD7MRZDETZ39NB969XD",
++ "agent_id": "agt_01M6VNTQD7WHPRX74687KCER4S",
++ "task": "keep checking the price",
++ "kind": "goal",
++ "when": {
++ "words": "Every 30 minutes (Europe/Berlin)",
++ "cron": "*/30 * * * *",
++ "timezone": "Europe/Berlin"
++ },
++ "goal": {
++ "text": "the price drops",
++ "runs_used": 1
++ },
++ "state": "active",
++ "created_at": "2026-11-09T08:00:00.000Z",
++ "updated_at": "2026-11-09T08:00:00.000Z"
++}
ddiff --git a/fixtures/actor.trigger/valid/goal.json b/fixtures/actor.trigger/valid/goal.json
nnew file mode 100644
iindex 00000000..01bfc408
---- /dev/null
++++ b/fixtures/actor.trigger/valid/goal.json
@@@ -0,0 +1,50 @@
++{
++ "id": "trg_01M6VNTQD7NB3QH8K4R2S9T6VW",
++ "owner": "usr_01M6VNTQD7MRZDETZ39NB969XD",
++ "agent_id": "agt_01M6VNTQD7WHPRX74687KCER4S",
++ "agent_name": "Deals",
++ "task": "check the price of the Framework 13 and say whether it is under €120",
++ "kind": "goal",
++ "when": {
++ "words": "Every 30 minutes (Europe/Berlin)",
++ "cron": "*/30 * * * *",
++ "timezone": "Europe/Berlin",
++ "event": null
++ },
++ "goal": {
++ "text": "keep checking the price of the Framework 13 every 30 minutes until it drops under €120",
++ "done_test": "the price of the Framework 13 is under €120",
++ "runs_used": 4,
++ "runs_max": 12,
++ "spent_usd": 0.021,
++ "budget_usd": 1.5,
++ "deadline_at": "2026-11-16T09:00:00.000Z",
++ "not_yet": "€134",
++ "verdict": {
++ "done": false,
++ "reason": "€134 on the maker's own store",
++ "at": "2026-11-09T10:30:20.000Z"
++ }
++ },
++ "answer_in_chat": true,
++ "notify": true,
++ "next_run_at": "2026-11-09T11:00:00.000Z",
++ "last_run": {
++ "task_id": "tsk_01M6VNTQD7VN1GGME3XGPJ048Z",
++ "state": "ok",
++ "at": "2026-11-09T10:30:20.000Z"
++ },
++ "state": "done",
++ "paused_reason": "done",
++ "failures": 0,
++ "watch": {
++ "id": "wch_01M6VNTQD796C68VF8B182VAGS",
++ "status": "paused",
++ "last_state": "condition_met",
++ "consecutive_failures": 0,
++ "next_due_at": null
++ },
++ "undo_until": "2026-11-09T08:10:00.000Z",
++ "created_at": "2026-11-09T08:00:00.000Z",
++ "updated_at": "2026-11-09T10:30:21.000Z"
++}
ddiff --git a/generated/json-schema/bundle.json b/generated/json-schema/bundle.json
iindex 8152ac8b..c7f36659 100644
---- a/generated/json-schema/bundle.json
++++ b/generated/json-schema/bundle.json
@@@ -84900,7 +84900,7 @@
}
},
"actor.task-event@2": {
-- "version": "2.1.0",
++ "version": "2.2.0",
"owner": "actor",
"status": "active",
"schema": {
@@@ -84961,9 +84961,52 @@
"tool_result",
"check",
"handoff",
-- "trigger"
++ "trigger",
++ "trigger-run"
]
},
++ "trigger_id": {
++ "type": "string",
++ "pattern": "^trg_[0-9A-HJKMNP-TV-Z]{26}$",
++ "description": "The trigger this run belongs to, on a step: \"trigger-run\"."
++ },
++ "run": {
++ "type": "object",
++ "additionalProperties": false,
++ "required": [
++ "task_id",
++ "state",
++ "at"
++ ],
++ "description": "The routine run this event reports, on a step: \"trigger-run\". It is posted into the conversation that made the trigger, under its card: the run's answer and sources when it finished, and one line saying why when it did not.",
++ "properties": {
++ "task_id": {
++ "type": "string",
++ "pattern": "^tsk_[0-9A-HJKMNP-TV-Z]{26}$"
++ },
++ "state": {
++ "type": "string",
++ "enum": [
++ "ok",
++ "failed",
++ "needs_you"
++ ]
++ },
++ "at": {
++ "type": "string",
++ "format": "date-time"
++ }
++ }
++ },
++ "sources": {
++ "type": "array",
++ "maxItems": 8,
++ "description": "The addresses the run read, on a step: \"trigger-run\".",
++ "items": {
++ "type": "string",
++ "maxLength": 4000
++ }
++ },
"assignment_id": {
"type": "string",
"pattern": "^asg_[0-9A-HJKMNP-TV-Z]{26}$",
@@@ -85107,19 +85150,63 @@
"step"
]
}
++ },
++ {
++ "if": {
++ "required": [
++ "run"
++ ]
++ },
++ "then": {
++ "properties": {
++ "kind": {
++ "const": "output"
++ },
++ "step": {
++ "const": "trigger-run"
++ }
++ },
++ "required": [
++ "kind",
++ "step",
++ "trigger_id"
++ ]
++ }
++ },
++ {
++ "if": {
++ "required": [
++ "sources"
++ ]
++ },
++ "then": {
++ "properties": {
++ "kind": {
++ "const": "output"
++ },
++ "step": {
++ "const": "trigger-run"
++ }
++ },
++ "required": [
++ "kind",
++ "step",
++ "run"
++ ]
++ }
}
]
}
},
"actor.trigger": {
-- "version": "1.0.0",
++ "version": "1.1.0",
"owner": "actor",
"status": "active",
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://openvibe.network/contracts/actor/trigger.v1.json",
"title": "ActorTrigger",
-- "description": "actor.trigger@1: a trigger made in an Actor conversation — something that runs on a schedule or when a Watch event arrives. ID is the trigger, OWNER the person it belongs to, AGENT_ID the agent it runs as, TASK what it runs, and KIND schedule (WHEN has a five-field CRON in the person's TIMEZONE) or event (WHEN has the Watch event PATTERN and FILTER). WHEN.WORDS is always the plain-language line shown on the card. NEXT_RUN_AT is the next scheduled occurrence (null for an event trigger), LAST_RUN is the newest run of the trigger with its result (ok, failed, needs_you or running) and WHEN_AT, STATE is active or paused, PAUSED_REASON says why (person or failed after five failed runs in a row), and FAILURES is the consecutive failed-run count. WATCH is the subscription's own state when it is an event trigger (a schedule trigger has its Watch schedule too), null when Watch is not reachable. UNDO_UNTIL is the end of the ten-minute undo window; after it the trigger is deleted, not undone. A trigger is owner-only: another person's id is the same 404 as one that does not exist.",
++ "description": "actor.trigger@1: a trigger made in an Actor conversation — something that runs on a schedule, when a Watch event arrives, or (kind goal) keeps working toward a goal. ID is the trigger, OWNER the person it belongs to, AGENT_ID the agent it runs as, TASK what it runs, and KIND schedule (WHEN has a five-field CRON in the person's TIMEZONE), event (WHEN has the Watch event PATTERN and FILTER) or goal (checked on WHEN's CRON, with GOAL saying what it works toward). WHEN.WORDS is always the plain-language line shown on the card. NEXT_RUN_AT is the next scheduled occurrence (null for an event trigger), LAST_RUN is the newest run of the trigger with its result (ok, failed, needs_you or running) and WHEN_AT, STATE is active, paused or done (a goal ended itself when its done-test passed), PAUSED_REASON says why (person, failed after five failed runs in a row, or for a goal: done, budget or deadline), and FAILURES is the consecutive failed-run count. WATCH is the subscription's own state when it is an event trigger (a schedule trigger has its Watch schedule too), null when Watch is not reachable. GOAL is present only for a goal: the goal in words, the done-test the agent evaluates each run, how many runs it has used against its limit, what it has spent against its money budget, its deadline, and the last verdict. ANSWER_IN_CHAT (default true) says whether each run's answer is posted into the conversation that made the trigger, under its card; NOTIFY (default false) says whether the person is also told through OpenVibe's notifications. UNDO_UNTIL is the end of the ten-minute undo window; after it the trigger is deleted, not undone. A trigger is owner-only: another person's id is the same 404 as one that does not exist.",
"type": "object",
"additionalProperties": false,
"required": [
@@@ -85162,7 +85249,8 @@
"type": "string",
"enum": [
"schedule",
-- "event"
++ "event",
++ "goal"
]
},
"when": {
@@@ -85223,6 +85311,113 @@
}
}
},
++ "goal": {
++ "type": [
++ "object",
++ "null"
++ ],
++ "description": "A goal trigger's progress: what it keeps working toward and how far it has got. Null for a schedule or event trigger.",
++ "additionalProperties": false,
++ "required": [
++ "text",
++ "done_test",
++ "runs_used"
++ ],
++ "properties": {
++ "text": {
++ "type": "string",
++ "minLength": 1,
++ "maxLength": 500,
++ "description": "The goal in the person's words, the sentence that made it: \"keep checking the price of the Framework 13 every 30 minutes until it drops under €120\"."
++ },
++ "done_test": {
++ "type": "string",
++ "minLength": 1,
++ "maxLength": 300,
++ "description": "The check the agent evaluates each run and answers yes or no with a short reason: \"the price is under €120\"."
++ },
++ "runs_used": {
++ "type": "integer",
++ "minimum": 0,
++ "maximum": 1000,
++ "description": "How many runs of the goal have finished."
++ },
++ "runs_max": {
++ "type": [
++ "integer",
++ "null"
++ ],
++ "minimum": 1,
++ "maximum": 1000,
++ "description": "The most runs allowed; the goal ends when it reaches it. Null for no run limit."
++ },
++ "spent_usd": {
++ "type": "number",
++ "minimum": 0,
++ "description": "What its runs have spent so far."
++ },
++ "budget_usd": {
++ "type": [
++ "number",
++ "null"
++ ],
++ "minimum": 0,
++ "description": "The most its runs may spend; the goal ends when it reaches it. Null for only the person's own allowance."
++ },
++ "deadline_at": {
++ "type": [
++ "string",
++ "null"
++ ],
++ "format": "date-time",
++ "description": "The end of the goal's time: after it the goal ends whether or not the done-test passed. Null for no deadline."
++ },
++ "not_yet": {
++ "type": [
++ "string",
++ "null"
++ ],
++ "maxLength": 300,
++ "description": "The last run's reason the done-test is not met yet, in its words: \"€134\"."
++ },
++ "verdict": {
++ "type": [
++ "object",
++ "null"
++ ],
++ "additionalProperties": false,
++ "required": [
++ "done",
++ "reason",
++ "at"
++ ],
++ "description": "The last run's answer to the done-test.",
++ "properties": {
++ "done": {
++ "type": "boolean"
++ },
++ "reason": {
++ "type": "string",
++ "maxLength": 300
++ },
++ "at": {
++ "type": "string",
++ "format": "date-time"
++ }
++ }
++ }
++ }
++ },
++ "answer_in_chat": {
++ "type": "boolean",
++ "description": "Whether each run's answer is posted into the conversation that made the trigger, under its card. Default true.",
++ "default": true
++ },
++ "notify": {
++ "type": "boolean",
++ "description": "Whether the person is also told through OpenVibe's notifications when a run finishes. Default false: the answer in the chat is the telling, unless they asked for more.",
++ "default": false
++ },
"next_run_at": {
"type": [
"string",
@@@ -85272,7 +85467,8 @@
"type": "string",
"enum": [
"active",
-- "paused"
++ "paused",
++ "done"
]
},
"paused_reason": {
@@@ -85283,6 +85479,9 @@
"enum": [
"person",
"failed",
++ "done",
++ "budget",
++ "deadline",
null
]
},
ddiff --git a/generated/openapi/actor.json b/generated/openapi/actor.json
iindex d92b8c93..f2a48392 100644
---- a/generated/openapi/actor.json
++++ b/generated/openapi/actor.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Actor API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/ai.json b/generated/openapi/ai.json
iindex 420caad6..069e68e5 100644
---- a/generated/openapi/ai.json
++++ b/generated/openapi/ai.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.AI API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/bench.json b/generated/openapi/bench.json
iindex ed5a87e4..848e980b 100644
---- a/generated/openapi/bench.json
++++ b/generated/openapi/bench.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Bench API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/billing.json b/generated/openapi/billing.json
iindex 38e4a69b..1237b9e7 100644
---- a/generated/openapi/billing.json
++++ b/generated/openapi/billing.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Billing API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/blog.json b/generated/openapi/blog.json
iindex c398a821..89285a27 100644
---- a/generated/openapi/blog.json
++++ b/generated/openapi/blog.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Blog API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/bot.json b/generated/openapi/bot.json
iindex 2597ad18..1f2012f9 100644
---- a/generated/openapi/bot.json
++++ b/generated/openapi/bot.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Bot API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/chat.json b/generated/openapi/chat.json
iindex 6e2b1374..48079e60 100644
---- a/generated/openapi/chat.json
++++ b/generated/openapi/chat.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Chat API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/codes.json b/generated/openapi/codes.json
iindex 67b4837b..a1ba1daa 100644
---- a/generated/openapi/codes.json
++++ b/generated/openapi/codes.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Codes API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/community.json b/generated/openapi/community.json
iindex 9092f57b..0719711d 100644
---- a/generated/openapi/community.json
++++ b/generated/openapi/community.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Community API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/connect.json b/generated/openapi/connect.json
iindex 6d7ce942..5ac89fc0 100644
---- a/generated/openapi/connect.json
++++ b/generated/openapi/connect.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe Connect API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/coupons.json b/generated/openapi/coupons.json
iindex 5ced1aa6..6269c86d 100644
---- a/generated/openapi/coupons.json
++++ b/generated/openapi/coupons.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Coupons API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/deals.json b/generated/openapi/deals.json
iindex ef227c2c..9e42a2e1 100644
---- a/generated/openapi/deals.json
++++ b/generated/openapi/deals.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Deals API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/design.json b/generated/openapi/design.json
iindex d8bd9e38..9d34cda8 100644
---- a/generated/openapi/design.json
++++ b/generated/openapi/design.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Design API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/domains.json b/generated/openapi/domains.json
iindex 84f60d2b..b4fdb9ff 100644
---- a/generated/openapi/domains.json
++++ b/generated/openapi/domains.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Domains API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/events.json b/generated/openapi/events.json
iindex 1ed72389..b3d2d8bb 100644
---- a/generated/openapi/events.json
++++ b/generated/openapi/events.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Events API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/food.json b/generated/openapi/food.json
iindex da573151..1b372e3c 100644
---- a/generated/openapi/food.json
++++ b/generated/openapi/food.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Food API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/games.json b/generated/openapi/games.json
iindex c79b7cff..989a5a74 100644
---- a/generated/openapi/games.json
++++ b/generated/openapi/games.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Games API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/host.json b/generated/openapi/host.json
iindex cc8da913..bfe0ffac 100644
---- a/generated/openapi/host.json
++++ b/generated/openapi/host.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Host API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/inventory.json b/generated/openapi/inventory.json
iindex a0f1aadb..f5b1eea6 100644
---- a/generated/openapi/inventory.json
++++ b/generated/openapi/inventory.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Inventory API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/live.json b/generated/openapi/live.json
iindex a2a76eb5..01bb03f6 100644
---- a/generated/openapi/live.json
++++ b/generated/openapi/live.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Live API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/mail.json b/generated/openapi/mail.json
iindex b8f098d9..65e890fb 100644
---- a/generated/openapi/mail.json
++++ b/generated/openapi/mail.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Mail API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/media-hub.json b/generated/openapi/media-hub.json
iindex 68e8f3e7..065a4465 100644
---- a/generated/openapi/media-hub.json
++++ b/generated/openapi/media-hub.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.MediaHub API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/media.json b/generated/openapi/media.json
iindex fdcef734..1bcc94c3 100644
---- a/generated/openapi/media.json
++++ b/generated/openapi/media.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Media API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/network.json b/generated/openapi/network.json
iindex f8b788f4..0687bf07 100644
---- a/generated/openapi/network.json
++++ b/generated/openapi/network.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Network API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/news.json b/generated/openapi/news.json
iindex 993b68cf..b1eb3883 100644
---- a/generated/openapi/news.json
++++ b/generated/openapi/news.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.News API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/openre.json b/generated/openapi/openre.json
iindex 22c83cd6..bab782ea 100644
---- a/generated/openapi/openre.json
++++ b/generated/openapi/openre.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenRestream API",
-- "version": "0.337.0",
-- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/play.json b/generated/openapi/play.json
iindex 097aea3e..e78ebeb0 100644
---- a/generated/openapi/play.json
++++ b/generated/openapi/play.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Play API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/quest.json b/generated/openapi/quest.json
iindex 01439138..e764d0d5 100644
---- a/generated/openapi/quest.json
++++ b/generated/openapi/quest.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Quest API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/report.json b/generated/openapi/report.json
iindex 6570917d..b838ff67 100644
---- a/generated/openapi/report.json
++++ b/generated/openapi/report.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Report API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/reviews.json b/generated/openapi/reviews.json
iindex 558c2588..f0fcf5fe 100644
---- a/generated/openapi/reviews.json
++++ b/generated/openapi/reviews.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Reviews API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/run.json b/generated/openapi/run.json
iindex de188c35..0474abfe 100644
---- a/generated/openapi/run.json
++++ b/generated/openapi/run.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Run API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/search.json b/generated/openapi/search.json
iindex 9dc746c0..99e8f5c3 100644
---- a/generated/openapi/search.json
++++ b/generated/openapi/search.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Search API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/services.json b/generated/openapi/services.json
iindex e13f1286..10e5e00a 100644
---- a/generated/openapi/services.json
++++ b/generated/openapi/services.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Services API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/sources.json b/generated/openapi/sources.json
iindex 657140e1..f99feb2f 100644
---- a/generated/openapi/sources.json
++++ b/generated/openapi/sources.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Sources API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/space.json b/generated/openapi/space.json
iindex 1f624c91..27728520 100644
---- a/generated/openapi/space.json
++++ b/generated/openapi/space.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Space API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/tips.json b/generated/openapi/tips.json
iindex b07aa005..bd0aa359 100644
---- a/generated/openapi/tips.json
++++ b/generated/openapi/tips.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Tips API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/today.json b/generated/openapi/today.json
iindex 4f97be90..cebd6ee3 100644
---- a/generated/openapi/today.json
++++ b/generated/openapi/today.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Today API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/tools.json b/generated/openapi/tools.json
iindex 105e07c9..34731f6c 100644
---- a/generated/openapi/tools.json
++++ b/generated/openapi/tools.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Tools API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/trade.json b/generated/openapi/trade.json
iindex a143b1ae..fdfd6018 100644
---- a/generated/openapi/trade.json
++++ b/generated/openapi/trade.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Trade API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/vip.json b/generated/openapi/vip.json
iindex 62018b0e..92c37332 100644
---- a/generated/openapi/vip.json
++++ b/generated/openapi/vip.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.VIP API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/vision.json b/generated/openapi/vision.json
iindex 9ce05910..5bdcf4e7 100644
---- a/generated/openapi/vision.json
++++ b/generated/openapi/vision.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Vision API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/watch.json b/generated/openapi/watch.json
iindex 0abfd20c..5505b076 100644
---- a/generated/openapi/watch.json
++++ b/generated/openapi/watch.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Watch API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/wiki.json b/generated/openapi/wiki.json
iindex d059631e..5c6cecb5 100644
---- a/generated/openapi/wiki.json
++++ b/generated/openapi/wiki.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Wiki API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/work.json b/generated/openapi/work.json
iindex 54dd0e82..7dc00b9b 100644
---- a/generated/openapi/work.json
++++ b/generated/openapi/work.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Work API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/openapi/zone.json b/generated/openapi/zone.json
iindex e0f6ec43..d9c58076 100644
---- a/generated/openapi/zone.json
++++ b/generated/openapi/zone.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Zone API",
-- "version": "0.337.0",
-- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.337.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.338.0",
++ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.338.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"
ddiff --git a/generated/typescript/index.d.ts b/generated/typescript/index.d.ts
iindex 851e26d8..1ba65834 100644
---- a/generated/typescript/index.d.ts
++++ b/generated/typescript/index.d.ts
@@@ -266104,11 +266104,11 @@ export type ActorTaskEvent = {
is_error?: boolean;
};
--/** [email protected] (owner: actor) */
++/** [email protected] (owner: actor) */
--/** [email protected] (owner: actor) */
++/** [email protected] (owner: actor) */
/**
-- * actor.trigger@1: a trigger made in an Actor conversation — something that runs on a schedule or when a Watch event arrives. ID is the trigger, OWNER the person it belongs to, AGENT_ID the agent it runs as, TASK what it runs, and KIND schedule (WHEN has a five-field CRON in the person's TIMEZONE) or event (WHEN has the Watch event PATTERN and FILTER). WHEN.WORDS is always the plain-language line shown on the card. NEXT_RUN_AT is the next scheduled occurrence (null for an event trigger), LAST_RUN is the newest run of the trigger with its result (ok, failed, needs_you or running) and WHEN_AT, STATE is active or paused, PAUSED_REASON says why (person or failed after five failed runs in a row), and FAILURES is the consecutive failed-run count. WATCH is the subscription's own state when it is an event trigger (a schedule trigger has its Watch schedule too), null when Watch is not reachable. UNDO_UNTIL is the end of the ten-minute undo window; after it the trigger is deleted, not undone. A trigger is owner-only: another person's id is the same 404 as one that does not exist.
++ * actor.trigger@1: a trigger made in an Actor conversation — something that runs on a schedule, when a Watch event arrives, or (kind goal) keeps working toward a goal. ID is the trigger, OWNER the person it belongs to, AGENT_ID the agent it runs as, TASK what it runs, and KIND schedule (WHEN has a five-field CRON in the person's TIMEZONE), event (WHEN has the Watch event PATTERN and FILTER) or goal (checked on WHEN's CRON, with GOAL saying what it works toward). WHEN.WORDS is always the plain-language line shown on the card. NEXT_RUN_AT is the next scheduled occurrence (null for an event trigger), LAST_RUN is the newest run of the trigger with its result (ok, failed, needs_you or running) and WHEN_AT, STATE is active, paused or done (a goal ended itself when its done-test passed), PAUSED_REASON says why (person, failed after five failed runs in a row, or for a goal: done, budget or deadline), and FAILURES is the consecutive failed-run count. WATCH is the subscription's own state when it is an event trigger (a schedule trigger has its Watch schedule too), null when Watch is not reachable. GOAL is present only for a goal: the goal in words, the done-test the agent evaluates each run, how many runs it has used against its limit, what it has spent against its money budget, its deadline, and the last verdict. ANSWER_IN_CHAT (default true) says whether each run's answer is posted into the conversation that made the trigger, under its card; NOTIFY (default false) says whether the person is also told through OpenVibe's notifications. UNDO_UNTIL is the end of the ten-minute undo window; after it the trigger is deleted, not undone. A trigger is owner-only: another person's id is the same 404 as one that does not exist.
*/
export interface ActorTrigger {
id: string;
@@@ -266116,7 +266116,7 @@ export interface ActorTrigger {
agent_id: string;
agent_name?: string | null;
task: string;
-- kind: "schedule" | "event";
++ kind: "schedule" | "event" | "goal";
when: {
words: string;
cron?: string | null;
@@@ -266128,6 +266128,59 @@ export interface ActorTrigger {
} | null;
} | null;
};
++ /**
++ * A goal trigger's progress: what it keeps working toward and how far it has got. Null for a schedule or event trigger.
++ */
++ goal?: {
++ /**
++ * The goal in the person's words, the sentence that made it: "keep checking the price of the Framework 13 every 30 minutes until it drops under €120".
++ */
++ text: string;
++ /**
++ * The check the agent evaluates each run and answers yes or no with a short reason: "the price is under €120".
++ */
++ done_test: string;
++ /**
++ * How many runs of the goal have finished.
++ */
++ runs_used: number;
++ /**
++ * The most runs allowed; the goal ends when it reaches it. Null for no run limit.
++ */
++ runs_max?: number | null;
++ /**
++ * What its runs have spent so far.
++ */
++ spent_usd?: number;
++ /**
++ * The most its runs may spend; the goal ends when it reaches it. Null for only the person's own allowance.
++ */
++ budget_usd?: number | null;
++ /**
++ * The end of the goal's time: after it the goal ends whether or not the done-test passed. Null for no deadline.
++ */
++ deadline_at?: string | null;
++ /**
++ * The last run's reason the done-test is not met yet, in its words: "€134".
++ */
++ not_yet?: string | null;
++ /**
++ * The last run's answer to the done-test.
++ */
++ verdict?: {
++ done: boolean;
++ reason: string;
++ at: string;
++ } | null;
++ } | null;
++ /**
++ * Whether each run's answer is posted into the conversation that made the trigger, under its card. Default true.
++ */
++ answer_in_chat?: boolean;
++ /**
++ * Whether the person is also told through OpenVibe's notifications when a run finishes. Default false: the answer in the chat is the telling, unless they asked for more.
++ */
++ notify?: boolean;
next_run_at?: string | null;
last_run?: {
task_id: string;
@@@ -266135,8 +266188,8 @@ export interface ActorTrigger {
at: string;
error?: string | null;
} | null;
-- state: "active" | "paused";
-- paused_reason?: "person" | "failed" | null;
++ state: "active" | "paused" | "done";
++ paused_reason?: "person" | "failed" | "done" | "budget" | "deadline" | null;
failures?: number;
watch?: {
id: string;
ddiff --git a/package-lock.json b/package-lock.json
iindex e992467b..bff2266a 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -1,12 +1,12 @@
{
"name": "openvibe-contracts",
-- "version": "0.334.0",
++ "version": "0.338.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "openvibe-contracts",
-- "version": "0.334.0",
++ "version": "0.338.0",
"license": "AGPL-3.0-only",
"dependencies": {
"ajv": "^8.17.1",
ddiff --git a/package.json b/package.json
iindex 6b31c029..4a713268 100644
---- a/package.json
++++ b/package.json
@@@ -1,6 +1,6 @@
{
"name": "openvibe-contracts",
-- "version": "0.337.0",
++ "version": "0.338.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",