@agentfield/sdk 0.1.138 → 0.1.139-rc.2
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 +5 -0
- package/dist/index.d.ts +21 -1
- package/dist/index.js +46 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -168,3 +168,8 @@ agent.reasoner<{ task: string }, { status: string }>('deploy', async (ctx) => {
|
|
|
168
168
|
**Methods:** `requestApproval()`, `getApprovalStatus()`, `waitForApproval()`
|
|
169
169
|
|
|
170
170
|
See `examples/ts-node-examples/waiting-state/` for a complete working example.
|
|
171
|
+
|
|
172
|
+
## Realtime session turn detection
|
|
173
|
+
|
|
174
|
+
See [session turn detection and interruption](../../docs/session-turn-detection.md)
|
|
175
|
+
for VAD configuration, defaults, validation, and the WebRTC connection flow.
|
package/dist/index.d.ts
CHANGED
|
@@ -1913,6 +1913,24 @@ declare class HarnessRunner {
|
|
|
1913
1913
|
private sleep;
|
|
1914
1914
|
}
|
|
1915
1915
|
|
|
1916
|
+
type TurnDetection = {
|
|
1917
|
+
create_response?: boolean;
|
|
1918
|
+
interrupt_response?: boolean;
|
|
1919
|
+
} & ({
|
|
1920
|
+
type: 'server_vad';
|
|
1921
|
+
threshold?: number;
|
|
1922
|
+
prefix_padding_ms?: number;
|
|
1923
|
+
silence_duration_ms?: number;
|
|
1924
|
+
eagerness?: never;
|
|
1925
|
+
} | {
|
|
1926
|
+
type: 'semantic_vad';
|
|
1927
|
+
eagerness?: 'auto' | 'low' | 'medium' | 'high';
|
|
1928
|
+
threshold?: never;
|
|
1929
|
+
prefix_padding_ms?: never;
|
|
1930
|
+
silence_duration_ms?: never;
|
|
1931
|
+
});
|
|
1932
|
+
declare function normalizeTurnDetection(provider: string, transport: string, config?: TurnDetection): TurnDetection | undefined;
|
|
1933
|
+
|
|
1916
1934
|
interface SessionDefinition {
|
|
1917
1935
|
name: string;
|
|
1918
1936
|
provider: string;
|
|
@@ -1920,6 +1938,7 @@ interface SessionDefinition {
|
|
|
1920
1938
|
model?: string;
|
|
1921
1939
|
modalities: string[];
|
|
1922
1940
|
voice?: string;
|
|
1941
|
+
turn_detection?: TurnDetection;
|
|
1923
1942
|
tools: string[];
|
|
1924
1943
|
tags: string[];
|
|
1925
1944
|
proposed_tags: string[];
|
|
@@ -1932,6 +1951,7 @@ interface SessionOptions {
|
|
|
1932
1951
|
model?: string;
|
|
1933
1952
|
modalities?: string[];
|
|
1934
1953
|
voice?: string;
|
|
1954
|
+
turn_detection?: TurnDetection;
|
|
1935
1955
|
tools?: string[];
|
|
1936
1956
|
tags?: string[];
|
|
1937
1957
|
metadata?: Record<string, unknown>;
|
|
@@ -3072,4 +3092,4 @@ declare function simulateSchedule<R>(handler: (ctx: SimulatedContext) => R | Pro
|
|
|
3072
3092
|
*/
|
|
3073
3093
|
declare function loadFixture(source: string): Record<string, unknown>;
|
|
3074
3094
|
|
|
3075
|
-
export { ACTIVE_STATUSES, AIClient, type AIConfig, type AIEmbeddingOptions, type AIRequestOptions, type AIStream, type AIToolRequestOptions, Agent, type AgentCapability, type AgentConfig, type AgentHandler, AgentRouter, type AgentRouterOptions, type AgentState, ApprovalClient, type ApprovalDecision, type ApprovalRequestResponse, ApprovalResult, type ApprovalStatusResponse, Audio, type AudioOutput, type AudioRequest, type AuditTrailExport, type AuditTrailFilters, type Awaitable, CANONICAL_STATUSES, type CompactCapability, type CompactDiscoveryResponse, type CostEntry, type CostEntryInit, CostTracker, DEFAULT_HARNESS_PROVIDER, DIDAuthenticator, type DIDIdentity, type DIDIdentityPackage, type DIDRegistrationRequest, type DIDRegistrationResponse, type DeploymentType, DidClient, DidInterface, DidManager, type DidResolver, type DiscoveryFormat, type DiscoveryOptions, type DiscoveryPagination, type DiscoveryResponse, type DiscoveryResult, type EventTriggerBinding, type EventTriggerSpec, ExecutionContext, type ExecutionCredential, type ExecutionLogAttributes, type ExecutionLogBatchPayload, type ExecutionLogContext, type ExecutionLogEmitOptions, type ExecutionLogEntry, type ExecutionLogLevel, type ExecutionLogTransport, type ExecutionLogTransportPayload, type ExecutionLogWireEntry, ExecutionLogger, type ExecutionLoggerOptions, type ExecutionMetadata, ExecutionStatus, type ExecutionStatusValue, File, type FileOutput, type GenerateCredentialOptions, type GenerateCredentialParams, HARNESS_PROVIDER_ENV_VAR, HEADER_CALLER_DID, HEADER_DID_NONCE, HEADER_DID_SIGNATURE, HEADER_DID_TIMESTAMP, type HarnessConfig, type HarnessOptions, type HarnessProvider, type HarnessResult, HarnessRunner, type HealthStatus, Image, type ImageOutput, type ImageRequest, JWE_ALG, JWE_ENC, KEY_AGREEMENT_TYPE, MODEL_VARIANT_SEP, type MediaProvider, MediaProviderError, type MediaResponse, MediaRouter, type MemoryChangeEvent, MemoryClient, MemoryClientBase, type MemoryConfig, MemoryEventClient, type MemoryEventHandler, type MemoryEventHistoryOptions, type MemoryEventSubscriptionOptions, MemoryInterface, type MemoryRequestMetadata, type MemoryRequestOptions, type MemoryScope, type MemoryWatchHandler, type Metrics, type ModelVariant, type MultimodalContent, MultimodalResponse, OpenRouterMediaProvider, type OpenRouterMediaProviderOptions, PauseClock, PauseManager, type Payload, PayloadEncryptionError, RateLimitError, type RateLimiterOptions, type RawExecutionContext, type RawResult, RealtimeSession, type ReasonerCapability, ReasonerContext, type ReasonerDefinition, type ReasonerHandler, type ReasonerOptions, type RequestApprovalPayload, SUPPORTED_PROVIDERS, SUPPORTED_SESSION_TRANSPORTS, type ScheduleTriggerBinding, type ScheduleTriggerSpec, type ServerlessAdapter, type ServerlessEvent, type ServerlessResponse, type SessionDefinition, type SessionOptions, type SessionProvider, type SessionTransport, type SessionTransportCapability, SessionTransportError, type SessionTurn, type SimulateScheduleOptions, type SimulateTriggerOptions, type SimulatedContext, type SkillCapability, SkillContext, type SkillDefinition, type SkillHandler, type SkillOptions, StatelessRateLimiter, TERMINAL_STATUSES, Text, type ToolCallConfig, type ToolCallRecord, type ToolCallTrace, type ToolsOption, type TriggerBinding, type TriggerContext, type TriggerEnvelope, USAGE_ENVELOPE_KEY, type UnwrapResult, type UsageEntryWire, type UsageSummaryWire, type VectorSearchOptions, type VectorSearchResult, Video, type VideoFrameImage, type VideoInputReference, type VideoRequest, type WaitForApprovalOptions, type WorkflowCredential, type WorkflowMetadata, type WorkflowProgressOptions, WorkflowReporter, type ZodSchema, applyTriggerTransform, attachUsageToSyncResult, audioFromBase64, audioFromBuffer, audioFromFile, audioFromUrl, audioMediaType, buildProvider, buildSessionDefinition, buildToolConfig, capabilitiesToTools, capabilityToMetadataTool, capabilityToTool, createExecutionLogger, createHarnessResult, createMetrics, createMultimodalResponse, createRawResult, decrypt, decryptToString, deriveProvider, encryptForDid, encryptToJwk, eventTrigger, executeToolCallLoop, extractKeyAgreementJwk, fileFromBase64, fileFromBuffer, fileFromPath, fileFromUrl, generateX25519KeyPair, getCurrentContext, getCurrentSkillContext, guessUrlMimeType, imageFromBase64, imageFromBuffer, imageFromFile, imageFromUrl, installApprovalWebhookRoute, isActive, isExecutionLogBatchPayload, isTerminal, isTriggerEnvelope, loadFixture, normalizeExecutionLogEntry, normalizeSessionTransportValue, normalizeStatus, resolveModelAndVariant, resolveProviderName, scheduleTrigger, serializeExecutionLogEntry, simulateSchedule, simulateTrigger, splitModelVariant, text, triggerToPayload, unwrapEnvelope, usageSummaryOrNull, validateSessionTransport, videoFromBase64, videoFromBuffer, videoFromFile, videoFromUrl };
|
|
3095
|
+
export { ACTIVE_STATUSES, AIClient, type AIConfig, type AIEmbeddingOptions, type AIRequestOptions, type AIStream, type AIToolRequestOptions, Agent, type AgentCapability, type AgentConfig, type AgentHandler, AgentRouter, type AgentRouterOptions, type AgentState, ApprovalClient, type ApprovalDecision, type ApprovalRequestResponse, ApprovalResult, type ApprovalStatusResponse, Audio, type AudioOutput, type AudioRequest, type AuditTrailExport, type AuditTrailFilters, type Awaitable, CANONICAL_STATUSES, type CompactCapability, type CompactDiscoveryResponse, type CostEntry, type CostEntryInit, CostTracker, DEFAULT_HARNESS_PROVIDER, DIDAuthenticator, type DIDIdentity, type DIDIdentityPackage, type DIDRegistrationRequest, type DIDRegistrationResponse, type DeploymentType, DidClient, DidInterface, DidManager, type DidResolver, type DiscoveryFormat, type DiscoveryOptions, type DiscoveryPagination, type DiscoveryResponse, type DiscoveryResult, type EventTriggerBinding, type EventTriggerSpec, ExecutionContext, type ExecutionCredential, type ExecutionLogAttributes, type ExecutionLogBatchPayload, type ExecutionLogContext, type ExecutionLogEmitOptions, type ExecutionLogEntry, type ExecutionLogLevel, type ExecutionLogTransport, type ExecutionLogTransportPayload, type ExecutionLogWireEntry, ExecutionLogger, type ExecutionLoggerOptions, type ExecutionMetadata, ExecutionStatus, type ExecutionStatusValue, File, type FileOutput, type GenerateCredentialOptions, type GenerateCredentialParams, HARNESS_PROVIDER_ENV_VAR, HEADER_CALLER_DID, HEADER_DID_NONCE, HEADER_DID_SIGNATURE, HEADER_DID_TIMESTAMP, type HarnessConfig, type HarnessOptions, type HarnessProvider, type HarnessResult, HarnessRunner, type HealthStatus, Image, type ImageOutput, type ImageRequest, JWE_ALG, JWE_ENC, KEY_AGREEMENT_TYPE, MODEL_VARIANT_SEP, type MediaProvider, MediaProviderError, type MediaResponse, MediaRouter, type MemoryChangeEvent, MemoryClient, MemoryClientBase, type MemoryConfig, MemoryEventClient, type MemoryEventHandler, type MemoryEventHistoryOptions, type MemoryEventSubscriptionOptions, MemoryInterface, type MemoryRequestMetadata, type MemoryRequestOptions, type MemoryScope, type MemoryWatchHandler, type Metrics, type ModelVariant, type MultimodalContent, MultimodalResponse, OpenRouterMediaProvider, type OpenRouterMediaProviderOptions, PauseClock, PauseManager, type Payload, PayloadEncryptionError, RateLimitError, type RateLimiterOptions, type RawExecutionContext, type RawResult, RealtimeSession, type ReasonerCapability, ReasonerContext, type ReasonerDefinition, type ReasonerHandler, type ReasonerOptions, type RequestApprovalPayload, SUPPORTED_PROVIDERS, SUPPORTED_SESSION_TRANSPORTS, type ScheduleTriggerBinding, type ScheduleTriggerSpec, type ServerlessAdapter, type ServerlessEvent, type ServerlessResponse, type SessionDefinition, type SessionOptions, type SessionProvider, type SessionTransport, type SessionTransportCapability, SessionTransportError, type SessionTurn, type SimulateScheduleOptions, type SimulateTriggerOptions, type SimulatedContext, type SkillCapability, SkillContext, type SkillDefinition, type SkillHandler, type SkillOptions, StatelessRateLimiter, TERMINAL_STATUSES, Text, type ToolCallConfig, type ToolCallRecord, type ToolCallTrace, type ToolsOption, type TriggerBinding, type TriggerContext, type TriggerEnvelope, type TurnDetection, USAGE_ENVELOPE_KEY, type UnwrapResult, type UsageEntryWire, type UsageSummaryWire, type VectorSearchOptions, type VectorSearchResult, Video, type VideoFrameImage, type VideoInputReference, type VideoRequest, type WaitForApprovalOptions, type WorkflowCredential, type WorkflowMetadata, type WorkflowProgressOptions, WorkflowReporter, type ZodSchema, applyTriggerTransform, attachUsageToSyncResult, audioFromBase64, audioFromBuffer, audioFromFile, audioFromUrl, audioMediaType, buildProvider, buildSessionDefinition, buildToolConfig, capabilitiesToTools, capabilityToMetadataTool, capabilityToTool, createExecutionLogger, createHarnessResult, createMetrics, createMultimodalResponse, createRawResult, decrypt, decryptToString, deriveProvider, encryptForDid, encryptToJwk, eventTrigger, executeToolCallLoop, extractKeyAgreementJwk, fileFromBase64, fileFromBuffer, fileFromPath, fileFromUrl, generateX25519KeyPair, getCurrentContext, getCurrentSkillContext, guessUrlMimeType, imageFromBase64, imageFromBuffer, imageFromFile, imageFromUrl, installApprovalWebhookRoute, isActive, isExecutionLogBatchPayload, isTerminal, isTriggerEnvelope, loadFixture, normalizeExecutionLogEntry, normalizeSessionTransportValue, normalizeStatus, normalizeTurnDetection, resolveModelAndVariant, resolveProviderName, scheduleTrigger, serializeExecutionLogEntry, simulateSchedule, simulateTrigger, splitModelVariant, text, triggerToPayload, unwrapEnvelope, usageSummaryOrNull, validateSessionTransport, videoFromBase64, videoFromBuffer, videoFromFile, videoFromUrl };
|
package/dist/index.js
CHANGED
|
@@ -6036,6 +6036,50 @@ function validateSessionTransport(provider, transport) {
|
|
|
6036
6036
|
};
|
|
6037
6037
|
}
|
|
6038
6038
|
|
|
6039
|
+
// src/sessionTurnDetection.ts
|
|
6040
|
+
function normalizeTurnDetection(provider, transport, config) {
|
|
6041
|
+
if (provider !== "openai" || !["webrtc", "websocket"].includes(transport)) {
|
|
6042
|
+
if (config !== void 0) {
|
|
6043
|
+
throw new Error("turn_detection requires provider=openai and transport=webrtc or websocket");
|
|
6044
|
+
}
|
|
6045
|
+
return void 0;
|
|
6046
|
+
}
|
|
6047
|
+
if (config === void 0) config = { type: "server_vad" };
|
|
6048
|
+
if (config === null || typeof config !== "object" || Array.isArray(config)) {
|
|
6049
|
+
throw new Error("turn_detection must be an object");
|
|
6050
|
+
}
|
|
6051
|
+
const kind = config.type;
|
|
6052
|
+
const common = ["type", "create_response", "interrupt_response"];
|
|
6053
|
+
let allowed;
|
|
6054
|
+
if (kind === "server_vad") {
|
|
6055
|
+
allowed = [...common, "threshold", "prefix_padding_ms", "silence_duration_ms"];
|
|
6056
|
+
} else if (kind === "semantic_vad") {
|
|
6057
|
+
allowed = [...common, "eagerness"];
|
|
6058
|
+
} else {
|
|
6059
|
+
throw new Error("turn_detection.type must be server_vad or semantic_vad");
|
|
6060
|
+
}
|
|
6061
|
+
const supplied = {};
|
|
6062
|
+
for (const [key, value] of Object.entries(config)) {
|
|
6063
|
+
if (!allowed.includes(key)) throw new Error(`turn_detection.${key} is unsupported for ${kind}`);
|
|
6064
|
+
if (value === void 0) continue;
|
|
6065
|
+
if (["create_response", "interrupt_response"].includes(key) && typeof value !== "boolean") {
|
|
6066
|
+
throw new Error(`turn_detection.${key} must be a boolean`);
|
|
6067
|
+
}
|
|
6068
|
+
if (key === "threshold" && (typeof value !== "number" || !Number.isFinite(value) || value < 0 || value > 1)) {
|
|
6069
|
+
throw new Error("turn_detection.threshold must be a finite number between 0 and 1");
|
|
6070
|
+
}
|
|
6071
|
+
if (["prefix_padding_ms", "silence_duration_ms"].includes(key) && (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0)) {
|
|
6072
|
+
throw new Error(`turn_detection.${key} must be a non-negative integer`);
|
|
6073
|
+
}
|
|
6074
|
+
if (key === "eagerness" && !["auto", "low", "medium", "high"].includes(value)) {
|
|
6075
|
+
throw new Error("turn_detection.eagerness must be auto, low, medium, or high");
|
|
6076
|
+
}
|
|
6077
|
+
supplied[key] = value;
|
|
6078
|
+
}
|
|
6079
|
+
const defaults = kind === "server_vad" ? { threshold: 0.5, prefix_padding_ms: 300, silence_duration_ms: 500 } : { eagerness: "auto" };
|
|
6080
|
+
return { ...defaults, create_response: true, interrupt_response: true, ...supplied };
|
|
6081
|
+
}
|
|
6082
|
+
|
|
6039
6083
|
// src/session.ts
|
|
6040
6084
|
var RealtimeSession = class {
|
|
6041
6085
|
sessionId;
|
|
@@ -6057,6 +6101,7 @@ function buildSessionDefinition(name, options) {
|
|
|
6057
6101
|
model: options.model,
|
|
6058
6102
|
modalities: options.modalities ?? ["audio", "text"],
|
|
6059
6103
|
voice: options.voice,
|
|
6104
|
+
turn_detection: normalizeTurnDetection(capability.provider, capability.transport, options.turn_detection),
|
|
6060
6105
|
tools: options.tools ?? [],
|
|
6061
6106
|
tags: options.tags ?? [],
|
|
6062
6107
|
proposed_tags: options.tags ?? [],
|
|
@@ -9021,6 +9066,6 @@ function loadFixture(source) {
|
|
|
9021
9066
|
);
|
|
9022
9067
|
}
|
|
9023
9068
|
|
|
9024
|
-
export { ACTIVE_STATUSES, AIClient, Agent, AgentRouter, ApprovalClient, ApprovalResult, Audio, CANONICAL_STATUSES, CostTracker, DEFAULT_HARNESS_PROVIDER, DIDAuthenticator, DidClient, DidInterface, DidManager, ExecutionContext, ExecutionLogger, ExecutionStatus, File, HARNESS_PROVIDER_ENV_VAR, HEADER_CALLER_DID, HEADER_DID_NONCE, HEADER_DID_SIGNATURE, HEADER_DID_TIMESTAMP, HarnessRunner, Image, JWE_ALG, JWE_ENC, KEY_AGREEMENT_TYPE, MODEL_VARIANT_SEP, MediaProviderError, MediaRouter, MemoryClient, MemoryClientBase, MemoryEventClient, MemoryInterface, MultimodalResponse, OpenRouterMediaProvider, PauseClock, PauseManager, PayloadEncryptionError, RateLimitError, RealtimeSession, ReasonerContext, SUPPORTED_PROVIDERS, SUPPORTED_SESSION_TRANSPORTS, SessionTransportError, SkillContext, StatelessRateLimiter, TERMINAL_STATUSES, Text, USAGE_ENVELOPE_KEY, Video, WorkflowReporter, applyTriggerTransform, attachUsageToSyncResult, audioFromBase64, audioFromBuffer, audioFromFile, audioFromUrl, audioMediaType, buildProvider, buildSessionDefinition, buildToolConfig, capabilitiesToTools, capabilityToMetadataTool, capabilityToTool, createExecutionLogger, createHarnessResult, createMetrics, createMultimodalResponse, createRawResult, decrypt, decryptToString, deriveProvider, encryptForDid, encryptToJwk, eventTrigger, executeToolCallLoop, extractKeyAgreementJwk, fileFromBase64, fileFromBuffer, fileFromPath, fileFromUrl, generateX25519KeyPair, getCurrentContext, getCurrentSkillContext, guessUrlMimeType, imageFromBase64, imageFromBuffer, imageFromFile, imageFromUrl, installApprovalWebhookRoute, isActive, isExecutionLogBatchPayload, isTerminal, isTriggerEnvelope, loadFixture, normalizeExecutionLogEntry, normalizeSessionTransportValue, normalizeStatus, resolveModelAndVariant, resolveProviderName, scheduleTrigger, serializeExecutionLogEntry, simulateSchedule, simulateTrigger, splitModelVariant, text, triggerToPayload, unwrapEnvelope, usageSummaryOrNull, validateSessionTransport, videoFromBase64, videoFromBuffer, videoFromFile, videoFromUrl };
|
|
9069
|
+
export { ACTIVE_STATUSES, AIClient, Agent, AgentRouter, ApprovalClient, ApprovalResult, Audio, CANONICAL_STATUSES, CostTracker, DEFAULT_HARNESS_PROVIDER, DIDAuthenticator, DidClient, DidInterface, DidManager, ExecutionContext, ExecutionLogger, ExecutionStatus, File, HARNESS_PROVIDER_ENV_VAR, HEADER_CALLER_DID, HEADER_DID_NONCE, HEADER_DID_SIGNATURE, HEADER_DID_TIMESTAMP, HarnessRunner, Image, JWE_ALG, JWE_ENC, KEY_AGREEMENT_TYPE, MODEL_VARIANT_SEP, MediaProviderError, MediaRouter, MemoryClient, MemoryClientBase, MemoryEventClient, MemoryInterface, MultimodalResponse, OpenRouterMediaProvider, PauseClock, PauseManager, PayloadEncryptionError, RateLimitError, RealtimeSession, ReasonerContext, SUPPORTED_PROVIDERS, SUPPORTED_SESSION_TRANSPORTS, SessionTransportError, SkillContext, StatelessRateLimiter, TERMINAL_STATUSES, Text, USAGE_ENVELOPE_KEY, Video, WorkflowReporter, applyTriggerTransform, attachUsageToSyncResult, audioFromBase64, audioFromBuffer, audioFromFile, audioFromUrl, audioMediaType, buildProvider, buildSessionDefinition, buildToolConfig, capabilitiesToTools, capabilityToMetadataTool, capabilityToTool, createExecutionLogger, createHarnessResult, createMetrics, createMultimodalResponse, createRawResult, decrypt, decryptToString, deriveProvider, encryptForDid, encryptToJwk, eventTrigger, executeToolCallLoop, extractKeyAgreementJwk, fileFromBase64, fileFromBuffer, fileFromPath, fileFromUrl, generateX25519KeyPair, getCurrentContext, getCurrentSkillContext, guessUrlMimeType, imageFromBase64, imageFromBuffer, imageFromFile, imageFromUrl, installApprovalWebhookRoute, isActive, isExecutionLogBatchPayload, isTerminal, isTriggerEnvelope, loadFixture, normalizeExecutionLogEntry, normalizeSessionTransportValue, normalizeStatus, normalizeTurnDetection, resolveModelAndVariant, resolveProviderName, scheduleTrigger, serializeExecutionLogEntry, simulateSchedule, simulateTrigger, splitModelVariant, text, triggerToPayload, unwrapEnvelope, usageSummaryOrNull, validateSessionTransport, videoFromBase64, videoFromBuffer, videoFromFile, videoFromUrl };
|
|
9025
9070
|
//# sourceMappingURL=index.js.map
|
|
9026
9071
|
//# sourceMappingURL=index.js.map
|