@stigmer/runner-slim 3.12.5 → 3.12.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/runner-slim",
3
- "version": "3.12.5",
3
+ "version": "3.12.6",
4
4
  "description": "Self-contained Stigmer runner build for embedding in desktop apps — the bundle-friendly @stigmer/runner",
5
5
  "license": "Apache-2.0",
6
6
  "engines": {
@@ -16,11 +16,11 @@
16
16
  "jq-wasm": "^1.1.0-jq-1.8.1"
17
17
  },
18
18
  "optionalDependencies": {
19
- "@stigmer/runner-slim-darwin-arm64": "3.12.5",
20
- "@stigmer/runner-slim-darwin-x64": "3.12.5",
21
- "@stigmer/runner-slim-linux-x64": "3.12.5",
22
- "@stigmer/runner-slim-linux-arm64": "3.12.5",
23
- "@stigmer/runner-slim-win32-x64": "3.12.5"
19
+ "@stigmer/runner-slim-darwin-arm64": "3.12.6",
20
+ "@stigmer/runner-slim-darwin-x64": "3.12.6",
21
+ "@stigmer/runner-slim-linux-x64": "3.12.6",
22
+ "@stigmer/runner-slim-linux-arm64": "3.12.6",
23
+ "@stigmer/runner-slim-win32-x64": "3.12.6"
24
24
  },
25
25
  "keywords": [
26
26
  "stigmer",
@@ -26909,7 +26909,8 @@ __webpack_require__.r(__webpack_exports__);
26909
26909
  * Human input task executor — HITL approval gate.
26910
26910
  *
26911
26911
  * Pauses workflow execution until a human reviewer responds via signal.
26912
- * Supports configurable timeout with policies (fail, auto-approve, auto-deny).
26912
+ * Supports configurable timeout with policies (fail, auto-approve,
26913
+ * auto-deny, escalate).
26913
26914
  *
26914
26915
  * The kernel validates the config and delegates to `ctx.awaitHumanInput()`
26915
26916
  * which is wired to the Temporal workflow layer's signal/timer selector.
@@ -27017,6 +27018,12 @@ function validateConfig(config, taskName) {
27017
27018
  * orchestrator's internal approve/deny words, which a reviewer of a
27018
27019
  * custom-outcome gate was never offered. Binary gates (no custom outcomes)
27019
27020
  * keep the plain approve/deny result.
27021
+ *
27022
+ * Escalate needs no remapping by construction (stigmer/stigmer#781): its
27023
+ * policy word IS the declared outcome's name — the loader (and the server
27024
+ * validator) only accept the escalate policy when an outcome named
27025
+ * "escalate" with `then` exists, so the caller's ordinary name lookup
27026
+ * routes the escalation branch.
27020
27027
  */
27021
27028
  function applyTimeoutOutcomeContract(result, outcomes) {
27022
27029
  if (!result.auto_resolved || result.reason !== "timeout" || !outcomes?.length) {
@@ -28977,6 +28984,10 @@ __webpack_require__.r(__webpack_exports__);
28977
28984
  * - "fail": throws an error
28978
28985
  * - "approve": returns auto-approved output
28979
28986
  * - "deny": returns auto-denied output
28987
+ * - "escalate": returns the "escalate" outcome — by the outcome-by-name
28988
+ * contract (stigmer/stigmer#781) the loader guarantees the gate declares
28989
+ * an outcome with that exact name and a `then` branch, so the executor's
28990
+ * ordinary outcome routing takes the escalation path.
28980
28991
  *
28981
28992
  * Signal payload shape:
28982
28993
  * { outcome, form_data?, reviewer, reviewer_actor?, responded_at }
@@ -29022,6 +29033,15 @@ function handleTimeout(signalName, policy) {
29022
29033
  auto_resolved: true,
29023
29034
  reason: "timeout",
29024
29035
  };
29036
+ case "escalate":
29037
+ // The outcome word IS the declared outcome's name (loader-enforced),
29038
+ // so no positional remapping happens downstream — the executor's name
29039
+ // lookup routes the escalation branch directly.
29040
+ return {
29041
+ outcome: "escalate",
29042
+ auto_resolved: true,
29043
+ reason: "timeout",
29044
+ };
29025
29045
  case "fail":
29026
29046
  default:
29027
29047
  throw new Error(`human_input task timed out waiting for signal '${signalName}'`);