@standardagents/builder 0.27.2 → 0.27.4
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/dist/built-in-routes.js +18 -1
- package/dist/built-in-routes.js.map +1 -1
- package/dist/{index-DJ7B8CTp.d.ts → index-DReIS8eP.d.ts} +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +28 -2
- package/dist/index.js.map +1 -1
- package/dist/plugin.js +5 -1
- package/dist/plugin.js.map +1 -1
- package/dist/runtime.d.ts +3 -2
- package/dist/runtime.js +23 -1
- package/dist/runtime.js.map +1 -1
- package/dist/test.d.ts +1 -1
- package/package.json +5 -5
|
@@ -262,6 +262,7 @@ interface ThreadInstance {
|
|
|
262
262
|
hooks(): HookRegistry;
|
|
263
263
|
getValue<T = unknown>(key: string): Promise<T | null>;
|
|
264
264
|
setValue(key: string, value: unknown): Promise<void>;
|
|
265
|
+
emitThreadEvent?(threadId: string, event: string, data: unknown): void | Promise<void>;
|
|
265
266
|
callClientTool?(request: ClientToolRequest): Promise<ClientToolResponse>;
|
|
266
267
|
registerCodeExecutionBridge?(runId: string, bridge: {
|
|
267
268
|
call(functionId: string, encodedArgs: unknown[]): Promise<unknown>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ModelDefinition, AgentDefinition } from './runtime.js';
|
|
2
2
|
export { AgentBuilderEnv, AuthContext, AuthUser, BroadcastOptions, CodeExecutionBridge, DurableAgentBuilder, DurableThread, FlowStateSdk, FlowStateWithSdk, ImageContextConfig, InjectMessageOptions, LLMProviderInterface, NamespaceResolutionError, PromptContent, PromptDefinition, PromptIncludePart, PromptPart, PromptToolConfig, Provider, ProviderContentPart, ProviderFilePart, ProviderImagePart, ProviderRegistry, ProviderTextPart, SessionToolBinding, SessionToolConfig, SideConfig, SubagentToolConfig, SubpromptConfig, ThreadRegistryEntry, ThreadWatchdog, ThreadWatchdogState, ToolConfig, UpdateThreadParams, User, WatchdogCheckin, WatchdogProbeResult, authenticate, buildImageDescription, cat, createNamespaceContext, emitThreadEvent, enhanceFlowState, exists, find, forceTurn, generateImageDescription, getFileStats, getMessages, getMessagesToSummarize, getShortName, getThumbnail, getUnsummarizedImageAttachments, getVisibleAgentNames, getVisibleModelNames, getVisiblePromptNames, getVisibleToolNames, grep, hasImageAttachments, head, injectMessage, isQualifiedName, linkFile, mkdir, move, optimizeImageContext, parseQualifiedName, qualifyName, queueTool, readFile, readdir, reloadHistory, rename, replaceImagesWithDescriptions, requireAdmin, requireAuth, resolveAgent, resolveHook, resolveModel, resolvePrompt, resolveTool, rmdir, stat, tail, unlink, updateThread, writeFile, writeImage } from './runtime.js';
|
|
3
3
|
export { AgentPluginOptions, agentbuilder, builder } from './plugin.js';
|
|
4
|
-
export { A as Agent, m as AttachmentRef, f as BuilderThreadEndpointHandler, B as Controller, a as ControllerContext, E as Env, l as FileRecord, n as FileStats, j as FlowResult, F as FlowState, G as GrepResult, p as ImageContentPart, I as ImageMetadata, L as LLMResponse, M as Message, r as MessageContent, q as MultimodalContent, R as RequestContext, S as StorageBackend, k as TelemetryEvent, o as TextContentPart, b as ThreadEndpointContext, e as ThreadEnv, g as ThreadInstance, h as ThreadMetadata, T as ToolCall, i as ToolResult, c as createThreadEndpointHandler, d as defineController } from './index-
|
|
4
|
+
export { A as Agent, m as AttachmentRef, f as BuilderThreadEndpointHandler, B as Controller, a as ControllerContext, E as Env, l as FileRecord, n as FileStats, j as FlowResult, F as FlowState, G as GrepResult, p as ImageContentPart, I as ImageMetadata, L as LLMResponse, M as Message, r as MessageContent, q as MultimodalContent, R as RequestContext, S as StorageBackend, k as TelemetryEvent, o as TextContentPart, b as ThreadEndpointContext, e as ThreadEnv, g as ThreadInstance, h as ThreadMetadata, T as ToolCall, i as ToolResult, c as createThreadEndpointHandler, d as defineController } from './index-DReIS8eP.js';
|
|
5
5
|
export { AgentType, DefinitionLoader, GlobalNamespaceContext, HookSignatures, ImageContent, ModelCapabilities, ModelProvider, NamespaceContext, PackageSignature, PackedExports, PackedMeta, PackedMetadata, PackedNamespaceContext, PromptInput, PromptTextPart, ProviderAssistantMessage, ProviderConfigSlot, ProviderConfigSlots, ProviderConfigValueSource, ProviderDefinition, ProviderError, ProviderErrorCode, ProviderFactory, ProviderFactoryConfig, ProviderFinishReason, ProviderGeneratedImage, ProviderMessage, ProviderMessageContent, ProviderMethodOverrides, ModelCapabilities as ProviderModelCapabilities, ProviderOverride, ProviderOverrideContext, ProviderReasoningDetail, ProviderRequest, ProviderResponse, ProviderStreamChunk, ProviderSyncOverride, ProviderSystemMessage, ProviderTool, ProviderToolCallPart, ProviderToolMessage, ProviderToolResultContent, ProviderUsage, ProviderUserMessage, ReasoningConfig, StructuredPrompt, TextContent, Tool, ToolArgs, ToolArgsNode, ToolArgsRawShape, ToolContent, belongsToPackage, defineAgent, defineHook, defineModel, definePrompt, defineProvider, defineTool, isPacked, isVisibleInNamespace, mapReasoningLevel, providerConst, providerEnv, providerValue } from '@standardagents/spec';
|
|
6
6
|
export { C as ConstituentItem, D as DiscoveredPackage, N as NamespacedRegistry, P as PackingAnalysis, a as PackingOptions, b as PackingResult, c as UnpackOptions, d as UnpackResult } from './types-Bpe7IANZ.js';
|
|
7
7
|
export { D as DiscoveryConfig, P as PackageDiscoveryService, d as discoverPackages } from './discovery-DiMJWisl.js';
|
package/dist/index.js
CHANGED
|
@@ -12703,6 +12703,7 @@ var init_ThreadStateImpl = __esm({
|
|
|
12703
12703
|
_executionState = null;
|
|
12704
12704
|
_childrenCache = [];
|
|
12705
12705
|
_terminatedCache = null;
|
|
12706
|
+
_pendingEventDeliveries = /* @__PURE__ */ new Set();
|
|
12706
12707
|
constructor(flowState, threadInstance, metadata, runtimeContext = {}) {
|
|
12707
12708
|
this._flowState = flowState;
|
|
12708
12709
|
this._threadInstance = threadInstance;
|
|
@@ -13154,6 +13155,22 @@ var init_ThreadStateImpl = __esm({
|
|
|
13154
13155
|
emit(event, data) {
|
|
13155
13156
|
if (this._flowState?.emitEvent) {
|
|
13156
13157
|
this._flowState.emitEvent(event, data);
|
|
13158
|
+
return;
|
|
13159
|
+
}
|
|
13160
|
+
if (this._threadInstance.emitThreadEvent) {
|
|
13161
|
+
const delivery = this._threadInstance.emitThreadEvent(this.threadId, event, data);
|
|
13162
|
+
if (delivery && typeof delivery.then === "function") {
|
|
13163
|
+
const pending = Promise.resolve(delivery).catch((error) => {
|
|
13164
|
+
console.error(`[ThreadState] Custom event "${event}" delivery failed:`, error);
|
|
13165
|
+
}).finally(() => this._pendingEventDeliveries.delete(pending));
|
|
13166
|
+
this._pendingEventDeliveries.add(pending);
|
|
13167
|
+
}
|
|
13168
|
+
}
|
|
13169
|
+
}
|
|
13170
|
+
/** Runtime-only drain used by thread endpoint wrappers before responding. */
|
|
13171
|
+
async flushPendingEventDeliveries() {
|
|
13172
|
+
while (this._pendingEventDeliveries.size > 0) {
|
|
13173
|
+
await Promise.all([...this._pendingEventDeliveries]);
|
|
13157
13174
|
}
|
|
13158
13175
|
}
|
|
13159
13176
|
// ─────────────────────────────────────────────────────────────────────────
|
|
@@ -21399,7 +21416,11 @@ ${packedThreadRouteCode}
|
|
|
21399
21416
|
authContext = authResult;
|
|
21400
21417
|
|
|
21401
21418
|
if (routePath.startsWith('/api/threads/')) {
|
|
21402
|
-
|
|
21419
|
+
// Packed and user thread endpoints reserve threadId for the owning
|
|
21420
|
+
// thread while nested endpoint parameters may also be named id.
|
|
21421
|
+
// Prefer the explicit thread parameter so /pending/:id and similar
|
|
21422
|
+
// routes authorize against the thread instead of the nested resource.
|
|
21423
|
+
const threadId = routeMatch.params?.threadId || routeMatch.params?.id;
|
|
21403
21424
|
if (threadId) {
|
|
21404
21425
|
const agentBuilderId = env.AGENT_BUILDER.idFromName('singleton');
|
|
21405
21426
|
const agentBuilder = env.AGENT_BUILDER.get(agentBuilderId);
|
|
@@ -22230,7 +22251,9 @@ function createThreadEndpointHandler(handler) {
|
|
|
22230
22251
|
}
|
|
22231
22252
|
endpointParams[key === "_" ? "*" : key] = value;
|
|
22232
22253
|
}
|
|
22233
|
-
|
|
22254
|
+
const response = await handler(req, threadState, endpointParams);
|
|
22255
|
+
await threadState.flushPendingEventDeliveries();
|
|
22256
|
+
return response;
|
|
22234
22257
|
} catch (error) {
|
|
22235
22258
|
console.error(`Error in thread endpoint for ${threadId}:`, error);
|
|
22236
22259
|
return Response.json(
|
|
@@ -28341,6 +28364,9 @@ ${resultContent}${attachmentSummary}`;
|
|
|
28341
28364
|
* Broadcast a custom event to all connected message WebSocket clients
|
|
28342
28365
|
* Used by tools via emitThreadEvent() to send user-defined events
|
|
28343
28366
|
*/
|
|
28367
|
+
emitThreadEvent(_threadId, type, data) {
|
|
28368
|
+
this.broadcastEvent(type, data);
|
|
28369
|
+
}
|
|
28344
28370
|
broadcastEvent(type, data) {
|
|
28345
28371
|
const payload = JSON.stringify({
|
|
28346
28372
|
type: "event",
|