agent-lattice 0.24.0 → 0.25.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.
package/README.md CHANGED
@@ -544,6 +544,15 @@ The structure is enforced by the harness, not by prompt discipline:
544
544
  - The name is reserved: registering your own `submit_output` tool while
545
545
  `outputSchema` is set throws from `createAgent`/`addTools`.
546
546
 
547
+ By default a valid submission ends the run immediately — the bounded, cheapest
548
+ behavior for schema-delivering workers. For human-facing sessions that should
549
+ close with a natural-language summary, set `submitOutputEndTurn: false`: the
550
+ submission is recorded (re-submitting revises it, last one wins), the tool
551
+ result goes back to the model, and the run ends when the model stops. A text
552
+ ending after a submission succeeds with the last submission as
553
+ `structuredResult`; ending without any submission still fails with
554
+ `error_missing_output`. *Requires 0.25.0 or later.*
555
+
547
556
  Unlike `outputFormat` (which relies on the provider's
548
557
  `response_format`/`json_schema` support — DeepSeek ignores it, see
549
558
  [Provider Compatibility](https://docs.claude-code-sdk.com/reference/provider-compatibility/)),
package/dist/index.d.ts CHANGED
@@ -603,6 +603,19 @@ export type AgentOptions<TContext = unknown> = {
603
603
  * with the same name throws).
604
604
  */
605
605
  outputSchema?: OutputSchema;
606
+ /**
607
+ * Whether a validated `submit_output` call ends the run. Only meaningful with
608
+ * `outputSchema`; default `true` — submitting finishes the run immediately
609
+ * with subtype "success", the bounded and cheapest behavior for
610
+ * schema-delivering workers. Set `false` to keep the loop going after a
611
+ * submission (e.g. human-facing sessions that should close with a
612
+ * natural-language summary): the submission is recorded — re-submitting
613
+ * revises it, last one wins — the tool result goes back to the model, and
614
+ * the run ends when the model stops. A text ending after a submission
615
+ * succeeds with the last submission as `SDKResultMessage.structuredResult`;
616
+ * ending without any submission still fails with `error_missing_output`.
617
+ */
618
+ submitOutputEndTurn?: boolean;
606
619
  /** Lifecycle callbacks that rewrite tool results and outgoing model requests. */
607
620
  hooks?: AgentHooks<TContext>;
608
621
  /**