@standardagents/builder 0.41.10 → 0.41.12
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 +7 -8
- package/dist/built-in-routes.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +30 -4
- package/dist/index.js.map +1 -1
- package/dist/plugin.js +1 -1
- package/dist/plugin.js.map +1 -1
- package/dist/{resolver-kvVdxct2.d.ts → resolver-DE5HFRlb.d.ts} +16 -0
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.js +29 -3
- package/dist/runtime.js.map +1 -1
- package/package.json +5 -5
|
@@ -1943,8 +1943,19 @@ declare class DurableUserHub extends DurableObject<DurableUserHubEnv> {
|
|
|
1943
1943
|
private limitsFor;
|
|
1944
1944
|
/** Load the project's room definition from the users registry, once. */
|
|
1945
1945
|
private loadRoom;
|
|
1946
|
+
/**
|
|
1947
|
+
* How a room execution presents itself to grant policies: as the endpoint
|
|
1948
|
+
* it declares it fronts, otherwise as a room named by its registry key.
|
|
1949
|
+
*/
|
|
1950
|
+
private roomCaller;
|
|
1946
1951
|
/** Whether `key` is room-owned state, exempt from `user_value_changed`. */
|
|
1947
1952
|
private roomOwnsKey;
|
|
1953
|
+
/**
|
|
1954
|
+
* The value-key prefixes this user's room declares as its own, so the
|
|
1955
|
+
* client-facing KV routes refuse writes under room-owned state. The platform
|
|
1956
|
+
* reserves whatever the tenant declares via `defineUserRoom({ valuePrefix })`.
|
|
1957
|
+
*/
|
|
1958
|
+
roomValuePrefixes(): Promise<string[]>;
|
|
1948
1959
|
/**
|
|
1949
1960
|
* Presence runs inside the serialization chain, after any execution the
|
|
1950
1961
|
* event raced with, so a room's presence write never interleaves with a
|
|
@@ -2508,6 +2519,11 @@ declare class DurableAgentBuilder<Env extends AgentBuilderEnv = AgentBuilderEnv>
|
|
|
2508
2519
|
*/
|
|
2509
2520
|
private userHub;
|
|
2510
2521
|
/** Read one JSON value from a user's account-wide key-value store. */
|
|
2522
|
+
/**
|
|
2523
|
+
* The pre-hub singleton hosts no user room, so it reserves no room prefixes.
|
|
2524
|
+
* Kept to satisfy the shared UserValueStore contract for fallback runtimes.
|
|
2525
|
+
*/
|
|
2526
|
+
roomValuePrefixes(): Promise<string[]>;
|
|
2511
2527
|
getUserValue(userId: string, key: string): Promise<unknown | null>;
|
|
2512
2528
|
/** Write one JSON value to a user's account-wide store; null/undefined deletes. */
|
|
2513
2529
|
setUserValue(userId: string, key: string, value: unknown): Promise<void>;
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { m as AgentBuilderEnv, n as AgentBuilderEvent, A as AgentDefinition, ah as BroadcastOptions, C as CodeExecutionBridge, h as DurableAgentBuilder, D as DurableThread, l as DurableUserHub, af as FlowStateSdk, ai as FlowStateWithSdk, G as HandlerSide, H as HubClientInfo, E as HumanSide, aq as ImageContextConfig, ae as InjectMessageOptions, as as LLMProviderInterface, M as ModelDefinition, aL as NamespaceResolutionError, w as PromptContent, s as PromptDefinition, y as PromptIncludePart, x as PromptPart, F as PromptSide, t as PromptToolConfig, P as Provider, at as ProviderContentPart, aw as ProviderFilePart, av as ProviderImagePart, ar as ProviderRegistry, au as ProviderTextPart, B as SessionToolBinding, z as SessionToolConfig, I as SideConfig, J as SubagentRelationship, u as SubagentToolConfig, S as SubpromptConfig, o as ThreadEventPayload, p as ThreadRegistryEntry, T as ThreadWatchdog, j as ThreadWatchdogState, v as ToolConfig, U as UpdateThreadParams, q as User, k as WatchdogCheckin, W as WatchdogProbeResult, f as applyRuntimeCors, am as buildImageDescription, c as canAccessThread, a9 as cat, aJ as createNamespaceContext, Q as emitThreadEvent, ag as enhanceFlowState, a0 as exists, ad as find, R as forceTurn, ap as generateImageDescription, a7 as getFileStats, N as getMessages, al as getMessagesToSummarize, az as getShortName, a8 as getThumbnail, ak as getUnsummarizedImageAttachments, aG as getVisibleAgentNames, aI as getVisibleModelNames, aH as getVisiblePromptNames, aF as getVisibleToolNames, ac as grep, aj as hasImageAttachments, aa as head, L as injectMessage, d as isAdminOnlyApiRoute, i as isHostedInstance, b as isPublicApiRoute, aK as isQualifiedName, e as isSameOriginBrowserRequest, a as isTrustedLocalDevelopmentRequest, Z as linkFile, a2 as mkdir, a5 as move, ao as optimizeImageContext, ax as parseQualifiedName, ay as qualifyName, K as queueTool, _ as readFile, a3 as readdir, O as reloadHistory, a6 as rename, an as replaceImagesWithDescriptions, aD as resolveAgent, aE as resolveHook, aC as resolveModel, aB as resolvePrompt, aA as resolveTool, a4 as rmdir, r as runtimeCorsHeaders, g as runtimePreflightResponse, $ as stat, ab as tail, a1 as unlink, V as updateThread, X as writeFile, Y as writeImage } from './resolver-
|
|
1
|
+
export { m as AgentBuilderEnv, n as AgentBuilderEvent, A as AgentDefinition, ah as BroadcastOptions, C as CodeExecutionBridge, h as DurableAgentBuilder, D as DurableThread, l as DurableUserHub, af as FlowStateSdk, ai as FlowStateWithSdk, G as HandlerSide, H as HubClientInfo, E as HumanSide, aq as ImageContextConfig, ae as InjectMessageOptions, as as LLMProviderInterface, M as ModelDefinition, aL as NamespaceResolutionError, w as PromptContent, s as PromptDefinition, y as PromptIncludePart, x as PromptPart, F as PromptSide, t as PromptToolConfig, P as Provider, at as ProviderContentPart, aw as ProviderFilePart, av as ProviderImagePart, ar as ProviderRegistry, au as ProviderTextPart, B as SessionToolBinding, z as SessionToolConfig, I as SideConfig, J as SubagentRelationship, u as SubagentToolConfig, S as SubpromptConfig, o as ThreadEventPayload, p as ThreadRegistryEntry, T as ThreadWatchdog, j as ThreadWatchdogState, v as ToolConfig, U as UpdateThreadParams, q as User, k as WatchdogCheckin, W as WatchdogProbeResult, f as applyRuntimeCors, am as buildImageDescription, c as canAccessThread, a9 as cat, aJ as createNamespaceContext, Q as emitThreadEvent, ag as enhanceFlowState, a0 as exists, ad as find, R as forceTurn, ap as generateImageDescription, a7 as getFileStats, N as getMessages, al as getMessagesToSummarize, az as getShortName, a8 as getThumbnail, ak as getUnsummarizedImageAttachments, aG as getVisibleAgentNames, aI as getVisibleModelNames, aH as getVisiblePromptNames, aF as getVisibleToolNames, ac as grep, aj as hasImageAttachments, aa as head, L as injectMessage, d as isAdminOnlyApiRoute, i as isHostedInstance, b as isPublicApiRoute, aK as isQualifiedName, e as isSameOriginBrowserRequest, a as isTrustedLocalDevelopmentRequest, Z as linkFile, a2 as mkdir, a5 as move, ao as optimizeImageContext, ax as parseQualifiedName, ay as qualifyName, K as queueTool, _ as readFile, a3 as readdir, O as reloadHistory, a6 as rename, an as replaceImagesWithDescriptions, aD as resolveAgent, aE as resolveHook, aC as resolveModel, aB as resolvePrompt, aA as resolveTool, a4 as rmdir, r as runtimeCorsHeaders, g as runtimePreflightResponse, $ as stat, ab as tail, a1 as unlink, V as updateThread, X as writeFile, Y as writeImage } from './resolver-DE5HFRlb.js';
|
|
2
2
|
export { v as Agent, J as AttachmentRef, i as AuthContext, A as AuthUser, e as BuilderThreadEndpointHandler, C as CLIENT_STREAM_CHUNK_BYTES, t as ClientDuplex, u as ClientForwarding, p as ClientStreamRequest, q as ClientStreamResponse, n as ClientToolRequest, o as ClientToolResponse, B as Controller, a as ControllerContext, G as Env, H as FileRecord, N as FileStats, D as FlowResult, F as FlowState, K as GrepResult, P as ImageContentPart, I as ImageMetadata, L as LLMResponse, M as Message, U as MessageContent, Q as MultimodalContent, R as RequestContext, S as StorageBackend, E as TelemetryEvent, O as TextContentPart, T as ThreadEndpointContext, b as ThreadEnv, w as ThreadInstance, x as ThreadMetadata, y as ToolCall, z as ToolResult, f as authenticate, j as callClient, k as callClientStream, c as createThreadEndpointHandler, m as decodeStreamChunk, d as defineController, l as encodeStreamChunk, h as endpointCallerFromAuth, g as requireAdmin, r as requireAuth, s as supportsClientForwarding } from './index-ChHAVogf.js';
|
|
3
3
|
export { AgentType, DefineHandlerOptions, DefinitionLoader, GlobalNamespaceContext, HANDLER_SYMBOL, HandlerDefinition, HookExecutionContext, HookExecutionSource, HookSignatures, ImageContent, ModelCapabilities, ModelProvider, NamespaceContext, PackageSignature, PackedExports, PackedMeta, PackedMetadata, PackedNamespaceContext, ParentHookRequirement, ParentHookStage, 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, ThreadHookName, Tool, ToolArgs, ToolArgsNode, ToolArgsRawShape, ToolContent, belongsToPackage, defineAgent, defineHandler, defineHook, defineModel, definePrompt, defineProvider, defineTool, isHandler, isPacked, isVisibleInNamespace, mapReasoningLevel, providerConst, providerEnv, providerValue } from '@standardagents/spec';
|
|
4
4
|
export { N as NamespacedRegistry } from './types-Dhd0M369.js';
|
package/dist/runtime.js
CHANGED
|
@@ -12011,6 +12011,13 @@ ${result ?? error ?? "No result content."}${attachmentSummary}`;
|
|
|
12011
12011
|
return namespace.get(namespace.idFromName(userId));
|
|
12012
12012
|
}
|
|
12013
12013
|
/** Read one JSON value from a user's account-wide key-value store. */
|
|
12014
|
+
/**
|
|
12015
|
+
* The pre-hub singleton hosts no user room, so it reserves no room prefixes.
|
|
12016
|
+
* Kept to satisfy the shared UserValueStore contract for fallback runtimes.
|
|
12017
|
+
*/
|
|
12018
|
+
async roomValuePrefixes() {
|
|
12019
|
+
return [];
|
|
12020
|
+
}
|
|
12014
12021
|
async getUserValue(userId, key) {
|
|
12015
12022
|
await this.ensureMigrated();
|
|
12016
12023
|
this.assertValidUserValueUserId(userId);
|
|
@@ -30199,7 +30206,7 @@ function canAccessThread(auth, thread) {
|
|
|
30199
30206
|
}
|
|
30200
30207
|
|
|
30201
30208
|
// src/users/upstream-timing.ts
|
|
30202
|
-
var UPSTREAM_TIMING_HEADER = "x-
|
|
30209
|
+
var UPSTREAM_TIMING_HEADER = "x-agentbuilder-upstream-timing";
|
|
30203
30210
|
var MAX_HEADER_CHARS = 512;
|
|
30204
30211
|
function formatUpstreamTiming(name, durationMs) {
|
|
30205
30212
|
const safe = Number.isFinite(durationMs) && durationMs > 0 ? durationMs : 0;
|
|
@@ -31055,11 +31062,30 @@ var DurableUserHub = class extends DurableObject {
|
|
|
31055
31062
|
}
|
|
31056
31063
|
return this.roomDefinition;
|
|
31057
31064
|
}
|
|
31065
|
+
/**
|
|
31066
|
+
* How a room execution presents itself to grant policies: as the endpoint
|
|
31067
|
+
* it declares it fronts, otherwise as a room named by its registry key.
|
|
31068
|
+
*/
|
|
31069
|
+
roomCaller(room) {
|
|
31070
|
+
if (typeof room.endpoint === "string" && room.endpoint.length > 0) {
|
|
31071
|
+
return { kind: "userEndpoint", name: room.endpoint };
|
|
31072
|
+
}
|
|
31073
|
+
return { kind: "userRoom", name: this.roomKey ?? "room" };
|
|
31074
|
+
}
|
|
31058
31075
|
/** Whether `key` is room-owned state, exempt from `user_value_changed`. */
|
|
31059
31076
|
async roomOwnsKey(key) {
|
|
31060
31077
|
const room = await this.loadRoom();
|
|
31061
31078
|
return Boolean(room?.valuePrefix && key.startsWith(room.valuePrefix));
|
|
31062
31079
|
}
|
|
31080
|
+
/**
|
|
31081
|
+
* The value-key prefixes this user's room declares as its own, so the
|
|
31082
|
+
* client-facing KV routes refuse writes under room-owned state. The platform
|
|
31083
|
+
* reserves whatever the tenant declares via `defineUserRoom({ valuePrefix })`.
|
|
31084
|
+
*/
|
|
31085
|
+
async roomValuePrefixes() {
|
|
31086
|
+
const room = await this.loadRoom();
|
|
31087
|
+
return room?.valuePrefix ? [room.valuePrefix] : [];
|
|
31088
|
+
}
|
|
31063
31089
|
/**
|
|
31064
31090
|
* Presence runs inside the serialization chain, after any execution the
|
|
31065
31091
|
* event raced with, so a room's presence write never interleaves with a
|
|
@@ -31092,7 +31118,7 @@ var DurableUserHub = class extends DurableObject {
|
|
|
31092
31118
|
const run = this.executionChain.run(async () => {
|
|
31093
31119
|
const room = await this.loadRoom();
|
|
31094
31120
|
if (!room?.onPresence) return;
|
|
31095
|
-
const user = new UserStateImpl(this.roomUserId(), this.scopeHost(),
|
|
31121
|
+
const user = new UserStateImpl(this.roomUserId(), this.scopeHost(), this.roomCaller(room));
|
|
31096
31122
|
try {
|
|
31097
31123
|
await room.onPresence(user, event);
|
|
31098
31124
|
} catch (error) {
|
|
@@ -31114,7 +31140,7 @@ var DurableUserHub = class extends DurableObject {
|
|
|
31114
31140
|
this.sendRoomFrame(ws, JSON.stringify({ type: "room", id: frame.id, error: "no_room" }));
|
|
31115
31141
|
return;
|
|
31116
31142
|
}
|
|
31117
|
-
const user = new UserStateImpl(this.roomUserId(), this.scopeHost(),
|
|
31143
|
+
const user = new UserStateImpl(this.roomUserId(), this.scopeHost(), this.roomCaller(room));
|
|
31118
31144
|
try {
|
|
31119
31145
|
await room.onFrame(user, connection, frame);
|
|
31120
31146
|
} catch (error) {
|