openpond 0.0.59 → 0.0.61

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 (131) hide show
  1. package/dist/chunks/{actions-command-BNVIILSL.js → actions-command-QVYIPEN5.js} +2 -2
  2. package/dist/chunks/{app-layer-RNQXXM6L.js → app-layer-GCNXR4F3.js} +5 -5
  3. package/dist/chunks/{app-server-runtime-YCKU23ON.js → app-server-runtime-737DBOSH.js} +9 -8
  4. package/dist/chunks/{apps-LV3CSMLT.js → apps-JB3POF6Z.js} +5 -5
  5. package/dist/chunks/{chunk-LMQ4MPQI.js → chunk-32R4GQD3.js} +51 -57
  6. package/dist/chunks/{chunk-2E6OPEM5.js → chunk-5HMXXGWZ.js} +3 -3
  7. package/dist/chunks/{chunk-3PKCT4JC.js → chunk-6RMGHEFF.js} +1 -1
  8. package/dist/chunks/{chunk-I23UKEYS.js → chunk-B3WVCPXG.js} +46 -14
  9. package/dist/chunks/{chunk-EWS67RLV.js → chunk-BQQS5RRI.js} +15531 -12433
  10. package/dist/chunks/{chunk-SKUS4NPW.js → chunk-IZ3XGRAG.js} +154 -5
  11. package/dist/chunks/{chunk-PVGJXCAK.js → chunk-L5JTI6LQ.js} +52 -52
  12. package/dist/chunks/{chunk-RC3N77IV.js → chunk-LBIVEX6V.js} +33 -33
  13. package/dist/chunks/{chunk-QNYFZ4I5.js → chunk-NPEWMLRH.js} +1 -1
  14. package/dist/chunks/{chunk-NFNEENNR.js → chunk-OYWTQABY.js} +1 -1
  15. package/dist/chunks/{chunk-VG4H4TQG.js → chunk-TOMMZN6V.js} +1757 -55
  16. package/dist/chunks/{chunk-FHP7OMEI.js → chunk-XIUCBUUQ.js} +1 -1
  17. package/dist/chunks/{chunk-DXSHQ6TO.js → chunk-XSHMPOQV.js} +10 -5
  18. package/dist/chunks/{chunk-63N6442Q.js → chunk-YSVY4O42.js} +1 -1
  19. package/dist/chunks/{chunk-7QLVLGDM.js → chunk-ZAX7MLQJ.js} +1 -1
  20. package/dist/chunks/{chunk-2J3LG4U7.js → chunk-ZJPLJP2Q.js} +2 -2
  21. package/dist/chunks/{cli-V4VB2VBY.js → cli-MFFCFH3P.js} +7 -7
  22. package/dist/chunks/{core-commands-H2UC3LHG.js → core-commands-KCFU7U5Y.js} +6 -6
  23. package/dist/chunks/{desktop-test-TV64EY5A.js → desktop-test-FEQVX4N4.js} +5 -5
  24. package/dist/chunks/{extension-XMWCG6YG.js → extension-M4DH25KH.js} +16 -51
  25. package/dist/chunks/{help-NEYFMHWQ.js → help-ZUIE4EPY.js} +1 -1
  26. package/dist/chunks/{opchat-ZL5JJQ5L.js → opchat-7KRZIFFD.js} +5 -5
  27. package/dist/chunks/{organizations-4IEC35QB.js → organizations-ZWPFNM6K.js} +7 -7
  28. package/dist/chunks/{profile-EVASCDIN.js → profile-GF57OWI6.js} +6 -6
  29. package/dist/chunks/{project-agent-DMN64RZJ.js → project-agent-65MXZHGM.js} +6 -6
  30. package/dist/chunks/{sandbox-command-WKGVO32R.js → sandbox-command-WH2OQRHP.js} +6 -6
  31. package/dist/chunks/{sandbox-template-BJUS4KJM.js → sandbox-template-W5HU24TF.js} +7 -7
  32. package/dist/chunks/{src-2AX2MUD4.js → src-O5QXOQ5H.js} +1946 -2101
  33. package/dist/chunks/{src-KLQEJ6RO.js → src-YUIJKNIC.js} +4 -4
  34. package/dist/chunks/{teams-bot-HUXYJ6XA.js → teams-bot-5ATLXSHC.js} +5 -5
  35. package/dist/chunks/{workspaces-FPIBAG7G.js → workspaces-4XJ3GXL4.js} +2 -2
  36. package/dist/cli.js +13 -13
  37. package/dist/index.js +10 -5
  38. package/dist/sandbox/sandbox-instance-client.d.ts +2 -1
  39. package/dist/sandbox/types/org-project-agent.d.ts +10 -1
  40. package/dist/web/assets/{AppDialog-CxLYXiI1.js → AppDialog-BvdkukM_.js} +1 -1
  41. package/dist/web/assets/{AppsView-CVTUkahv.js → AppsView-9h3-BQbk.js} +1 -1
  42. package/dist/web/assets/BrowserSidebar-C6WJ5wIu.js +1 -0
  43. package/dist/web/assets/CommandMenu-C7en9zgQ.js +1 -0
  44. package/dist/web/assets/CommunityView-CoqI6Dks.js +1 -0
  45. package/dist/web/assets/ComposerCreateImproveStrip-DMq6A2Ba.js +1 -0
  46. package/dist/web/assets/{GetStartedView-l9MUYMYH.js → GetStartedView-B-zgx1jI.js} +1 -1
  47. package/dist/web/assets/LabModelVersionDetailPage-CkNOBygO.js +1 -0
  48. package/dist/web/assets/LabSkillSidebar-CmRHuu78.js +1 -0
  49. package/dist/web/assets/LabsRoute-DLPZqEev.js +3 -0
  50. package/dist/web/assets/MainChatThread-CFGsODmc.js +2 -0
  51. package/dist/web/assets/MainPane-B2kcZpM0.js +6 -0
  52. package/dist/web/assets/MarkdownText-C4Ixpl-i.js +9 -0
  53. package/dist/web/assets/Messages-DmEk_BWS.js +10 -0
  54. package/dist/web/assets/NativeSkillSidebar-Cn824hrX.js +1 -0
  55. package/dist/web/assets/{NewProjectDialog-CiGPfI5s.js → NewProjectDialog-BFEDv4Ga.js} +1 -1
  56. package/dist/web/assets/OutputsPage-hfQyqQzx.js +1 -0
  57. package/dist/web/assets/RightChatPanelStack-CiPKX3Ea.js +1 -0
  58. package/dist/web/assets/ScheduledWorkPage-CyoZsUCe.js +1 -0
  59. package/dist/web/assets/SettingsView-BZkrIOc0.css +1 -0
  60. package/dist/web/assets/SettingsView-DWWs9gel.js +6 -0
  61. package/dist/web/assets/TeamChatView-C4RWAO8c.js +3 -0
  62. package/dist/web/assets/{TerminalOverlay-Bb0RJR04.js → TerminalOverlay-CpsPuPIM.js} +1 -1
  63. package/dist/web/assets/TrainingCreationPanel-DMLpUVbJ.js +1 -0
  64. package/dist/web/assets/TrainingDraftPanel-gAhpwkYs.js +1 -0
  65. package/dist/web/assets/{UsageSettingsSection-Cdc_jGFX.js → UsageSettingsSection-WBtxLhBx.js} +1 -1
  66. package/dist/web/assets/WorkspaceDiffPanel-CUpwqvzZ.js +14 -0
  67. package/dist/web/assets/WorkspaceEnvironmentMenu-LIbOBT4f.js +32 -0
  68. package/dist/web/assets/{WorkspaceGitDialogs-CK6ahRty.js → WorkspaceGitDialogs-8y7rRSou.js} +1 -1
  69. package/dist/web/assets/{WorkspaceMonacoEditor-BQoN7jWa.js → WorkspaceMonacoEditor-BpHmWrCD.js} +3 -3
  70. package/dist/web/assets/{arrow-up-right-CzBZuWNj.js → arrow-up-right-3TbyK1ec.js} +1 -1
  71. package/dist/web/assets/{chevron-up-DW-qEVSP.js → chevron-up-C4tTuxXs.js} +1 -1
  72. package/dist/web/assets/{cloud-upload-CjLR-8-r.js → cloud-upload-ZGHLWEn3.js} +1 -1
  73. package/dist/web/assets/{cssMode-CQQJhS7v.js → cssMode-kfZCOm_r.js} +1 -1
  74. package/dist/web/assets/{folder-open-BpUcIJHn.js → folder-open-C4WG_lDr.js} +1 -1
  75. package/dist/web/assets/{folder-plus-8NHsIAxQ.js → folder-plus-CKRaDeR3.js} +1 -1
  76. package/dist/web/assets/{git-branch-DO3iP_fL.js → git-branch-yLi5tff8.js} +1 -1
  77. package/dist/web/assets/{git-commit-horizontal-BSWa2I3g.js → git-commit-horizontal-BPyGYak3.js} +1 -1
  78. package/dist/web/assets/{htmlMode-DaAKO9wk.js → htmlMode-DT--Et9k.js} +1 -1
  79. package/dist/web/assets/index--lwjVZXT.js +178 -0
  80. package/dist/web/assets/index-B_HvNtwl.css +1 -0
  81. package/dist/web/assets/index-C9-OtZl8.js +1 -0
  82. package/dist/web/assets/{info-DiEvrUda.js → info-CzzHwSUb.js} +1 -1
  83. package/dist/web/assets/{jsonMode-Biu1ZTZ7.js → jsonMode-CKg1GzqC.js} +1 -1
  84. package/dist/web/assets/{lspLanguageFeatures-lwoDxGgl.js → lspLanguageFeatures-B76Yo6xo.js} +1 -1
  85. package/dist/web/assets/{monaco.contribution-DzHhgeLy.js → monaco.contribution-BRuQU-2A.js} +2 -2
  86. package/dist/web/assets/{monaco.contribution-BqQSY5-t.js → monaco.contribution-CLpGfCSS.js} +2 -2
  87. package/dist/web/assets/{monaco.contribution-Ic8LKME8.js → monaco.contribution-CS3H8RrD.js} +2 -2
  88. package/dist/web/assets/{monaco.contribution-Ce2MS2Nv.js → monaco.contribution-DqeexNAI.js} +2 -2
  89. package/dist/web/assets/{play-D9F3t5Cx.js → play-EDFh3BPS.js} +1 -1
  90. package/dist/web/assets/{python-BhVCwr-K.js → python-De_Vr_hD.js} +1 -1
  91. package/dist/web/assets/{refresh-cw-DRN17xPU.js → refresh-cw-DRJJ-X1U.js} +1 -1
  92. package/dist/web/assets/{save-CDZwpzlG.js → save-BSxqIWP6.js} +1 -1
  93. package/dist/web/assets/{square-Cf_AXs4a.js → square-BV-Vgh5a.js} +1 -1
  94. package/dist/web/assets/{toggleHighContrast-Bb_m9pXM.js → toggleHighContrast-1Suz4cxo.js} +1 -1
  95. package/dist/web/assets/{tsMode-BaWkaSHN.js → tsMode-DMyzpvFI.js} +1 -1
  96. package/dist/web/assets/{upload-Cef29aCP.js → upload-jVxCW0dO.js} +1 -1
  97. package/dist/web/assets/{useLocalAgentSchedules-CAAqoZ0V.js → useLocalAgentSchedules-DNpnOBA8.js} +1 -1
  98. package/dist/web/assets/{wifi-off-C8cC22F6.js → wifi-off-IzGGiOX_.js} +1 -1
  99. package/dist/web/assets/{workers-GOdHtcZt.js → workers-Crdnk6Zy.js} +1 -1
  100. package/dist/web/assets/{yaml-jBIxwMeR.js → yaml-CF3tmjgW.js} +1 -1
  101. package/dist/web/index.html +2 -2
  102. package/package.json +1 -1
  103. package/dist/web/assets/BrowserSidebar-oHniLA05.js +0 -1
  104. package/dist/web/assets/CommandMenu-Db_5OiKs.js +0 -1
  105. package/dist/web/assets/CommunityView-HTwMEO-T.js +0 -1
  106. package/dist/web/assets/ComposerCreateImproveStrip-ER26yFe-.js +0 -1
  107. package/dist/web/assets/LabModelVersionDetailPage-Dgf-DlJi.js +0 -1
  108. package/dist/web/assets/LabSkillSidebar-CyX8sVm1.js +0 -1
  109. package/dist/web/assets/LabsRoute-BC1ST9qT.js +0 -3
  110. package/dist/web/assets/MainChatThread-BfW92Rv1.js +0 -2
  111. package/dist/web/assets/MainPane-DlciH8yR.js +0 -6
  112. package/dist/web/assets/MarkdownText-CyOeCVjf.js +0 -9
  113. package/dist/web/assets/Messages-BDtEbIKv.js +0 -9
  114. package/dist/web/assets/NativeSkillSidebar-D0BlvEtE.js +0 -1
  115. package/dist/web/assets/OutputsPage-DNU2yD7q.js +0 -1
  116. package/dist/web/assets/RightChatPanelStack-Cs63fQwk.js +0 -1
  117. package/dist/web/assets/ScheduledWorkPage-DMKHFbeE.js +0 -1
  118. package/dist/web/assets/SettingsView-C39BqlSI.css +0 -1
  119. package/dist/web/assets/SettingsView-L0g-g2fL.js +0 -6
  120. package/dist/web/assets/TeamChatView-CSVMTUAE.js +0 -3
  121. package/dist/web/assets/TrainingCreationPanel-VIWlpVV2.js +0 -1
  122. package/dist/web/assets/TrainingDraftPanel-MTYsR-Ry.js +0 -1
  123. package/dist/web/assets/WorkspaceDiffPanel-BgIbxMMu.js +0 -14
  124. package/dist/web/assets/WorkspaceEnvironmentMenu-C97GqYn9.js +0 -32
  125. package/dist/web/assets/circle-alert-B_xROoPY.js +0 -1
  126. package/dist/web/assets/folder-git-2-ktXin28y.js +0 -1
  127. package/dist/web/assets/folder-tLv6TMN2.js +0 -1
  128. package/dist/web/assets/index-BtiK52K1.js +0 -1
  129. package/dist/web/assets/index-CE2hroF6.css +0 -1
  130. package/dist/web/assets/index-DHxBMQIJ.js +0 -174
  131. package/dist/web/assets/square-pen-ChJgNiDm.js +0 -1
@@ -6,15 +6,16 @@ import {
6
6
  readApiJson,
7
7
  resolveOpChatApiBaseUrl,
8
8
  sendHostedChatTurn
9
- } from "./chunk-DXSHQ6TO.js";
9
+ } from "./chunk-XSHMPOQV.js";
10
10
 
11
11
  // ../../packages/sdk/src/work.ts
12
12
  var DEFAULT_MODEL = "openpond-chat";
13
13
  var DEFAULT_MAX_STEPS = 24;
14
14
  var MAX_TOOL_OUTPUT_CHARS = 4e4;
15
- var WORK_OUTPUT_DIRECTORY = "/workspace/outputs";
16
- var WORK_INPUT_DIRECTORY = "/workspace/inputs/previous-outputs";
17
- var WORK_INPUT_MANIFEST = "/workspace/inputs/.openpond-context.json";
15
+ var MAX_WORK_COMMAND_CHARS = 2e4;
16
+ var WORK_OUTPUT_DIRECTORY = "outputs";
17
+ var WORK_INPUT_DIRECTORY = "inputs/previous-outputs";
18
+ var WORK_INPUT_MANIFEST = "inputs/.openpond-context.json";
18
19
  var MAX_WORK_OUTPUTS = 100;
19
20
  var MAX_WORK_INPUTS = 100;
20
21
  var MAX_WORK_INPUT_BYTES = 100 * 1024 * 1024;
@@ -332,6 +333,11 @@ var OpenPondWorkClient = class {
332
333
  }
333
334
  const command = typeof args.command === "string" ? args.command.trim() : "";
334
335
  if (!command) return toolMessage(toolCallId, { error: "command is required" });
336
+ if (command.length > MAX_WORK_COMMAND_CHARS) {
337
+ const output = `command exceeds the ${MAX_WORK_COMMAND_CHARS} character limit`;
338
+ await emit({ type: "tool", toolCallId, command, status: "failed", output });
339
+ return toolMessage(toolCallId, { status: "failed", error: output });
340
+ }
335
341
  await emit({ type: "tool", toolCallId, command, status: "started" });
336
342
  try {
337
343
  const response = await this.#sandboxes.exec(sandboxId, {
@@ -371,7 +377,12 @@ var WORK_TOOLS = [
371
377
  type: "object",
372
378
  additionalProperties: false,
373
379
  properties: {
374
- command: { type: "string", description: "Shell command to execute." }
380
+ command: {
381
+ type: "string",
382
+ minLength: 1,
383
+ maxLength: MAX_WORK_COMMAND_CHARS,
384
+ description: "Shell command to execute."
385
+ }
375
386
  },
376
387
  required: ["command"]
377
388
  }
@@ -601,11 +612,147 @@ function projectActionPath(projectId, suffix, teamId) {
601
612
  return `/v1/project-actions/${encodeURIComponent(projectId)}/${suffix}?teamId=${encodeURIComponent(teamId)}`;
602
613
  }
603
614
 
615
+ // ../../packages/sdk/src/profile-actions.ts
616
+ var OpenPondProfileActionsClient = class {
617
+ #apiKey;
618
+ #apiBaseUrl;
619
+ constructor(input) {
620
+ this.#apiKey = input.apiKey;
621
+ this.#apiBaseUrl = input.apiBaseUrl.replace(/\/+$/, "");
622
+ }
623
+ async catalog(input) {
624
+ const teamId = requiredValue(input.teamId, "teamId");
625
+ const search = new URLSearchParams({ teamId });
626
+ if (input.profileId?.trim()) search.set("profileId", input.profileId.trim());
627
+ if (input.profileName?.trim()) {
628
+ search.set("profileName", input.profileName.trim());
629
+ }
630
+ const response = await apiFetch(
631
+ this.#apiBaseUrl,
632
+ this.#apiKey,
633
+ `/v1/profile/actions?${search.toString()}`
634
+ );
635
+ return (await readApiJson(
636
+ response,
637
+ "Get Profile Action catalog"
638
+ )).catalog;
639
+ }
640
+ async run(input) {
641
+ const teamId = requiredValue(input.teamId, "teamId");
642
+ const actionKey = requiredValue(input.actionKey, "actionKey");
643
+ const idempotencyKey = requiredValue(input.idempotencyKey, "idempotencyKey");
644
+ const catalogVersion = requiredValue(input.catalogVersion, "catalogVersion");
645
+ const response = await apiFetch(
646
+ this.#apiBaseUrl,
647
+ this.#apiKey,
648
+ `/v1/profile/actions/run?${new URLSearchParams({ teamId }).toString()}`,
649
+ {
650
+ method: "POST",
651
+ headers: { "Content-Type": "application/json" },
652
+ body: JSON.stringify({
653
+ ...input.profileId?.trim() ? { profileId: input.profileId.trim() } : {},
654
+ ...input.profileName?.trim() ? { profileName: input.profileName.trim() } : {},
655
+ actionKey,
656
+ value: input.value ?? {},
657
+ conversationId: input.conversationId ?? null,
658
+ createConversation: input.createConversation,
659
+ conversationTitle: input.conversationTitle ?? null,
660
+ idempotencyKey,
661
+ catalogVersion,
662
+ externalCapabilityLeases: input.externalCapabilityLeases
663
+ })
664
+ }
665
+ );
666
+ return readApiJson(
667
+ response,
668
+ "Run Profile Action"
669
+ );
670
+ }
671
+ };
672
+ function requiredValue(value, name) {
673
+ const normalized = value.trim();
674
+ if (!normalized) throw new Error(`${name} is required`);
675
+ return normalized;
676
+ }
677
+
678
+ // ../../packages/sdk/src/workflows.ts
679
+ import { randomUUID } from "node:crypto";
680
+ var OpenPondWorkflowsClient = class {
681
+ #apiKey;
682
+ #apiBaseUrl;
683
+ constructor(input) {
684
+ this.#apiKey = input.apiKey;
685
+ this.#apiBaseUrl = input.apiBaseUrl.replace(/\/+$/, "");
686
+ }
687
+ async list(options = {}) {
688
+ return this.#request("", "List Workflows", {
689
+ signal: options.signal
690
+ });
691
+ }
692
+ async create(input, options = {}) {
693
+ return this.#request("", "Create Workflow", {
694
+ method: "POST",
695
+ body: JSON.stringify({
696
+ ...input,
697
+ clientRequestId: input.clientRequestId?.trim() || randomUUID()
698
+ }),
699
+ signal: options.signal
700
+ });
701
+ }
702
+ async update(scheduleId, input, options = {}) {
703
+ return this.#request(
704
+ `/schedules/${encodeURIComponent(requiredId(scheduleId, "scheduleId"))}`,
705
+ "Update Workflow",
706
+ {
707
+ method: "PATCH",
708
+ body: JSON.stringify(input),
709
+ signal: options.signal
710
+ }
711
+ );
712
+ }
713
+ async delete(scheduleId, options = {}) {
714
+ return this.#request(
715
+ `/schedules/${encodeURIComponent(requiredId(scheduleId, "scheduleId"))}`,
716
+ "Delete Workflow",
717
+ { method: "DELETE", signal: options.signal }
718
+ );
719
+ }
720
+ async runNow(scheduleId, input = {}, options = {}) {
721
+ return this.#request(
722
+ `/schedules/${encodeURIComponent(requiredId(scheduleId, "scheduleId"))}/run`,
723
+ "Run Workflow",
724
+ {
725
+ method: "POST",
726
+ body: JSON.stringify({
727
+ clientRequestId: input.clientRequestId?.trim() || randomUUID()
728
+ }),
729
+ signal: options.signal
730
+ }
731
+ );
732
+ }
733
+ async #request(suffix, label, options = {}) {
734
+ const response = await apiFetch(
735
+ this.#apiBaseUrl,
736
+ this.#apiKey,
737
+ `/v1/saved-work${suffix}`,
738
+ options
739
+ );
740
+ return readApiJson(response, label);
741
+ }
742
+ };
743
+ function requiredId(value, label) {
744
+ const normalized = value.trim();
745
+ if (!normalized) throw new Error(`${label} is required`);
746
+ return normalized;
747
+ }
748
+
604
749
  // ../../packages/sdk/src/index.ts
605
750
  var OpenPondClient = class {
606
751
  sandboxes;
607
752
  work;
753
+ workflows;
608
754
  actions;
755
+ profileActions;
609
756
  constructor(options) {
610
757
  const apiKey = options.apiKey.trim();
611
758
  if (!apiKey) throw new Error("OpenPond API key is required");
@@ -621,7 +768,9 @@ var OpenPondClient = class {
621
768
  chatApiBaseUrl: options.chatApiUrl?.trim() || resolveOpChatApiBaseUrl({ apiBaseUrl, env: {} }),
622
769
  sandboxes: this.sandboxes
623
770
  });
771
+ this.workflows = new OpenPondWorkflowsClient({ apiKey, apiBaseUrl });
624
772
  this.actions = new OpenPondProjectActionsClient({ apiKey, apiBaseUrl });
773
+ this.profileActions = new OpenPondProfileActionsClient({ apiKey, apiBaseUrl });
625
774
  }
626
775
  };
627
776
  function createOpenPondClient(options) {
@@ -9,12 +9,13 @@ import {
9
9
  HarnessTurnSnapshotSchema,
10
10
  HarnessWorkspaceSchema,
11
11
  LifecycleContractSchema,
12
+ OptimizerTrainingSampleSchema,
12
13
  SandboxTemplateManifestSchema,
13
14
  SandboxTemplateValidationDiagnosticSchema,
14
15
  ToolDeclarationSchema,
15
16
  createHarnessAdvanceReceipt,
16
17
  validateConnectedAppToolCallRequest
17
- } from "./chunk-VG4H4TQG.js";
18
+ } from "./chunk-TOMMZN6V.js";
18
19
  import {
19
20
  external_exports,
20
21
  yaml
@@ -23,7 +24,7 @@ import {
23
24
  DEFAULT_OPENPOND_API_BASE_URL,
24
25
  DEFAULT_OPENPOND_WEB_BASE_URL,
25
26
  apiFetch
26
- } from "./chunk-DXSHQ6TO.js";
27
+ } from "./chunk-XSHMPOQV.js";
27
28
 
28
29
  // ../../packages/cloud/dist/profile/profile-skills.js
29
30
  import { createHash } from "node:crypto";
@@ -6202,7 +6203,8 @@ var CreateSessionRequestSchema = external_exports.object({
6202
6203
  currentProfile: OpenPondProfileRefSchema.nullable().optional(),
6203
6204
  metadata: external_exports.record(external_exports.string(), external_exports.unknown()).optional(),
6204
6205
  cwd: external_exports.string().nullable().optional(),
6205
- title: external_exports.string().optional()
6206
+ title: external_exports.string().optional(),
6207
+ autoTitlePrompt: external_exports.string().trim().min(1).max(2e4).optional()
6206
6208
  });
6207
6209
  var UploadLocalProjectCloudSourceRequestSchema = external_exports.object({
6208
6210
  teamId: external_exports.string().trim().min(1),
@@ -6449,6 +6451,7 @@ var UpdateHostedSavedWorkRequestSchema = external_exports.union([
6449
6451
  // ../../packages/contracts/dist/runtime.js
6450
6452
  var RuntimeEventNameSchema = external_exports.enum([
6451
6453
  "session.started",
6454
+ "session.title.updated",
6452
6455
  "turn.started",
6453
6456
  "assistant.delta",
6454
6457
  "assistant.reasoning.delta",
@@ -7677,6 +7680,33 @@ var WORK_FORMAT_CAPABILITIES = [
7677
7680
  validation: ["structural"],
7678
7681
  creation: "built_in"
7679
7682
  },
7683
+ {
7684
+ family: "code",
7685
+ extensions: [
7686
+ ".css",
7687
+ ".js",
7688
+ ".jsx",
7689
+ ".mjs",
7690
+ ".py",
7691
+ ".sql",
7692
+ ".ts",
7693
+ ".tsx",
7694
+ ".yaml",
7695
+ ".yml"
7696
+ ],
7697
+ contentTypes: [
7698
+ "application/javascript",
7699
+ "application/sql",
7700
+ "application/yaml",
7701
+ "text/css",
7702
+ "text/javascript",
7703
+ "text/typescript",
7704
+ "text/yaml"
7705
+ ],
7706
+ preview: "text",
7707
+ validation: ["structural"],
7708
+ creation: "built_in"
7709
+ },
7680
7710
  {
7681
7711
  family: "document",
7682
7712
  extensions: [".docx"],
@@ -7766,31 +7796,48 @@ var WORK_FORMAT_CAPABILITIES = [
7766
7796
  var WORK_OUTPUT_CONTENT_TYPES = Object.freeze({
7767
7797
  ".avif": "image/avif",
7768
7798
  ".csv": "text/csv",
7799
+ ".css": "text/css",
7769
7800
  ".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
7770
7801
  ".gif": "image/gif",
7771
7802
  ".html": "text/html",
7803
+ ".js": "text/javascript",
7804
+ ".jsx": "text/javascript",
7772
7805
  ".jpeg": "image/jpeg",
7773
7806
  ".jpg": "image/jpeg",
7774
7807
  ".json": "application/json",
7775
7808
  ".m4a": "audio/mp4",
7776
7809
  ".md": "text/markdown",
7810
+ ".mjs": "text/javascript",
7777
7811
  ".mov": "video/quicktime",
7778
7812
  ".mp3": "audio/mpeg",
7779
7813
  ".mp4": "video/mp4",
7780
7814
  ".pdf": "application/pdf",
7781
7815
  ".png": "image/png",
7782
7816
  ".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
7817
+ ".py": "text/plain",
7783
7818
  ".svg": "image/svg+xml",
7819
+ ".sql": "application/sql",
7784
7820
  ".tsv": "text/tab-separated-values",
7821
+ ".ts": "text/typescript",
7822
+ ".tsx": "text/typescript",
7785
7823
  ".txt": "text/plain",
7786
7824
  ".wav": "audio/wav",
7787
7825
  ".webm": "video/webm",
7788
7826
  ".webp": "image/webp",
7789
- ".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
7827
+ ".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
7828
+ ".yaml": "application/yaml",
7829
+ ".yml": "application/yaml"
7790
7830
  });
7791
7831
  function workFormatCapabilityForContentType(contentType) {
7792
7832
  return WORK_FORMAT_CAPABILITIES.find((capability) => capability.contentTypes.includes(contentType)) ?? null;
7793
7833
  }
7834
+ function workOutputMediaTypesCompatible(expectedContentType, actualContentType) {
7835
+ if (expectedContentType === actualContentType)
7836
+ return true;
7837
+ if (expectedContentType !== "text/plain")
7838
+ return false;
7839
+ return workFormatCapabilityForContentType(actualContentType)?.family === "code";
7840
+ }
7794
7841
 
7795
7842
  // ../../packages/contracts/dist/workspace-capabilities.js
7796
7843
  var WorkspaceProductKindSchema = external_exports.enum([
@@ -11746,54 +11793,6 @@ var LearningSignalBaseSchema2 = external_exports.object({
11746
11793
  contentHash: ReleaseHashSchema,
11747
11794
  metadata: external_exports.record(external_exports.string(), external_exports.unknown()).default({})
11748
11795
  }).strict();
11749
- var OptimizerTrainingSampleSchema = external_exports.object({
11750
- schemaVersion: external_exports.literal("openpond.optimizerTrainingSample.v1"),
11751
- tokenIds: external_exports.array(external_exports.number().int().nonnegative()).min(2).max(32768),
11752
- mask: external_exports.array(external_exports.boolean()).min(2).max(32768),
11753
- logprobs: external_exports.array(external_exports.number().finite()).min(2).max(32768),
11754
- temperatures: external_exports.array(external_exports.number().positive().finite()).min(2).max(32768),
11755
- envName: external_exports.string().trim().min(1).max(200),
11756
- modelRequestId: external_exports.string().trim().min(1).max(1e3),
11757
- promptTokenCount: external_exports.number().int().positive(),
11758
- completionTokenCount: external_exports.number().int().positive(),
11759
- servedPolicyVersion: external_exports.number().int().nonnegative()
11760
- }).strict().superRefine((sample, context) => {
11761
- const length = sample.tokenIds.length;
11762
- for (const [name, values] of [
11763
- ["mask", sample.mask],
11764
- ["logprobs", sample.logprobs],
11765
- ["temperatures", sample.temperatures]
11766
- ]) {
11767
- if (values.length !== length) {
11768
- context.addIssue({
11769
- code: "custom",
11770
- path: [name],
11771
- message: `${name} must align with tokenIds`
11772
- });
11773
- }
11774
- }
11775
- if (sample.promptTokenCount + sample.completionTokenCount !== length) {
11776
- context.addIssue({
11777
- code: "custom",
11778
- path: ["completionTokenCount"],
11779
- message: "prompt and completion token counts must span tokenIds"
11780
- });
11781
- }
11782
- if (sample.mask.filter((trainable) => !trainable).length !== sample.promptTokenCount) {
11783
- context.addIssue({
11784
- code: "custom",
11785
- path: ["mask"],
11786
- message: "promptTokenCount must equal the non-trainable mask count"
11787
- });
11788
- }
11789
- if (sample.mask.filter((trainable) => trainable).length !== sample.completionTokenCount) {
11790
- context.addIssue({
11791
- code: "custom",
11792
- path: ["mask"],
11793
- message: "completionTokenCount must equal the trainable mask count"
11794
- });
11795
- }
11796
- });
11797
11796
  var TrajectoryLearningSignalSchema = LearningSignalBaseSchema2.extend({
11798
11797
  kind: external_exports.literal("trajectory"),
11799
11798
  payload: external_exports.object({
@@ -12886,6 +12885,7 @@ export {
12886
12885
  WORK_FORMAT_CAPABILITIES,
12887
12886
  WORK_OUTPUT_CONTENT_TYPES,
12888
12887
  workFormatCapabilityForContentType,
12888
+ workOutputMediaTypesCompatible,
12889
12889
  OpenPondProfilePublicationPreviewRequestSchema,
12890
12890
  OpenPondProfilePublicationPublishRequestSchema,
12891
12891
  PatchLocalAgentScheduleRequestSchema,
@@ -397,7 +397,7 @@ var CLI_COMMAND_REGISTRY = [
397
397
  name: "help",
398
398
  usage: "openpond help",
399
399
  optionSchema: {},
400
- handler: async () => (await import("./help-NEYFMHWQ.js")).printHelp()
400
+ handler: async () => (await import("./help-ZUIE4EPY.js")).printHelp()
401
401
  },
402
402
  {
403
403
  name: "version",
@@ -409,19 +409,19 @@ var CLI_COMMAND_REGISTRY = [
409
409
  name: "check-update",
410
410
  usage: "openpond check-update",
411
411
  optionSchema: {},
412
- handler: async () => (await import("./core-commands-H2UC3LHG.js")).runCheckUpdate()
412
+ handler: async () => (await import("./core-commands-KCFU7U5Y.js")).runCheckUpdate()
413
413
  },
414
414
  {
415
415
  name: "login",
416
416
  usage: "openpond login [--base-url <url>]",
417
417
  optionSchema: CLI_GLOBAL_OPTION_SCHEMA,
418
- handler: async ({ options }) => (await import("./core-commands-H2UC3LHG.js")).runLogin(options)
418
+ handler: async ({ options }) => (await import("./core-commands-KCFU7U5Y.js")).runLogin(options)
419
419
  },
420
420
  {
421
421
  name: "init",
422
422
  usage: "openpond init [--path <dir>]",
423
423
  optionSchema: { path: "string" },
424
- handler: async ({ options }) => (await import("./profile-EVASCDIN.js")).runOpenPondInitCommand(options)
424
+ handler: async ({ options }) => (await import("./profile-GF57OWI6.js")).runOpenPondInitCommand(options)
425
425
  },
426
426
  {
427
427
  name: "profile",
@@ -449,13 +449,13 @@ var CLI_COMMAND_REGISTRY = [
449
449
  publishHostedSource: "boolean",
450
450
  teamId: "string"
451
451
  },
452
- handler: async ({ options, rest }) => (await import("./profile-EVASCDIN.js")).runOpenPondProfileCommand(options, rest)
452
+ handler: async ({ options, rest }) => (await import("./profile-GF57OWI6.js")).runOpenPondProfileCommand(options, rest)
453
453
  },
454
454
  {
455
455
  name: "agents",
456
456
  usage: "openpond agents [--json]",
457
457
  optionSchema: { json: "boolean" },
458
- handler: async ({ options, rest }) => (await import("./profile-EVASCDIN.js")).runOpenPondAgentsCommand(options, rest)
458
+ handler: async ({ options, rest }) => (await import("./profile-GF57OWI6.js")).runOpenPondAgentsCommand(options, rest)
459
459
  },
460
460
  {
461
461
  name: "actions",
@@ -475,7 +475,7 @@ var CLI_COMMAND_REGISTRY = [
475
475
  teamId: "string",
476
476
  timeoutMs: "integer"
477
477
  },
478
- handler: async ({ options, rest }) => (await import("./actions-command-BNVIILSL.js")).runProjectActionsCommand(options, rest)
478
+ handler: async ({ options, rest }) => (await import("./actions-command-QVYIPEN5.js")).runProjectActionsCommand(options, rest)
479
479
  },
480
480
  ...profileSdkAliasDefinitions(),
481
481
  {
@@ -488,25 +488,25 @@ var CLI_COMMAND_REGISTRY = [
488
488
  "openpond extension remove <owner/repo> [--json]"
489
489
  ],
490
490
  optionSchema: { all: "boolean", json: "boolean", ref: "string" },
491
- handler: async ({ options, rest }) => (await import("./extension-XMWCG6YG.js")).runOpenPondExtensionCommand(options, rest)
491
+ handler: async ({ options, rest }) => (await import("./extension-M4DH25KH.js")).runOpenPondExtensionCommand(options, rest)
492
492
  },
493
493
  {
494
494
  name: "profiles",
495
495
  usage: "openpond profiles [args]",
496
496
  optionSchema: { json: "boolean" },
497
- handler: async ({ options, rest }) => (await import("./core-commands-H2UC3LHG.js")).runProfiles(options, rest)
497
+ handler: async ({ options, rest }) => (await import("./core-commands-KCFU7U5Y.js")).runProfiles(options, rest)
498
498
  },
499
499
  {
500
500
  name: "account",
501
501
  usage: "openpond account",
502
502
  optionSchema: { json: "boolean" },
503
- handler: async () => (await import("./core-commands-H2UC3LHG.js")).runAccount()
503
+ handler: async () => (await import("./core-commands-KCFU7U5Y.js")).runAccount()
504
504
  },
505
505
  {
506
506
  name: "health",
507
507
  usage: "openpond health",
508
508
  optionSchema: { json: "boolean" },
509
- handler: async ({ options }) => (await import("./core-commands-H2UC3LHG.js")).runHealth(options)
509
+ handler: async ({ options }) => (await import("./core-commands-KCFU7U5Y.js")).runHealth(options)
510
510
  },
511
511
  {
512
512
  name: "app-server",
@@ -514,7 +514,7 @@ var CLI_COMMAND_REGISTRY = [
514
514
  optionSchema: {
515
515
  storeDir: "string"
516
516
  },
517
- handler: async ({ options, rest }) => (await import("./app-layer-RNQXXM6L.js")).runOpenPondServerCommand("app-server", options, rest)
517
+ handler: async ({ options, rest }) => (await import("./app-layer-GCNXR4F3.js")).runOpenPondServerCommand("app-server", options, rest)
518
518
  },
519
519
  {
520
520
  name: "serve",
@@ -525,7 +525,7 @@ var CLI_COMMAND_REGISTRY = [
525
525
  listen: "string",
526
526
  port: "integer"
527
527
  },
528
- handler: async ({ options, rest }) => (await import("./app-layer-RNQXXM6L.js")).runOpenPondServerCommand("serve", options, rest)
528
+ handler: async ({ options, rest }) => (await import("./app-layer-GCNXR4F3.js")).runOpenPondServerCommand("serve", options, rest)
529
529
  },
530
530
  {
531
531
  name: "ui",
@@ -538,7 +538,7 @@ var CLI_COMMAND_REGISTRY = [
538
538
  port: "integer",
539
539
  webRoot: "string"
540
540
  },
541
- handler: async ({ options, rest }) => (await import("./app-layer-RNQXXM6L.js")).runOpenPondServerCommand("web", options, rest)
541
+ handler: async ({ options, rest }) => (await import("./app-layer-GCNXR4F3.js")).runOpenPondServerCommand("web", options, rest)
542
542
  },
543
543
  {
544
544
  name: "tui",
@@ -552,13 +552,13 @@ var CLI_COMMAND_REGISTRY = [
552
552
  provider: "string",
553
553
  server: "string"
554
554
  },
555
- handler: async ({ options, rest }) => (await import("./app-layer-RNQXXM6L.js")).runOpenPondTerminalCommand(options, rest)
555
+ handler: async ({ options, rest }) => (await import("./app-layer-GCNXR4F3.js")).runOpenPondTerminalCommand(options, rest)
556
556
  },
557
557
  {
558
558
  name: "chat",
559
559
  usage: "openpond chat (--message-file <path>|--message <text>|--stdin) --non-interactive [--provider <id>] [--model <id>] [--agent <id>] [--project <id>] [--resume <session-id>] [--yes] [--approval-policy <policy>] [--json] [--timeout-sec <n>] [--max-output-bytes <n>] [--sandbox <mode>]",
560
560
  optionSchema: CHAT_OPTION_SCHEMA,
561
- handler: async ({ options, rest }) => (await import("./app-layer-RNQXXM6L.js")).runOpenPondTerminalCommand(options, rest)
561
+ handler: async ({ options, rest }) => (await import("./app-layer-GCNXR4F3.js")).runOpenPondTerminalCommand(options, rest)
562
562
  },
563
563
  {
564
564
  name: "tool",
@@ -594,7 +594,7 @@ var CLI_COMMAND_REGISTRY = [
594
594
  name: "sandbox-template",
595
595
  usage: "openpond sandbox-template <command> [args]",
596
596
  optionSchema: SANDBOX_TEMPLATE_OPTION_SCHEMA,
597
- handler: async ({ options, rest }) => (await import("./sandbox-template-BJUS4KJM.js")).runSandboxTemplateCommand(options, rest)
597
+ handler: async ({ options, rest }) => (await import("./sandbox-template-W5HU24TF.js")).runSandboxTemplateCommand(options, rest)
598
598
  },
599
599
  {
600
600
  name: "repo",
@@ -639,13 +639,13 @@ var CLI_COMMAND_REGISTRY = [
639
639
  toolset: "string",
640
640
  url: "string"
641
641
  },
642
- handler: async ({ options, rest }) => (await import("./organizations-4IEC35QB.js")).runOrganizationsCommand(options, rest)
642
+ handler: async ({ options, rest }) => (await import("./organizations-ZWPFNM6K.js")).runOrganizationsCommand(options, rest)
643
643
  },
644
644
  {
645
645
  name: "project",
646
646
  usage: "openpond project <list|create|upsert|get|update|sync|source-upload|archive> [args]",
647
647
  optionSchema: PROJECT_OPTION_SCHEMA,
648
- handler: async ({ options, rest }) => (await import("./project-agent-DMN64RZJ.js")).runProjectCommand(options, rest)
648
+ handler: async ({ options, rest }) => (await import("./project-agent-65MXZHGM.js")).runProjectCommand(options, rest)
649
649
  },
650
650
  {
651
651
  name: "agent",
@@ -657,7 +657,7 @@ var CLI_COMMAND_REGISTRY = [
657
657
  "openpond agent source publish <agentId> --team-id <id> [--expected-manifest-hash <hash>]"
658
658
  ],
659
659
  optionSchema: AGENT_OPTION_SCHEMA,
660
- handler: async ({ options, rest }) => (await import("./project-agent-DMN64RZJ.js")).runAgentCommand(options, rest)
660
+ handler: async ({ options, rest }) => (await import("./project-agent-65MXZHGM.js")).runAgentCommand(options, rest)
661
661
  },
662
662
  {
663
663
  name: "desktop-test",
@@ -678,13 +678,13 @@ var CLI_COMMAND_REGISTRY = [
678
678
  token: "string",
679
679
  tokenFile: "string"
680
680
  },
681
- handler: async ({ options, rest }) => (await import("./desktop-test-TV64EY5A.js")).runDesktopTestCommand(options, rest)
681
+ handler: async ({ options, rest }) => (await import("./desktop-test-FEQVX4N4.js")).runDesktopTestCommand(options, rest)
682
682
  },
683
683
  {
684
684
  name: "sandbox",
685
685
  usage: "openpond sandbox <command> [args]",
686
686
  optionSchema: SANDBOX_OPTION_SCHEMA,
687
- handler: async ({ options, rest }) => (await import("./sandbox-command-WKGVO32R.js")).runSandboxCommand(options, rest)
687
+ handler: async ({ options, rest }) => (await import("./sandbox-command-WH2OQRHP.js")).runSandboxCommand(options, rest)
688
688
  },
689
689
  {
690
690
  name: "training",
@@ -732,7 +732,7 @@ var CLI_COMMAND_REGISTRY = [
732
732
  skipTool: "boolean",
733
733
  stream: "boolean"
734
734
  },
735
- handler: async ({ options, rest }) => (await import("./opchat-ZL5JJQ5L.js")).runOpChatCommand(options, rest)
735
+ handler: async ({ options, rest }) => (await import("./opchat-7KRZIFFD.js")).runOpChatCommand(options, rest)
736
736
  },
737
737
  {
738
738
  name: "teams-bot",
@@ -741,7 +741,7 @@ var CLI_COMMAND_REGISTRY = [
741
741
  json: "boolean",
742
742
  teamId: "string"
743
743
  },
744
- handler: async ({ options, rest }) => (await import("./teams-bot-HUXYJ6XA.js")).runTeamsBotCommand(options, rest)
744
+ handler: async ({ options, rest }) => (await import("./teams-bot-5ATLXSHC.js")).runTeamsBotCommand(options, rest)
745
745
  },
746
746
  {
747
747
  name: "apps",
@@ -762,7 +762,7 @@ var CLI_COMMAND_REGISTRY = [
762
762
  name: "opentool",
763
763
  usage: "openpond opentool <init|validate|build> [args]",
764
764
  optionSchema: {},
765
- handler: async ({ rest }) => (await import("./core-commands-H2UC3LHG.js")).runOpentool(rest)
765
+ handler: async ({ rest }) => (await import("./core-commands-KCFU7U5Y.js")).runOpentool(rest)
766
766
  }
767
767
  ];
768
768
  var CLI_COMMAND_BY_NAME = /* @__PURE__ */ new Map();
@@ -834,11 +834,11 @@ function profileSdkAliasDefinitions() {
834
834
  name,
835
835
  usage: `openpond ${name} [args]`,
836
836
  optionSchema: PROFILE_SDK_OPTION_SCHEMA,
837
- handler: async ({ options, rest }) => (await import("./profile-EVASCDIN.js")).runOpenPondProfileSdkAlias(name, options, rest)
837
+ handler: async ({ options, rest }) => (await import("./profile-GF57OWI6.js")).runOpenPondProfileSdkAlias(name, options, rest)
838
838
  }));
839
839
  }
840
840
  async function runToolCommand({ options, rest }) {
841
- const { runToolList, runToolRun } = await import("./core-commands-H2UC3LHG.js");
841
+ const { runToolList, runToolRun } = await import("./core-commands-KCFU7U5Y.js");
842
842
  const subcommand = rest[0];
843
843
  if (subcommand === "list") {
844
844
  const target = rest[1];
@@ -862,8 +862,8 @@ async function runToolCommand({ options, rest }) {
862
862
  throw new Error("usage: tool <list|run> <handle>/<repo> [args]");
863
863
  }
864
864
  async function runBacktestCommand({ options, rest }) {
865
- const { runBacktestRun } = await import("./core-commands-H2UC3LHG.js");
866
- const { runBacktestEvents, runBacktestGet } = await import("./apps-LV3CSMLT.js");
865
+ const { runBacktestRun } = await import("./core-commands-KCFU7U5Y.js");
866
+ const { runBacktestEvents, runBacktestGet } = await import("./apps-JB3POF6Z.js");
867
867
  const subcommand = rest[0] || "run";
868
868
  if (subcommand === "run") {
869
869
  const target = rest[1];
@@ -897,7 +897,7 @@ async function runBacktestCommand({ options, rest }) {
897
897
  throw new Error("usage: backtest <run|events|get> <handle>/<repo> [args]");
898
898
  }
899
899
  async function runDeployCommand({ options, rest }) {
900
- const { runDeployWatch } = await import("./core-commands-H2UC3LHG.js");
900
+ const { runDeployWatch } = await import("./core-commands-KCFU7U5Y.js");
901
901
  const subcommand = rest[0] || "watch";
902
902
  if (subcommand !== "watch") {
903
903
  throw new Error(
@@ -913,7 +913,7 @@ async function runDeployCommand({ options, rest }) {
913
913
  await runDeployWatch(options, target);
914
914
  }
915
915
  async function runTemplateCommand({ options, rest }) {
916
- const { runTemplateBranches, runTemplateStatus, runTemplateUpdate } = await import("./core-commands-H2UC3LHG.js");
916
+ const { runTemplateBranches, runTemplateStatus, runTemplateUpdate } = await import("./core-commands-KCFU7U5Y.js");
917
917
  const subcommand = rest[0] || "status";
918
918
  const target = rest[1];
919
919
  if (!target) {
@@ -938,7 +938,7 @@ async function runTemplateCommand({ options, rest }) {
938
938
  );
939
939
  }
940
940
  async function runRepoCommand({ options, rest }) {
941
- const { runRepoCreate, runRepoPush } = await import("./core-commands-H2UC3LHG.js");
941
+ const { runRepoCreate, runRepoPush } = await import("./core-commands-KCFU7U5Y.js");
942
942
  const subcommand = rest[0] || "create";
943
943
  if (subcommand === "create") {
944
944
  await runRepoCreate(options, rest.slice(1));
@@ -965,7 +965,7 @@ async function runAppsCommand({ options, rest }) {
965
965
  runAppsSummary,
966
966
  runAppsTools,
967
967
  runAppsToolsExecute
968
- } = await import("./apps-LV3CSMLT.js");
968
+ } = await import("./apps-JB3POF6Z.js");
969
969
  const subcommand = rest[0];
970
970
  if (subcommand === "list") {
971
971
  await runAppsList(options);
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
2
  import {
3
3
  now
4
- } from "./chunk-3PKCT4JC.js";
4
+ } from "./chunk-6RMGHEFF.js";
5
5
 
6
6
  // ../server/src/workspace/workspace-command.ts
7
7
  import { spawn, spawnSync } from "node:child_process";
@@ -443,7 +443,7 @@ async function runProviderRound(input) {
443
443
  const toolCallBatches = [];
444
444
  try {
445
445
  for await (const delta of input.stream) {
446
- input.onDelta?.(delta);
446
+ await input.onDelta?.(delta);
447
447
  if (input.signal.aborted) {
448
448
  throw input.signal.reason ?? new Error("Provider round interrupted.");
449
449
  }