@namzu/sdk 50.1.0 → 51.1.0

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.
Files changed (161) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  3. package/dist/bridge/sse/mapper.js +1 -0
  4. package/dist/bridge/sse/mapper.js.map +1 -1
  5. package/dist/execution/code-runtime/types.d.ts +35 -0
  6. package/dist/execution/code-runtime/types.d.ts.map +1 -1
  7. package/dist/execution/code-runtime/types.js.map +1 -1
  8. package/dist/execution/code-runtime/worker-program.d.ts +1 -1
  9. package/dist/execution/code-runtime/worker-program.d.ts.map +1 -1
  10. package/dist/execution/code-runtime/worker-program.js +72 -13
  11. package/dist/execution/code-runtime/worker-program.js.map +1 -1
  12. package/dist/execution/code-runtime/worker.d.ts.map +1 -1
  13. package/dist/execution/code-runtime/worker.js +35 -1
  14. package/dist/execution/code-runtime/worker.js.map +1 -1
  15. package/dist/execution/workflow/errors.d.ts +5 -0
  16. package/dist/execution/workflow/errors.d.ts.map +1 -0
  17. package/dist/execution/workflow/errors.js +8 -0
  18. package/dist/execution/workflow/errors.js.map +1 -0
  19. package/dist/execution/workflow/index.d.ts +9 -0
  20. package/dist/execution/workflow/index.d.ts.map +1 -0
  21. package/dist/execution/workflow/index.js +6 -0
  22. package/dist/execution/workflow/index.js.map +1 -0
  23. package/dist/execution/workflow/journal.d.ts +18 -0
  24. package/dist/execution/workflow/journal.d.ts.map +1 -0
  25. package/dist/execution/workflow/journal.js +43 -0
  26. package/dist/execution/workflow/journal.js.map +1 -0
  27. package/dist/execution/workflow/meta.d.ts +14 -0
  28. package/dist/execution/workflow/meta.d.ts.map +1 -0
  29. package/dist/execution/workflow/meta.js +314 -0
  30. package/dist/execution/workflow/meta.js.map +1 -0
  31. package/dist/execution/workflow/phases.d.ts +32 -0
  32. package/dist/execution/workflow/phases.d.ts.map +1 -0
  33. package/dist/execution/workflow/phases.js +57 -0
  34. package/dist/execution/workflow/phases.js.map +1 -0
  35. package/dist/execution/workflow/prelude.d.ts +15 -0
  36. package/dist/execution/workflow/prelude.d.ts.map +1 -0
  37. package/dist/execution/workflow/prelude.js +128 -0
  38. package/dist/execution/workflow/prelude.js.map +1 -0
  39. package/dist/execution/workflow/runtime.d.ts +31 -0
  40. package/dist/execution/workflow/runtime.d.ts.map +1 -0
  41. package/dist/execution/workflow/runtime.js +682 -0
  42. package/dist/execution/workflow/runtime.js.map +1 -0
  43. package/dist/execution/workflow/schema.d.ts +10 -0
  44. package/dist/execution/workflow/schema.d.ts.map +1 -0
  45. package/dist/execution/workflow/schema.js +145 -0
  46. package/dist/execution/workflow/schema.js.map +1 -0
  47. package/dist/execution/workflow/types.d.ts +267 -0
  48. package/dist/execution/workflow/types.d.ts.map +1 -0
  49. package/dist/execution/workflow/types.js +7 -0
  50. package/dist/execution/workflow/types.js.map +1 -0
  51. package/dist/index.d.ts +1 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +1 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/plugin/shell-hook.d.ts.map +1 -1
  56. package/dist/plugin/shell-hook.js +2 -1
  57. package/dist/plugin/shell-hook.js.map +1 -1
  58. package/dist/process/kill-tree.d.ts +7 -0
  59. package/dist/process/kill-tree.d.ts.map +1 -1
  60. package/dist/process/kill-tree.js +41 -0
  61. package/dist/process/kill-tree.js.map +1 -1
  62. package/dist/provider/errors.d.ts +10 -0
  63. package/dist/provider/errors.d.ts.map +1 -1
  64. package/dist/provider/errors.js +16 -0
  65. package/dist/provider/errors.js.map +1 -1
  66. package/dist/provider/retry.d.ts +27 -0
  67. package/dist/provider/retry.d.ts.map +1 -1
  68. package/dist/provider/retry.js +19 -3
  69. package/dist/provider/retry.js.map +1 -1
  70. package/dist/provider/token-budget.d.ts.map +1 -1
  71. package/dist/provider/token-budget.js +31 -2
  72. package/dist/provider/token-budget.js.map +1 -1
  73. package/dist/public-runtime.d.ts +1 -0
  74. package/dist/public-runtime.d.ts.map +1 -1
  75. package/dist/public-runtime.js +3 -0
  76. package/dist/public-runtime.js.map +1 -1
  77. package/dist/public-tools.d.ts +1 -1
  78. package/dist/public-tools.d.ts.map +1 -1
  79. package/dist/public-tools.js +1 -1
  80. package/dist/public-tools.js.map +1 -1
  81. package/dist/public-types.d.ts +3 -0
  82. package/dist/public-types.d.ts.map +1 -1
  83. package/dist/runtime/jobs/job-id.d.ts +21 -0
  84. package/dist/runtime/jobs/job-id.d.ts.map +1 -0
  85. package/dist/runtime/jobs/job-id.js +66 -0
  86. package/dist/runtime/jobs/job-id.js.map +1 -0
  87. package/dist/runtime/jobs/registry.d.ts +0 -1
  88. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  89. package/dist/runtime/jobs/registry.js +2 -3
  90. package/dist/runtime/jobs/registry.js.map +1 -1
  91. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  92. package/dist/runtime/query/iteration/stream-turn.js +24 -1
  93. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  94. package/dist/runtime/query/prompt.d.ts.map +1 -1
  95. package/dist/runtime/query/prompt.js +5 -1
  96. package/dist/runtime/query/prompt.js.map +1 -1
  97. package/dist/tools/builtins/bash.d.ts +8 -1
  98. package/dist/tools/builtins/bash.d.ts.map +1 -1
  99. package/dist/tools/builtins/bash.js +20 -3
  100. package/dist/tools/builtins/bash.js.map +1 -1
  101. package/dist/tools/builtins/job.d.ts.map +1 -1
  102. package/dist/tools/builtins/job.js +4 -0
  103. package/dist/tools/builtins/job.js.map +1 -1
  104. package/dist/tools/builtins/wait-for-job.d.ts.map +1 -1
  105. package/dist/tools/builtins/wait-for-job.js +4 -0
  106. package/dist/tools/builtins/wait-for-job.js.map +1 -1
  107. package/dist/tools/command-shell.d.ts +55 -0
  108. package/dist/tools/command-shell.d.ts.map +1 -1
  109. package/dist/tools/command-shell.js +174 -13
  110. package/dist/tools/command-shell.js.map +1 -1
  111. package/dist/types/provider/error.d.ts +6 -0
  112. package/dist/types/provider/error.d.ts.map +1 -1
  113. package/dist/types/provider/errors.d.ts.map +1 -1
  114. package/dist/types/provider/errors.js +15 -1
  115. package/dist/types/provider/errors.js.map +1 -1
  116. package/dist/types/provider/stream.d.ts +6 -0
  117. package/dist/types/provider/stream.d.ts.map +1 -1
  118. package/dist/types/session/events.d.ts +5 -0
  119. package/dist/types/session/events.d.ts.map +1 -1
  120. package/dist/types/session/events.js.map +1 -1
  121. package/dist/utils/backoff.d.ts +12 -0
  122. package/dist/utils/backoff.d.ts.map +1 -1
  123. package/dist/utils/backoff.js +15 -0
  124. package/dist/utils/backoff.js.map +1 -1
  125. package/package.json +1 -1
  126. package/src/agents/AGENTS.md +134 -46
  127. package/src/bridge/sse/mapper.ts +1 -0
  128. package/src/execution/code-runtime/types.ts +37 -1
  129. package/src/execution/code-runtime/worker-program.ts +72 -13
  130. package/src/execution/code-runtime/worker.ts +40 -1
  131. package/src/execution/workflow/errors.ts +7 -0
  132. package/src/execution/workflow/index.ts +8 -0
  133. package/src/execution/workflow/journal.ts +46 -0
  134. package/src/execution/workflow/meta.ts +316 -0
  135. package/src/execution/workflow/phases.ts +91 -0
  136. package/src/execution/workflow/prelude.ts +135 -0
  137. package/src/execution/workflow/runtime.ts +786 -0
  138. package/src/execution/workflow/schema.ts +137 -0
  139. package/src/execution/workflow/types.ts +300 -0
  140. package/src/index.ts +4 -0
  141. package/src/plugin/shell-hook.ts +2 -1
  142. package/src/process/kill-tree.ts +43 -0
  143. package/src/provider/errors.ts +18 -0
  144. package/src/provider/retry.ts +53 -3
  145. package/src/provider/token-budget.ts +31 -1
  146. package/src/public-runtime.ts +11 -0
  147. package/src/public-tools.ts +6 -0
  148. package/src/public-types.ts +3 -0
  149. package/src/runtime/jobs/job-id.ts +66 -0
  150. package/src/runtime/jobs/registry.ts +2 -3
  151. package/src/runtime/query/iteration/stream-turn.ts +24 -1
  152. package/src/runtime/query/prompt.ts +5 -1
  153. package/src/tools/builtins/bash.ts +33 -3
  154. package/src/tools/builtins/job.ts +4 -0
  155. package/src/tools/builtins/wait-for-job.ts +4 -0
  156. package/src/tools/command-shell.ts +194 -11
  157. package/src/types/provider/error.ts +6 -0
  158. package/src/types/provider/errors.ts +16 -1
  159. package/src/types/provider/stream.ts +6 -0
  160. package/src/types/session/events.ts +5 -0
  161. package/src/utils/backoff.ts +21 -0
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/types/session/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/types/session/events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/types/session/events.ts"],"names":[],"mappings":"AA6rCA;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAkC,IAAI,GAAG,CAAmB;IAC7F,YAAY;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;CACf,CAAC,CAAA;AAEF,MAAM,UAAU,gBAAgB,CAAC,KAAgC;IAChE,OAAO,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAwB,CAAC,CAAA;AACjE,CAAC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/types/session/events.ts"],"names":[],"mappings":"AAksCA;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAkC,IAAI,GAAG,CAAmB;IAC7F,YAAY;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;CACf,CAAC,CAAA;AAEF,MAAM,UAAU,gBAAgB,CAAC,KAAgC;IAChE,OAAO,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAwB,CAAC,CAAA;AACjE,CAAC"}
@@ -33,6 +33,18 @@ export interface BackoffPolicy {
33
33
  * them on every attempt, which is a herd this loop creates itself.
34
34
  */
35
35
  export declare function backoffWithJitter(attempt: number, policy: BackoffPolicy, random?: () => number): number;
36
+ /**
37
+ * Exponential backoff that only ever adds jitter: the delay is the exponential
38
+ * step plus up to `ratio` of itself (a quarter by default), never less.
39
+ *
40
+ * Full jitter spreads a herd better but can answer a failure after a few
41
+ * milliseconds, which is a poor way to treat a server that just said it is
42
+ * struggling. This curve keeps the floor of every step, so a person watching a
43
+ * countdown sees a wait that grows the way the numbers on screen say it does.
44
+ *
45
+ * `attempt` is 0-based: attempt 0 draws from `[initialDelayMs, initialDelayMs * (1 + ratio)]`.
46
+ */
47
+ export declare function backoffProportional(attempt: number, policy: BackoffPolicy, random?: () => number, ratio?: number): number;
36
48
  /**
37
49
  * Sleep, unless the signal says not to.
38
50
  *
@@ -1 +1 @@
1
- {"version":3,"file":"backoff.d.ts","sourceRoot":"","sources":["../../src/utils/backoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC7B,2CAA2C;IAC3C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,EACrB,MAAM,GAAE,MAAM,MAAoB,GAChC,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBrE"}
1
+ {"version":3,"file":"backoff.d.ts","sourceRoot":"","sources":["../../src/utils/backoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC7B,2CAA2C;IAC3C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,EACrB,MAAM,GAAE,MAAM,MAAoB,GAChC,MAAM,CAGR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,EACrB,MAAM,GAAE,MAAM,MAAoB,EAClC,KAAK,SAAO,GACV,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBrE"}
@@ -29,6 +29,21 @@ export function backoffWithJitter(attempt, policy, random = Math.random) {
29
29
  const exponential = Math.min(policy.initialDelayMs * 2 ** attempt, policy.maxDelayMs);
30
30
  return Math.round(random() * exponential);
31
31
  }
32
+ /**
33
+ * Exponential backoff that only ever adds jitter: the delay is the exponential
34
+ * step plus up to `ratio` of itself (a quarter by default), never less.
35
+ *
36
+ * Full jitter spreads a herd better but can answer a failure after a few
37
+ * milliseconds, which is a poor way to treat a server that just said it is
38
+ * struggling. This curve keeps the floor of every step, so a person watching a
39
+ * countdown sees a wait that grows the way the numbers on screen say it does.
40
+ *
41
+ * `attempt` is 0-based: attempt 0 draws from `[initialDelayMs, initialDelayMs * (1 + ratio)]`.
42
+ */
43
+ export function backoffProportional(attempt, policy, random = Math.random, ratio = 0.25) {
44
+ const exponential = Math.min(policy.initialDelayMs * 2 ** attempt, policy.maxDelayMs);
45
+ return Math.round(exponential + random() * ratio * exponential);
46
+ }
32
47
  /**
33
48
  * Sleep, unless the signal says not to.
34
49
  *
@@ -1 +1 @@
1
- {"version":3,"file":"backoff.js","sourceRoot":"","sources":["../../src/utils/backoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAChC,OAAe,EACf,MAAqB,EACrB,SAAuB,IAAI,CAAC,MAAM;IAElC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,IAAI,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACrF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAA;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,MAAoB;IACrD,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IACrC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrB,OAAM;QACP,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC7C,OAAO,EAAE,CAAA;QACV,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACvB,CAAC,CAAA;QACD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"backoff.js","sourceRoot":"","sources":["../../src/utils/backoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAChC,OAAe,EACf,MAAqB,EACrB,SAAuB,IAAI,CAAC,MAAM;IAElC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,IAAI,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACrF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAA;AAC1C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAClC,OAAe,EACf,MAAqB,EACrB,SAAuB,IAAI,CAAC,MAAM,EAClC,KAAK,GAAG,IAAI;IAEZ,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,IAAI,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACrF,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,EAAE,GAAG,KAAK,GAAG,WAAW,CAAC,CAAA;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,MAAoB;IACrD,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IACrC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrB,OAAM;QACP,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC7C,OAAO,EAAE,CAAA;QACV,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACvB,CAAC,CAAA;QACD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/sdk",
3
- "version": "50.1.0",
3
+ "version": "51.1.0",
4
4
  "description": "Open-source AI agent SDK with a built-in runtime. Nothing between you and your agents.",
5
5
  "license": "FSL-1.1-MIT",
6
6
  "engines": {
@@ -40,52 +40,140 @@ list of agent kinds.
40
40
  declared, not inferred.
41
41
  - **`runAgent.ts`** — the entry a host calls.
42
42
 
43
- ## The decided position: control flow is authored by a developer
44
-
45
- A model may choose *what* to do — which tool, which delegate, in what order
46
- within a turn. It does not author the *program* that runs those choices.
47
-
48
- The proposal this rules on is a model-emitted orchestration SCRIPT —
49
- `agent()`, `parallel()`, `pipeline()` as globals — executed in an isolate, so
50
- that logic between steps costs no model turns. It is refused, and the reason
51
- is the trust boundary rather than the feature's value.
52
-
53
- **The argument.** `bash` from a model is mediated by `packages/sandbox`
54
- because code from a model is untrusted input. A model-authored script is the
55
- same input through a different door, and a strictly more powerful one: it can
56
- call back into the agent surface, spawn delegates and spend budget, which a
57
- shell command reaching only the filesystem cannot. Running it in-process would
58
- leave the kernel's one clearly-drawn confinement boundary covering the weaker
59
- case and not the stronger. So an isolate is mandatory rather than an
60
- optimisation — and once it is mandatory, the capability costs a **second
61
- mediated execution surface** to secure, audit, version and keep in step with
62
- the first.
63
-
64
- **What it would buy, measured honestly.** Model turns spent on orchestration
65
- between steps. That is real, and most of it is already available: `PipelineAgent`
66
- spends none, and `SupervisorAgent`'s concurrent `create_task` fan-out spends
67
- one turn for N children. The remaining gap is orchestration a developer did
68
- not anticipate and a model invents at runtime — which is also the case where a
69
- wrong program is hardest to review before it runs.
70
-
71
- ## The bar a reopen has to clear
72
-
73
- Not "someone wants it". Specifically:
74
-
75
- 1. **A decided trust model**, in writing, before any code: mediated by
76
- `packages/sandbox` like `bash`, or not at all. "Decide later" is the
77
- answer this refusal rejects.
78
- 2. **A second execution surface worth its own maintenance** — its own
79
- confinement, its own audit records, its own version story. If the answer
80
- is "reuse the sandbox", show how a script that calls `agent()` is confined
81
- by a boundary designed for a subprocess.
82
- 3. **A measured gap**, against `PipelineAgent` and concurrent `create_task`
83
- rather than against a single sequential agent. The comparison the original
84
- proposal made was to the wrong baseline.
85
-
86
- Recorded in `ses_020`'s decision log as D5. If the owner reverses it, replace
87
- this section rather than adding to it — two stances in one file is how the
88
- first one got lost.
43
+ ## The decided position: a model may author a workflow script, confined
44
+
45
+ Decided by the owner on **2026-10-18**, reversing the earlier refusal (D5,
46
+ which kept control flow developer-authored). The earlier text named the bar a
47
+ reopen had to clear: a written trust model before any code, a second
48
+ execution surface worth its own maintenance, a measured gap. This section is
49
+ the first; the second is the code under `execution/workflow/`; the third is
50
+ the table below, measured on 2026-10-18 and not met (see its reading).
51
+
52
+ A model may choose *what* to do, and it may also author a **workflow script**:
53
+ a program run once in the background that decides how many subagents run, with
54
+ which prompts, in which order and under which phase titles. The runtime
55
+ (`WorkflowRuntime`, `docs/sdk/workflows.md`) schedules them. A workflow's
56
+ agents are not subagent rows and not separate notifications; the `Agent` tool
57
+ stays the way a model starts one subagent.
58
+
59
+ ### Trust model
60
+
61
+ 1. **The script is untrusted model input**, exactly like a `bash` command
62
+ line. It is never evaluated in the host's Node process.
63
+ 2. **Confinement is the `run_code` interpreter**, not a new one. The script
64
+ runs in a fresh QuickJS WASM interpreter in a worker thread
65
+ (`execution/code-runtime`, `WorkerCodeRuntime`): no filesystem, network,
66
+ process, module loading or host timers; JSON-only crossings; a memory
67
+ ceiling; source and value size limits; a CPU interrupt on synchronous
68
+ loops. A workflow is a second *bridge* on that surface, not a second
69
+ interpreter. The workflow bridge differs in one respect: it bounds
70
+ interpreter CPU time (per synchronous stretch and in total) instead of the
71
+ run's wall clock while the script awaits its agents, because agents take
72
+ minutes.
73
+ 3. **One capability: `agent()`.** The bridge admits exactly one host call,
74
+ `agent`. It starts a subagent through the host's own delegation path (the
75
+ same permission mode and rules, sandbox, tool sets, accounting and
76
+ cancellation as the `Agent` tool), so a script cannot widen a grant, pick a
77
+ tool set the `Agent` tool could not, run a command or read a file. Prompts
78
+ are data. `parallel`, `pipeline`, `phase`, `log`, `args` and `budget` live
79
+ inside the interpreter. The host re-validates every call; the in-interpreter
80
+ prelude is convenience, never enforcement.
81
+ 4. **Review before it runs.** The host (WF2, the CLI tool) shows the script's
82
+ `meta`, the agent cap and the script text, and the operator approves once,
83
+ unless the session is in bypass. Headless sessions with no reviewer refuse
84
+ it unless in bypass.
85
+ 5. **Opt-in offering.** The tool is offered only when the operator asked for
86
+ orchestration (hypermode, the word "workflow", or a slash command or skill).
87
+ 6. **Limits.** Concurrent agents `min(8, cpus - 2)` (at most 16); agents per
88
+ run 200 (at most 1000); script source 256 KiB; interpreter memory 64 MiB;
89
+ one bridge value 1 MiB; an optional token budget that stops new agents;
90
+ all with plain errors.
91
+ 7. **Audit.** Every run is journaled: the script and its sha256, `meta`,
92
+ `args`, one record per `agent()` request and outcome, phase announcements,
93
+ `log()` lines and the final result. Each agent keeps its own transcript.
94
+
95
+ Not in v1, each a later and separate decision: nested `workflow()`, worktree
96
+ isolation, resume from a journal, saved or named workflows.
97
+
98
+ ### The measured gap (WF3, 2026-10-18)
99
+
100
+ Same two tasks three ways on small fixture repos (a fresh git repo per run, a
101
+ checker script for correctness): **2 phases x 3 agents** (scan three packages
102
+ for a seeded defect, then fix each; the checker runs the three self-tests and
103
+ requires that nothing but the three `index.js` files changed) and a **10-item
104
+ pipeline** (extract, then write a derived file per item; the checker verifies
105
+ all ten JSON files). Ways: (a) one CLI parent fanning out with labelled `Agent`
106
+ calls (the prompt never says "workflow"), (b) concurrent `create_task` through
107
+ `SupervisorAgent` and `AgentManager` from the SDK, (c) the `workflow` tool
108
+ (`namzu exec --permission-mode auto`, prompt says "use a workflow").
109
+
110
+ **Real model**, `space-bunny-free` on the keyless Zen free route (every request
111
+ went to `opencode.ai/inference/v1/chat/completions` from an `env -i` process
112
+ with no credential, and none returned a non-200 in the rows below). Frozen
113
+ build `d8a7e2f23`. Median (min-max) over the reps that finished:
114
+
115
+ | Task | Way | Reps | Parent requests | Parent tokens | Child requests | Child tokens | Wall time | Correct |
116
+ | --- | --- | --- | --- | --- | --- | --- | --- | --- |
117
+ | 2 phases x 3 agents | (a) `Agent` fan-out | 2 | 7 (7-7) | 117,761 (116,263-119,259) | 23 (23-23) | 181,040 (174,347-187,732) | 60 s (57-62) | 2/2 |
118
+ | 2 phases x 3 agents | (b) `create_task` | 2 | 6 (5-6) | 34,428 (28,171-40,685) | 31 (29-32) | 153,850 (142,475-165,224) | 46 s (43-49) | 2/2 |
119
+ | 2 phases x 3 agents | (c) workflow | 2 | 9 (7-11) | 150,984 (111,614-190,354) | 20 (19-21) | 152,263 (147,307-157,219) | 51 s (45-56) | 2/2 |
120
+ | 10-item pipeline | (a) `Agent` fan-out | 2 | 9 (7-11) | 188,078 (150,833-225,323) | 56 (46-65) | 426,912 (352,653-501,170) | 62 s (56-67) | 2/2 |
121
+ | 10-item pipeline | (b) `create_task` | 2 | 8 (7-9) | 69,678 (62,780-76,575) | 76 (70-82) | 356,317 (322,126-390,507) | 83 s (77-88) | 2/2 |
122
+ | 10-item pipeline | (c) workflow | 1 | 26 | 604,756 | 291 | 2,348,135 | 213 s | 1/1 |
123
+
124
+ Not measured: a second (c) rep of the 10-item pipeline. It was rate limited
125
+ mid-run (Zen answered 429 with "retry delay at least 20 hours" for every free
126
+ model, so no further real-model run was possible that day) and is excluded, not
127
+ counted as a failure.
128
+
129
+ **Scripted model**, same rows, deterministic (the model emits every call of a
130
+ stage in one response; tokens are request bytes / 4, so compare ways, not
131
+ absolutes): the parent takes **3 requests in every way** for both tasks, and
132
+ the fan-out is the same (6 children, 15 child requests; 20 children, 40 child
133
+ requests). `Agent` and `create_task` parents spend 41.8k and 44.7k estimated
134
+ tokens (CLI parent: a 27-tool prefix of about 12k tokens per request); the workflow
135
+ parent 43.7k and 43.9k; the `SupervisorAgent` harness parent 9.1k and 14.7k
136
+ because it carries no CLI system prompt or builtin tools, which is a property of
137
+ the harness and not of `create_task`.
138
+
139
+ Sources: parent and child request counts and tokens are summed from the
140
+ `message_completed` records of the root session JSONL and of
141
+ `<session>/subagents/*.jsonl` (cross-checked against a fetch-recording
142
+ `--require` hook: parent + child requests equalled the hook's count of chat
143
+ requests in every CLI run); for (b) from the `SupervisorAgent` result and the
144
+ same hook (parent = requests offering `create_task`). Wall time is the process's
145
+ own, start to exit.
146
+
147
+ **Reading.** There is no measured gap in the workflow's favour, and on this
148
+ model it lost the larger task.
149
+
150
+ - The two-phase task is a tie. Parent requests (7, 6, 9) and wall time (60, 46,
151
+ 51 s) are within each other's range, every run was correct, and the workflow
152
+ parent spent as many or more tokens than the `Agent` parent. The parent's cost
153
+ is the request prefix times the number of requests, and a model offered
154
+ `workflow` still explored first, kept a task list and verified afterwards, as
155
+ the `Agent` parent did.
156
+ - With a model that batches the calls of a stage into one response, a fan-out
157
+ needs no more parent requests than a workflow (3 and 3), so the workflow does
158
+ not save requests on a fixed two-stage shape. What a workflow could still
159
+ buy is not exercised here: children returned one line each, so the parent
160
+ context never grew, and there was no failure to repair mid-run. Concurrency
161
+ does not separate them either: the `Agent` parent also ran at most 8 children
162
+ at once (measured from the child sessions' timestamps).
163
+ - The 10-item pipeline run took 5 workflow runs. The model's script misused
164
+ `pipeline` (first argument not an array, though the tool description gives the
165
+ signature), asked children for schema-validated JSON that 4 of 10 did not
166
+ produce, and passed `args.ids` as numbers while believing they were strings, so
167
+ its padded file names came out wrong. Each repair re-ran the work, which is why
168
+ child requests and tokens are 5x and 6x the `Agent` way. Whether a stronger
169
+ model scripts it in one run is not measured.
170
+ - Caveat on (b): the harness parent has no CLI prompt, so its parent-token
171
+ column is not comparable to (a) and (c).
172
+ - Caveat on scale: two reps, one model, two fixtures. The ranges overlap for
173
+ every comparison except the pipeline's workflow row.
174
+
175
+ If a later change reverses this again, replace this section rather than
176
+ adding to it: two stances in one file is how the first one got lost.
89
177
 
90
178
  ## Working here
91
179
 
@@ -219,6 +219,7 @@ const MAPPING: {
219
219
  code: e.code,
220
220
  status: e.status,
221
221
  server_directed: e.serverDirected,
222
+ ...(e.restart ? { restart: true } : {}),
222
223
  }),
223
224
  },
224
225
 
@@ -83,11 +83,47 @@ export interface RunCodeOptions {
83
83
  */
84
84
  readonly maxOutputBytes: number
85
85
  readonly signal?: AbortSignal
86
+ /**
87
+ * Replace the single wall-clock interrupt with a CPU budget.
88
+ *
89
+ * By default `timeoutMs` bounds synchronous interpreter execution as well
90
+ * as the whole run, so a program waiting on slow host calls is stopped at
91
+ * the same deadline as one spinning in a loop. A host that legitimately
92
+ * awaits long host operations (a workflow awaiting subagents) sets this:
93
+ * the interpreter is then interrupted when ONE synchronous slice (the time
94
+ * between entering the interpreter and handing control back) exceeds
95
+ * `sliceMs`, or all slices together exceed `totalMs`. Time spent awaiting
96
+ * the host is not counted. `timeoutMs` still bounds the run's wall clock.
97
+ */
98
+ readonly cpuLimits?: { readonly sliceMs: number; readonly totalMs: number }
99
+ /**
100
+ * Called with each line the program prints, in order, as it is printed and
101
+ * within `maxOutputBytes`. A line is data, not a capability: the callback
102
+ * must treat it as untrusted text.
103
+ */
104
+ readonly onOutput?: (line: string) => void
105
+ }
106
+
107
+ export interface CodeFrame {
108
+ readonly line: number
109
+ readonly column: number
86
110
  }
87
111
 
88
112
  export type CodeRunOutcome =
89
113
  | { readonly status: 'completed'; readonly result: unknown }
90
- | { readonly status: 'failed'; readonly error: string }
114
+ | {
115
+ readonly status: 'failed'
116
+ readonly error: string
117
+ /** The thrown value's `name`, when it was an error object. */
118
+ readonly errorName?: string
119
+ /**
120
+ * Where the interpreter says the program failed: innermost first, line and
121
+ * column counted in the submitted `source` (1-based). Absent when the
122
+ * interpreter gave no location (a non-error was thrown, or the failure was
123
+ * not in the program).
124
+ */
125
+ readonly frames?: readonly CodeFrame[]
126
+ }
91
127
  | { readonly status: 'timed-out' }
92
128
  | { readonly status: 'cancelled' }
93
129
 
@@ -18,7 +18,33 @@ async function main() {
18
18
  const runtime = module.newRuntime()
19
19
  runtime.setMemoryLimit(limits.memoryLimitBytes)
20
20
  runtime.setMaxStackSize(512 * 1024)
21
- runtime.setInterruptHandler(() => Date.now() >= workerData.deadline)
21
+ // Two ways to bound a program's synchronous execution. Default: one wall
22
+ // deadline for the whole run. With \`cpu\`: a budget per synchronous slice
23
+ // (each entry into the interpreter) and a total across slices, so a program
24
+ // that spends hours AWAITING the host is not stopped, but a busy loop is.
25
+ const cpu = workerData.cpu
26
+ let sliceDepth = 0
27
+ let sliceStart = 0
28
+ let cpuUsed = 0
29
+ let interrupted = false
30
+ function inSlice(fn) {
31
+ if (!cpu) return fn()
32
+ if (sliceDepth === 0) sliceStart = Date.now()
33
+ sliceDepth++
34
+ try { return fn() }
35
+ finally {
36
+ sliceDepth--
37
+ if (sliceDepth === 0) cpuUsed += Date.now() - sliceStart
38
+ }
39
+ }
40
+ runtime.setInterruptHandler(() => {
41
+ const now = Date.now()
42
+ const stop = cpu
43
+ ? sliceDepth > 0 && (now - sliceStart >= cpu.sliceMs || cpuUsed + (now - sliceStart) >= cpu.totalMs)
44
+ : now >= workerData.deadline
45
+ if (stop) interrupted = true
46
+ return stop
47
+ })
22
48
  const vm = runtime.newContext()
23
49
  const pending = new Map()
24
50
  let nextId = 0
@@ -68,6 +94,8 @@ async function main() {
68
94
  const decode = keep(vm.evalCode('(function () { const parse = JSON.parse; return function(value) { return parse(value); }; })()'))
69
95
  const errorText = keep(vm.evalCode('(function () { const string = String; return function(error) { try { return typeof error.message === "string" ? error.message : string(error); } catch { return "The program failed."; } }; })()'))
70
96
 
97
+ const errorMeta = keep(vm.evalCode('(function () { const string = String; const stringify = JSON.stringify; return function(error) { try { return stringify({ name: typeof error.name === "string" ? error.name : "", stack: typeof error.stack === "string" ? error.stack : "" }); } catch { return "{}"; } }; })()'))
98
+
71
99
  function textValue(handle, maximum) {
72
100
  const length = vm.getProp(handle, 'length')
73
101
  try {
@@ -97,6 +125,24 @@ async function main() {
97
125
  catch { return 'The program failed with an oversized error.' }
98
126
  finally { result.value.dispose() }
99
127
  }
128
+ // The guest error's message plus its name and stack, so the host can say
129
+ // where in the program it failed. Stack text is untrusted and only parsed
130
+ // for line and column numbers.
131
+ function failureError(handle) {
132
+ const error = new Error(failureText(handle))
133
+ try {
134
+ const result = vm.callFunction(errorMeta, vm.undefined, handle)
135
+ if (result.error) result.error.dispose()
136
+ else {
137
+ try {
138
+ const meta = JSON.parse(textValue(result.value, 4096))
139
+ error.guestName = String(meta.name || '').slice(0, 64)
140
+ error.guestStack = String(meta.stack || '').slice(0, 3072)
141
+ } finally { result.value.dispose() }
142
+ }
143
+ } catch {}
144
+ return error
145
+ }
100
146
  function dispose() {
101
147
  for (const deferred of pending.values()) deferred.dispose()
102
148
  pending.clear()
@@ -114,9 +160,9 @@ async function main() {
114
160
  parentPort.postMessage(message)
115
161
  }
116
162
  function fail(error) {
117
- finish(Date.now() >= workerData.deadline
163
+ finish(interrupted || Date.now() >= workerData.deadline
118
164
  ? { kind: 'timed-out' }
119
- : { kind: 'error', error: String(error && error.message || error).slice(0, 4096) })
165
+ : { kind: 'error', error: String(error && error.message || error).slice(0, 4096), name: error && error.guestName, stack: error && error.guestStack })
120
166
  }
121
167
  function schedule() {
122
168
  if (ended || scheduled) return
@@ -125,13 +171,22 @@ async function main() {
125
171
  }
126
172
  function pump() {
127
173
  if (ended || pumping) return
174
+ inSlice(pumpOnce)
175
+ }
176
+ function pumpOnce() {
128
177
  pumping = true
129
178
  try {
179
+ // A program that never lets one slice run long (a loop of awaited
180
+ // microtasks) is still bounded by the total CPU budget.
181
+ if (cpu && cpuUsed >= cpu.totalMs) {
182
+ interrupted = true
183
+ throw new Error('The program used its CPU budget.')
184
+ }
130
185
  const jobs = runtime.executePendingJobs(32)
131
186
  if (jobs.error) {
132
- const error = failureText(jobs.error)
187
+ const error = failureError(jobs.error)
133
188
  jobs.error.dispose()
134
- throw new Error(error)
189
+ throw error
135
190
  }
136
191
  const state = vm.getPromiseState(program)
137
192
  if (state.type === 'fulfilled') {
@@ -141,9 +196,9 @@ async function main() {
141
196
  finish({ kind: 'done', json })
142
197
  } else if (state.type === 'rejected') {
143
198
  let error
144
- try { error = failureText(state.error) }
199
+ try { error = failureError(state.error) }
145
200
  finally { state.error.dispose() }
146
- fail(new Error(error))
201
+ fail(error)
147
202
  } else if (runtime.hasPendingJob()) schedule()
148
203
  } catch (error) { fail(error) }
149
204
  finally { pumping = false }
@@ -207,6 +262,7 @@ async function main() {
207
262
  if (!deferred) return
208
263
  pending.delete(message.id)
209
264
  try {
265
+ inSlice(() => {
210
266
  if (message.ok) {
211
267
  let value = vm.undefined
212
268
  if (message.json !== undefined) {
@@ -223,16 +279,19 @@ async function main() {
223
279
  error.dispose()
224
280
  }
225
281
  deferred.dispose()
282
+ })
226
283
  schedule()
227
284
  } catch (error) { deferred.dispose(); fail(error) }
228
285
  })
229
286
  try {
230
- const result = vm.evalCode('(async () => {\\n' + workerData.source + '\\n})()', 'model-program.js')
231
- if (result.error) {
232
- const error = failureText(result.error)
233
- result.error.dispose()
234
- fail(new Error(error))
235
- } else { program = result.value; pump() }
287
+ inSlice(() => {
288
+ const result = vm.evalCode('(async () => {\\n' + workerData.source + '\\n})()', 'model-program.js')
289
+ if (result.error) {
290
+ const error = failureError(result.error)
291
+ result.error.dispose()
292
+ fail(error)
293
+ } else { program = result.value; pump() }
294
+ })
236
295
  } catch (error) { fail(error) }
237
296
  }
238
297
  main().catch((error) => parentPort.postMessage({ kind: 'error', error: String(error && error.message || error).slice(0, 4096) }))
@@ -3,6 +3,7 @@ import { Worker } from 'node:worker_threads'
3
3
 
4
4
  import { encodeCodeValue } from './json-value.js'
5
5
  import {
6
+ type CodeFrame,
6
7
  type CodeRunResult,
7
8
  type CodeRuntime,
8
9
  HostCallDeniedError,
@@ -10,6 +11,30 @@ import {
10
11
  } from './types.js'
11
12
  import { QUICKJS_WORKER_SOURCE } from './worker-program.js'
12
13
 
14
+ /** The worker wraps the program in `(async () => {` plus a newline: one line. */
15
+ const WRAPPER_LINES = 1
16
+ const FRAME_PATTERN = /model-program\.js:(\d+):(\d+)/g
17
+
18
+ function failureLocation(
19
+ name: unknown,
20
+ stack: unknown,
21
+ sourceLines: number,
22
+ ): { errorName?: string; frames?: readonly CodeFrame[] } {
23
+ const frames: CodeFrame[] = []
24
+ if (typeof stack === 'string') {
25
+ for (const match of stack.matchAll(FRAME_PATTERN)) {
26
+ const line = Number(match[1]) - WRAPPER_LINES
27
+ // The wrapper's own lines (its opening, and the closing after the source)
28
+ // are not in what the caller submitted.
29
+ if (line >= 1 && line <= sourceLines) frames.push({ line, column: Number(match[2]) })
30
+ }
31
+ }
32
+ return {
33
+ ...(typeof name === 'string' && name !== '' ? { errorName: name } : {}),
34
+ ...(frames.length > 0 ? { frames } : {}),
35
+ }
36
+ }
37
+
13
38
  const requireFromSdk = createRequire(import.meta.url)
14
39
 
15
40
  /** Resource policy for one fresh QuickJS worker execution. */
@@ -74,6 +99,10 @@ export class WorkerCodeRuntime implements CodeRuntime {
74
99
  async run(options: RunCodeOptions): Promise<CodeRunResult> {
75
100
  validateInteger('timeoutMs', options.timeoutMs, 1, 2_147_483_647)
76
101
  validateInteger('maxOutputBytes', options.maxOutputBytes, 0, 16 * 1024 * 1024)
102
+ if (options.cpuLimits) {
103
+ validateInteger('cpuLimits.sliceMs', options.cpuLimits.sliceMs, 1, 2_147_483_647)
104
+ validateInteger('cpuLimits.totalMs', options.cpuLimits.totalMs, 1, 2_147_483_647)
105
+ }
77
106
  const allowed = new Set(options.allowedCalls)
78
107
  const calls: { name: string; ok: boolean }[] = []
79
108
  let output = ''
@@ -120,6 +149,11 @@ export class WorkerCodeRuntime implements CodeRuntime {
120
149
  }
121
150
  output = next
122
151
  printCount++
152
+ try {
153
+ options.onOutput?.(line)
154
+ } catch {
155
+ // A listener bug must not decide the program's outcome.
156
+ }
123
157
  }
124
158
  }
125
159
 
@@ -131,6 +165,7 @@ export class WorkerCodeRuntime implements CodeRuntime {
131
165
  variantPath: requireFromSdk.resolve('@jitl/quickjs-wasmfile-release-sync'),
132
166
  limits: this.limits,
133
167
  maxOutputBytes: options.maxOutputBytes,
168
+ cpu: options.cpuLimits,
134
169
  deadline: Date.now() + options.timeoutMs,
135
170
  },
136
171
  // Trusted bootstrap requires Node; guest code runs only inside QuickJS.
@@ -344,7 +379,11 @@ export class WorkerCodeRuntime implements CodeRuntime {
344
379
 
345
380
  if (message.kind === 'error') {
346
381
  finish({
347
- outcome: { status: 'failed', error: String(message.error) },
382
+ outcome: {
383
+ status: 'failed',
384
+ error: String(message.error),
385
+ ...failureLocation(message.name, message.stack, options.source.split('\n').length),
386
+ },
348
387
  output,
349
388
  outputTruncated: truncated,
350
389
  calls,