@standardagents/builder 0.37.3 → 0.37.5

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 (53) hide show
  1. package/dist/built-in-routes.js +178 -81
  2. package/dist/built-in-routes.js.map +1 -1
  3. package/dist/client/{ApiKeysView-BhuT3pIF.js → ApiKeysView-Pk5oljVU.js} +1 -1
  4. package/dist/client/CenteredContentView-HGpMGAQj.js +1 -0
  5. package/dist/client/CompositionView-DN8dTOCO.js +32 -0
  6. package/dist/client/{ConfirmDialog.vue_vue_type_script_setup_true_lang-BqwwsXWJ.js → ConfirmDialog.vue_vue_type_script_setup_true_lang--j_hnMZ0.js} +1 -1
  7. package/dist/client/{CopyButton.vue_vue_type_script_setup_true_lang-Cqm3Vt3E.js → CopyButton.vue_vue_type_script_setup_true_lang-CpJDcbZx.js} +1 -1
  8. package/dist/client/{DataTable.vue_vue_type_script_setup_true_lang-CA5qgsty.js → DataTable.vue_vue_type_script_setup_true_lang-unLrY-PY.js} +1 -1
  9. package/dist/client/{JsonViewer-ByQKCShF.js → JsonViewer-BYj_yrGB.js} +1 -1
  10. package/dist/client/{LoginView-J4qtHbQK.js → LoginView-CfVqItZV.js} +1 -1
  11. package/dist/client/{MarketplaceView-CshdWDqp.js → MarketplaceView-Cidt0nLf.js} +1 -1
  12. package/dist/client/{Modal.vue_vue_type_script_setup_true_lang-DKdB9A8Z.js → Modal.vue_vue_type_script_setup_true_lang-C1dmm1HX.js} +1 -1
  13. package/dist/client/ModelModal.vue_vue_type_script_setup_true_lang-DIKLuPXT.js +1 -0
  14. package/dist/client/{ModelsView-B_n306yk.js → ModelsView-DH6wNe38.js} +1 -1
  15. package/dist/client/{PromptEditView-C85qRgsE.js → PromptEditView-D_VjoAa-.js} +1 -1
  16. package/dist/client/{PromptModal-PNpoJfqD.js → PromptModal-a9LTOWNt.js} +1 -1
  17. package/dist/client/{PromptsView-BKnfThIF.js → PromptsView-BCCCryKR.js} +1 -1
  18. package/dist/client/{ProvidersView-Df41VhHD.js → ProvidersView-CF4x5F6G.js} +2 -2
  19. package/dist/client/ThreadInspectorPane.vue_vue_type_script_setup_true_lang-D5VDoQiK.js +22 -0
  20. package/dist/client/ThreadsView-BzscU1l2.js +1 -0
  21. package/dist/client/{ToolsView-C0MH9x3N.js → ToolsView-CeEtxDZV.js} +1 -1
  22. package/dist/client/{UiCodeBlock.vue_vue_type_script_setup_true_lang-DjDQOYjB.js → UiCodeBlock.vue_vue_type_script_setup_true_lang-BdyzSxZZ.js} +1 -1
  23. package/dist/client/{UsersView--TQiJYP7.js → UsersView-Di5cmUYL.js} +1 -1
  24. package/dist/client/{VariablesView-BO3UljZu.js → VariablesView-CXUr05jD.js} +1 -1
  25. package/dist/client/assets/{CompositionView-nJBKoNx4.css → CompositionView-0qQUWuc1.css} +1 -1
  26. package/dist/client/{check-DeHZQcv4.js → check-YKi1o6p6.js} +1 -1
  27. package/dist/client/{chevron-right-C8Mb0B59.js → chevron-right-T0zzq_GX.js} +1 -1
  28. package/dist/client/{copy-BxJsl-KZ.js → copy-C_gUGAj1.js} +1 -1
  29. package/dist/client/{formkit-0eyyCEP_.js → formkit-CE26dtFp.js} +1 -1
  30. package/dist/client/index-BMqXblce.js +6 -0
  31. package/dist/client/index.html +3 -3
  32. package/dist/client/{package-B9czwyIu.js → package-B70IFSDB.js} +1 -1
  33. package/dist/client/{plus-DqtuqJFm.js → plus-BN9IHYdt.js} +1 -1
  34. package/dist/client/{timeAgo-CDt-vAhI.js → timeAgo-G1ovbWPH.js} +1 -1
  35. package/dist/client/{useActionFeedback-B6UfBJ7l.js → useActionFeedback-7pfPjKMi.js} +1 -1
  36. package/dist/client/{vue-Dw7WLX4c.js → vue-CZ-ORfS3.js} +1 -1
  37. package/dist/{index-DceFbLG9.d.ts → index-Lfan8QMN.d.ts} +46 -0
  38. package/dist/index.d.ts +1 -1
  39. package/dist/index.js +297 -25
  40. package/dist/index.js.map +1 -1
  41. package/dist/plugin.js +6 -0
  42. package/dist/plugin.js.map +1 -1
  43. package/dist/runtime.d.ts +45 -5
  44. package/dist/runtime.js +291 -25
  45. package/dist/runtime.js.map +1 -1
  46. package/dist/test.d.ts +1 -1
  47. package/package.json +5 -5
  48. package/dist/client/CenteredContentView-CfgX3Ao3.js +0 -1
  49. package/dist/client/CompositionView-B9FfWMHd.js +0 -32
  50. package/dist/client/ModelModal.vue_vue_type_script_setup_true_lang-BAxaBZsx.js +0 -1
  51. package/dist/client/ThreadInspectorPane.vue_vue_type_script_setup_true_lang-CtIBWHUR.js +0 -22
  52. package/dist/client/ThreadsView-sjo5Rrcm.js +0 -1
  53. package/dist/client/index-BgZnQr8X.js +0 -6
package/dist/runtime.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { i as AuthContext, e as ThreadEnv, v as Agent, x as ThreadMetadata, y as ToolResult, M as Message, n as ClientToolRequest, o as ClientToolResponse, p as ClientStreamRequest, q as ClientStreamResponse, G as FileRecord, F as FlowState, K as FileStats, J as GrepResult, H as AttachmentRef, Q as MessageContent, E as Env, w as ThreadInstance } from './index-DceFbLG9.js';
2
- export { A as AuthUser, f as BuilderThreadEndpointHandler, C as CLIENT_STREAM_CHUNK_BYTES, t as ClientDuplex, u as ClientForwarding, B as Controller, a as ControllerContext, z as FlowResult, O as ImageContentPart, I as ImageMetadata, L as LLMResponse, P as MultimodalContent, R as RequestContext, S as StorageBackend, D as TelemetryEvent, N as TextContentPart, b as ThreadEndpointContext, T as ToolCall, g as authenticate, j as callClient, k as callClientStream, c as createThreadEndpointHandler, m as decodeStreamChunk, d as defineController, l as encodeStreamChunk, h as requireAdmin, r as requireAuth, s as supportsClientForwarding } from './index-DceFbLG9.js';
1
+ import { i as AuthContext, e as ThreadEnv, v as Agent, x as ThreadMetadata, y as ToolResult, M as Message, n as ClientToolRequest, o as ClientToolResponse, p as ClientStreamRequest, q as ClientStreamResponse, G as FileRecord, F as FlowState, K as FileStats, J as GrepResult, H as AttachmentRef, Q as MessageContent, E as Env, w as ThreadInstance } from './index-Lfan8QMN.js';
2
+ export { A as AuthUser, f as BuilderThreadEndpointHandler, C as CLIENT_STREAM_CHUNK_BYTES, t as ClientDuplex, u as ClientForwarding, B as Controller, a as ControllerContext, z as FlowResult, O as ImageContentPart, I as ImageMetadata, L as LLMResponse, P as MultimodalContent, R as RequestContext, S as StorageBackend, D as TelemetryEvent, N as TextContentPart, b as ThreadEndpointContext, T as ToolCall, g as authenticate, j as callClient, k as callClientStream, c as createThreadEndpointHandler, m as decodeStreamChunk, d as defineController, l as encodeStreamChunk, h as requireAdmin, r as requireAuth, s as supportsClientForwarding } from './index-Lfan8QMN.js';
3
3
  import { CodeExecutionOptions, CodeExecutionResult, SubagentRegistryEntry, InjectMessageInput, QueueMessageInput, CredentialGrant, SkillMetadata, SkillFileInput, ModelDefinition as ModelDefinition$1, ToolArgs, PromptTextPart, PromptEnvPart, VariableDefinition, SubpromptConfig as SubpromptConfig$1, PromptToolConfig as PromptToolConfig$1, SubagentToolConfig as SubagentToolConfig$1, ReasoningConfig, SideConfig as SideConfig$1, LLMProviderInterface, ContentPart, TextPart, ImagePart, FilePart, ThreadState, NamespaceContext, DefinitionLoader } from '@standardagents/spec';
4
4
  export { AgentType, DefinitionLoader, GlobalNamespaceContext, HookSignatures, ImageContent, ModelCapabilities, ModelProvider, NamespaceContext, PackageSignature, PackedExports, PackedMeta, PackedMetadata, PackedNamespaceContext, PromptInput, PromptTextPart, ProviderAssistantMessage, ProviderError, ProviderErrorCode, ProviderFactory, ProviderFactoryConfig, ProviderFinishReason, ProviderGeneratedImage, ProviderMessage, ProviderMessageContent, ModelCapabilities as ProviderModelCapabilities, ProviderReasoningDetail, ProviderRequest, ProviderResponse, ProviderStreamChunk, ProviderSystemMessage, ProviderTool, ProviderToolCallPart, ProviderToolMessage, ProviderToolResultContent, ProviderUsage, ProviderUserMessage, ReasoningConfig, StructuredPrompt, TextContent, Tool, ToolArgs, ToolArgsNode, ToolArgsRawShape, ToolContent, belongsToPackage, defineAgent, defineHook, defineModel, definePrompt, defineTool, isPacked, isVisibleInNamespace, mapReasoningLevel } from '@standardagents/spec';
5
5
  import { DurableObject, WorkerEntrypoint } from 'cloudflare:workers';
@@ -224,6 +224,15 @@ declare class DurableThread<Env extends ThreadEnv = ThreadEnv> extends DurableOb
224
224
  private alarmQueueRearmed;
225
225
  private currentAbortController;
226
226
  private isExecuting;
227
+ /**
228
+ * In-memory waiters parked until the running flow finishes (AB-09): the
229
+ * executeFlow busy-guard awaits this signal instead of re-checking
230
+ * isExecuting every 500ms. Every isExecuting=false transition (execution
231
+ * finallys and the watchdog takeover) notifies. In-memory only — a DO
232
+ * restart drops waiters together with the busy caller.
233
+ */
234
+ private executionIdleWaiters;
235
+ private notifyExecutionIdleWaiters;
227
236
  private lastProgressAt;
228
237
  private watchdogWedgeStrikes;
229
238
  private readonly watchdogIntervalMs;
@@ -1160,6 +1169,25 @@ declare class DurableThread<Env extends ThreadEnv = ThreadEnv> extends DurableOb
1160
1169
  * permission level covers the call) otherwise race the placeholder into
1161
1170
  * stored history, leaving the model blind to its own tool outcomes.
1162
1171
  */
1172
+ /**
1173
+ * In-memory waiters parked on a forwarded call's result delivery (AB-09).
1174
+ * `deliverClientToolResult` resolves them so the approval grace-wait reads
1175
+ * delivered state exactly once instead of re-polling it every 150ms.
1176
+ * In-memory only: a DO restart drops waiters along with the caller that
1177
+ * registered them, and the durable park path still resumes the turn.
1178
+ */
1179
+ private deliveredResultWaiters;
1180
+ private notifyDeliveredResultWaiters;
1181
+ /**
1182
+ * Await a parked forwarded call's delivered result: one immediate read,
1183
+ * then a single parked wait resolved by result delivery, bounded by one
1184
+ * hard deadline, then one final read. Replaces the caller-side 150ms
1185
+ * re-poll of {@link getDeliveredClientToolResult}.
1186
+ */
1187
+ awaitDeliveredClientToolResult(toolCallId: string, maxWaitMs: number): Promise<{
1188
+ content: string;
1189
+ toolStatus: string | null;
1190
+ } | null>;
1163
1191
  getDeliveredClientToolResult(toolCallId: string): Promise<{
1164
1192
  content: string;
1165
1193
  toolStatus: string | null;
@@ -1185,8 +1213,14 @@ declare class DurableThread<Env extends ThreadEnv = ThreadEnv> extends DurableOb
1185
1213
  } | null>;
1186
1214
  /** Default time to wait for the client to accept a stream open. */
1187
1215
  private static readonly CLIENT_STREAM_OPEN_TIMEOUT_MS;
1188
- /** Poll cadence while waiting for a disconnected owner's bridge to return. */
1189
- private static readonly OWNER_REATTACH_POLL_MS;
1216
+ /**
1217
+ * In-memory waiters parked on the owner's bridge socket returning (AB-09).
1218
+ * Resolved by bridge attach and by execution-owner changes; each waiter
1219
+ * re-evaluates against the CURRENT owner on wake. In-memory only: a DO
1220
+ * restart drops waiters with the stream-open call that registered them.
1221
+ */
1222
+ private ownerBridgeWaiters;
1223
+ private notifyOwnerBridgeWaiters;
1190
1224
  /**
1191
1225
  * The thread HAS an elected execution owner, but its bridge socket is gone
1192
1226
  * (daemon restart, network blip, DO handoff). Summon the owning machine
@@ -1195,6 +1229,11 @@ declare class DurableThread<Env extends ThreadEnv = ThreadEnv> extends DurableOb
1195
1229
  * Sama One turns with "workspace unavailable" whenever a slow tool/approval
1196
1230
  * outlived the socket. Threads with NO recorded owner (subagent children)
1197
1231
  * still fail fast so ancestor walk-up routing stays immediate.
1232
+ *
1233
+ * The wait parks on bridge-attach/owner-change signals under ONE hard
1234
+ * deadline — no re-poll cadence. Each wake re-reads the owner because the
1235
+ * returning daemon may reclaim with a new generation, and the socket must
1236
+ * match the CURRENT owner.
1198
1237
  */
1199
1238
  private awaitOwnerBridgeSocket;
1200
1239
  /** Open a bidirectional byte stream to the connected owner client. */
@@ -1205,10 +1244,11 @@ declare class DurableThread<Env extends ThreadEnv = ThreadEnv> extends DurableOb
1205
1244
  id?: string;
1206
1245
  error?: string;
1207
1246
  noClient?: boolean;
1247
+ parkedPull?: boolean;
1208
1248
  code?: 'unsupported' | 'unavailable' | 'refused' | 'timeout';
1209
1249
  }>;
1210
1250
  proxyStreamWrite(id: string, dataB64: string): Promise<void>;
1211
- proxyStreamPull(id: string): Promise<{
1251
+ proxyStreamPull(id: string, maxWaitMs?: number): Promise<{
1212
1252
  chunks: string[];
1213
1253
  done: boolean;
1214
1254
  error?: string;