@agents24/node 0.2.0 → 0.2.1

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 (54) hide show
  1. package/README.md +17 -4
  2. package/compatibility.json +10 -10
  3. package/dist/bff.cjs +204 -33
  4. package/dist/bff.cjs.map +1 -1
  5. package/dist/bff.d.cts +5 -3
  6. package/dist/bff.d.ts +5 -3
  7. package/dist/bff.js +204 -33
  8. package/dist/bff.js.map +1 -1
  9. package/dist/{client-6MWalxux.d.cts → client-CnOaaCVH.d.cts} +431 -71
  10. package/dist/{client-6MWalxux.d.ts → client-CnOaaCVH.d.ts} +431 -71
  11. package/dist/index.cjs +187 -45
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.d.cts +3 -3
  14. package/dist/index.d.ts +3 -3
  15. package/dist/index.js +187 -45
  16. package/dist/index.js.map +1 -1
  17. package/dist/server.cjs +52 -6
  18. package/dist/server.cjs.map +1 -1
  19. package/dist/server.d.cts +14 -2
  20. package/dist/server.d.ts +14 -2
  21. package/dist/server.js +50 -7
  22. package/dist/server.js.map +1 -1
  23. package/dist/types/agents.d.ts +5 -4
  24. package/dist/types/agents.d.ts.map +1 -1
  25. package/dist/types/bff.d.ts +4 -2
  26. package/dist/types/bff.d.ts.map +1 -1
  27. package/dist/types/builders.d.ts +2 -0
  28. package/dist/types/builders.d.ts.map +1 -1
  29. package/dist/types/client-runtime-admin.d.ts +1 -1
  30. package/dist/types/client.d.ts +4 -0
  31. package/dist/types/client.d.ts.map +1 -1
  32. package/dist/types/embed.d.ts +5 -3
  33. package/dist/types/embed.d.ts.map +1 -1
  34. package/dist/types/errors.d.ts +10 -2
  35. package/dist/types/errors.d.ts.map +1 -1
  36. package/dist/types/generated/instructions.d.ts +8 -0
  37. package/dist/types/generated/instructions.d.ts.map +1 -0
  38. package/dist/types/generated/manifest.d.ts +1 -1
  39. package/dist/types/generated/manifest.d.ts.map +1 -1
  40. package/dist/types/generated/resourceBundles.d.ts +4 -1
  41. package/dist/types/generated/resourceBundles.d.ts.map +1 -1
  42. package/dist/types/generated/resourcePolicies.d.ts +14 -0
  43. package/dist/types/generated/resourcePolicies.d.ts.map +1 -0
  44. package/dist/types/http.d.ts +0 -2
  45. package/dist/types/http.d.ts.map +1 -1
  46. package/dist/types/index.d.ts +1 -1
  47. package/dist/types/index.d.ts.map +1 -1
  48. package/dist/types/runs.d.ts +4 -2
  49. package/dist/types/runs.d.ts.map +1 -1
  50. package/dist/types/server.d.ts +13 -1
  51. package/dist/types/server.d.ts.map +1 -1
  52. package/dist/types/types.d.ts +384 -60
  53. package/dist/types/types.d.ts.map +1 -1
  54. package/package.json +2 -2
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/errors.ts","../src/http.ts","../src/streams.ts","../src/agents.ts","../src/builders.ts","../src/client-runtime-admin.ts","../src/embed.ts","../src/generated/resourceBundles.ts","../src/generated/resourcePackages.ts","../src/runs.ts","../src/client.ts","../src/generated/manifest.ts"],"names":["message"],"mappings":"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","file":"index.js","sourcesContent":["export type Agents24SDKErrorKind = \"protocol\" | \"network\" | \"http\";\nexport type Agents24NodeErrorKind = Agents24SDKErrorKind;\n\nexport class Agents24SDKError extends Error {\n readonly kind: Agents24SDKErrorKind;\n readonly status?: number;\n readonly details?: unknown;\n readonly responseHeaders?: Readonly<Record<string, string>>;\n\n constructor(\n message: string,\n options: {\n kind: Agents24SDKErrorKind;\n status?: number;\n details?: unknown;\n responseHeaders?: Readonly<Record<string, string>>;\n cause?: unknown;\n },\n ) {\n super(message, { cause: options.cause });\n this.name = \"Agents24SDKError\";\n this.kind = options.kind;\n this.status = options.status;\n this.details = options.details;\n this.responseHeaders = options.responseHeaders;\n }\n}\n\nexport { Agents24SDKError as Agents24NodeError };\n","import { randomUUID } from \"node:crypto\";\n\nimport { Agents24SDKError } from \"./errors.js\";\nimport type { Agents24NodeOptions, RequestOptions } from \"./types.js\";\n\nfunction required(value: string, name: string): string {\n const normalized = String(value || \"\").trim();\n if (!normalized) throw new Agents24SDKError(`Agents24 requires ${name}.`, { kind: \"protocol\" });\n return normalized;\n}\n\nfunction normalizeBaseUrl(value: string): string {\n try {\n return new URL(required(value, \"baseUrl\")).toString().replace(/\\/+$/, \"\");\n } catch (cause) {\n if (cause instanceof Agents24SDKError) throw cause;\n throw new Agents24SDKError(\"Agents24 received an invalid baseUrl.\", { kind: \"protocol\", cause });\n }\n}\n\nasync function errorDetails(response: Response): Promise<unknown> {\n const text = await response.text().catch(() => \"\");\n if (!text) return null;\n try { return JSON.parse(text) as unknown; }\n catch { return text; }\n}\n\nfunction detailMessage(details: unknown): string | undefined {\n if (typeof details === \"string\" && details.trim()) return details.trim();\n if (!details || typeof details !== \"object\" || Array.isArray(details)) return undefined;\n const detail = (details as Record<string, unknown>).detail;\n if (typeof detail === \"string\" && detail.trim()) return detail.trim();\n if (detail && typeof detail === \"object\" && !Array.isArray(detail)) {\n const message = (detail as Record<string, unknown>).message;\n if (typeof message === \"string\" && message.trim()) return message.trim();\n }\n const message = (details as Record<string, unknown>).message;\n return typeof message === \"string\" && message.trim() ? message.trim() : undefined;\n}\n\nfunction responseHeaders(response: Response): Record<string, string> {\n const headers: Record<string, string> = {};\n for (const name of [\"dpop-nonce\", \"retry-after\", \"www-authenticate\", \"x-request-id\"]) {\n const value = response.headers.get(name);\n if (value) headers[name] = value;\n }\n return headers;\n}\n\nexport async function assertOk(response: Response): Promise<void> {\n if (response.ok) return;\n const details = await errorDetails(response);\n throw new Agents24SDKError(detailMessage(details) || response.statusText || \"Agents24 request failed.\", {\n kind: \"http\",\n status: response.status,\n details,\n responseHeaders: responseHeaders(response),\n });\n}\n\nexport type RequestConfig = {\n method?: string;\n query?: Record<string, unknown>;\n body?: unknown;\n headers?: HeadersInit;\n options?: RequestOptions;\n mutation?: boolean;\n};\n\nexport class Agents24HttpClient {\n private readonly base: string;\n private readonly apiKey: string;\n private readonly organizationId: string;\n private readonly projectId: string;\n private readonly fetchImpl: typeof fetch;\n\n constructor(options: Agents24NodeOptions) {\n if (typeof process === \"undefined\" || process.release?.name !== \"node\") {\n throw new Agents24SDKError(\"@agents24/node is for trusted server runtimes only.\", { kind: \"protocol\" });\n }\n this.base = normalizeBaseUrl(options.baseUrl);\n this.apiKey = required(options.apiKey, \"apiKey\");\n this.organizationId = required(options.organizationId, \"organizationId\");\n this.projectId = required(options.projectId, \"projectId\");\n if (typeof options.fetchImpl !== \"function\" && typeof fetch !== \"function\") {\n throw new Agents24SDKError(\"No fetch implementation is available. Use Node 22 or 24.\", { kind: \"protocol\" });\n }\n this.fetchImpl = options.fetchImpl || fetch;\n }\n\n url(requestPath: string, query?: Record<string, unknown>): string {\n const url = new URL(`${this.base}${requestPath}`);\n for (const [key, value] of Object.entries(query || {})) {\n if (value === undefined || value === null || value === \"\") continue;\n if (Array.isArray(value)) {\n for (const item of value) {\n if (item !== undefined && item !== null && item !== \"\") url.searchParams.append(key, String(item));\n }\n } else {\n url.searchParams.set(key, String(value));\n }\n }\n return url.toString();\n }\n\n jsonHeaders(extra?: HeadersInit, options?: RequestOptions, mutation = false): HeadersInit {\n return {\n Authorization: `Bearer ${this.apiKey}`,\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n \"X-Organization-ID\": this.organizationId,\n \"X-Project-ID\": this.projectId,\n \"X-SDK-Contract\": \"1\",\n ...(mutation ? { \"Idempotency-Key\": options?.idempotencyKey || randomUUID() } : {}),\n ...(options?.requestMetadata ? { \"X-Request-Metadata\": JSON.stringify(options.requestMetadata) } : {}),\n ...(extra || {}),\n };\n }\n\n streamHeaders(extra?: HeadersInit, options?: RequestOptions, mutation = false): HeadersInit {\n return this.jsonHeaders({ Accept: \"text/event-stream\", ...(extra || {}) }, options, mutation);\n }\n\n multipartHeaders(extra?: HeadersInit, options?: RequestOptions, mutation = false): HeadersInit {\n return {\n Authorization: `Bearer ${this.apiKey}`,\n Accept: \"application/json\",\n \"X-Organization-ID\": this.organizationId,\n \"X-Project-ID\": this.projectId,\n \"X-SDK-Contract\": \"1\",\n ...(mutation ? { \"Idempotency-Key\": options?.idempotencyKey || randomUUID() } : {}),\n ...(extra || {}),\n };\n }\n\n async requestJson<T>(requestPath: string, config: RequestConfig = {}): Promise<T> {\n const query = { ...(config.query || {}) };\n if (config.options?.dryRun !== undefined) query.dry_run = config.options.dryRun;\n if (config.options?.validateOnly !== undefined) query.validate_only = config.options.validateOnly;\n const response = await this.fetchOrThrow(this.url(requestPath, query), {\n method: config.method || \"GET\",\n headers: this.jsonHeaders(config.headers, config.options, Boolean(config.mutation)),\n ...(config.body === undefined ? {} : { body: JSON.stringify(config.body) }),\n }, \"Failed to connect to the Agents24 API.\");\n await assertOk(response);\n return await response.json() as T;\n }\n\n async fetchOrThrow(url: string, init: RequestInit, message: string): Promise<Response> {\n try { return await this.fetchImpl(url, init); }\n catch (cause) {\n if (cause instanceof Agents24SDKError) throw cause;\n throw new Agents24SDKError(message, { kind: \"network\", cause });\n }\n }\n}\n","import {\n createSseParser,\n parseRuntimeSsePayload,\n parseThreadSummarySsePayload,\n} from \"@agents24/client/protocol\";\nimport type { RuntimeEvent, ThreadSummaryEvent } from \"@agents24/client/protocol\";\n\nimport { Agents24SDKError } from \"./errors.js\";\n\nasync function consumePayloads(\n response: Response,\n onPayload: (payload: string) => void | Promise<void>,\n signal?: AbortSignal,\n): Promise<void> {\n if (!response.body) {\n throw new Agents24SDKError(\"Stream response did not include a readable body.\", { kind: \"protocol\" });\n }\n const reader = response.body.getReader();\n const parser = createSseParser({ decoder: new TextDecoder(), onPayload, signal });\n const abort = () => { void reader.cancel(signal?.reason).catch(() => undefined); };\n if (signal?.aborted) return abort();\n signal?.addEventListener(\"abort\", abort, { once: true });\n try {\n while (!signal?.aborted) {\n const { done, value } = await reader.read();\n if (value) await parser.push(value);\n if (done) break;\n }\n if (!signal?.aborted) await parser.finish();\n } finally {\n signal?.removeEventListener(\"abort\", abort);\n reader.releaseLock();\n }\n}\n\nexport async function consumeRuntimeEventStream(\n response: Response,\n onEvent?: (event: RuntimeEvent) => void | Promise<void>,\n signal?: AbortSignal,\n): Promise<void> {\n await consumePayloads(response, async (payload) => {\n const event = parseRuntimeSsePayload(payload);\n if (onEvent) await onEvent(event);\n }, signal);\n}\n\nexport async function consumeThreadSummaryEventStream(\n response: Response,\n onEvent: (event: ThreadSummaryEvent) => void | Promise<void>,\n signal?: AbortSignal,\n): Promise<void> {\n await consumePayloads(response, async (payload) => {\n await onEvent(parseThreadSummarySsePayload(payload));\n }, signal);\n}\n","import { assertOk, type Agents24HttpClient } from \"./http.js\";\nimport { consumeRuntimeEventStream } from \"./streams.js\";\nimport type {\n AgentCreateRequest,\n AgentListResponse,\n AgentResponse,\n AgentStreamRequest,\n AgentUpdateRequest,\n AttachmentUploadResult,\n GraphDefinition,\n RequestOptions,\n RunCancelOptions,\n RunCancelResult,\n RuntimeEvent,\n ServerAttachmentUploadOptions,\n StartRunResult,\n StreamRequestOptions,\n StreamResult,\n} from \"./types.js\";\n\nexport type ListAgentsOptions = { status?: string; skip?: number; limit?: number; view?: \"summary\" | \"full\" | string };\n\nexport class AgentsNamespace {\n constructor(private readonly http: Agents24HttpClient) {}\n\n list(options: ListAgentsOptions = {}): Promise<AgentListResponse> {\n return this.http.requestJson(\"/agents\", { query: { status: options.status, skip: options.skip ?? 0, limit: options.limit ?? 20, view: options.view ?? \"summary\" } });\n }\n get(agentId: string): Promise<AgentResponse> { return this.http.requestJson(`/agents/${agentId}`); }\n create(request: AgentCreateRequest, options?: RequestOptions): Promise<AgentResponse> {\n return this.http.requestJson(\"/agents\", { method: \"POST\", body: request, options, mutation: true });\n }\n update(agentId: string, request: AgentUpdateRequest, options?: RequestOptions): Promise<AgentResponse> {\n return this.http.requestJson(`/agents/${agentId}`, { method: \"PATCH\", body: request, options, mutation: true });\n }\n updateGraph(agentId: string, graph: GraphDefinition, options?: RequestOptions): Promise<AgentResponse> {\n return this.http.requestJson(`/agents/${agentId}/graph`, { method: \"PUT\", body: graph, options, mutation: true });\n }\n delete(agentId: string, options?: RequestOptions): Promise<unknown> {\n return this.http.requestJson(`/agents/${agentId}`, { method: \"DELETE\", options, mutation: true });\n }\n catalog(): Promise<Record<string, unknown>> { return this.http.requestJson(\"/agents/nodes/catalog\"); }\n schema(nodeTypes: string[]): Promise<Record<string, unknown>> {\n return this.http.requestJson(\"/agents/nodes/schema\", { method: \"POST\", body: { node_types: nodeTypes } });\n }\n validate(agentId: string): Promise<Record<string, unknown>> {\n return this.http.requestJson(`/agents/${agentId}/validate`, { method: \"POST\", body: {} });\n }\n publish(agentId: string, options?: RequestOptions): Promise<AgentResponse> {\n return this.http.requestJson(`/agents/${agentId}/publish`, { method: \"POST\", body: {}, options, mutation: true });\n }\n startRun(agentId: string, payload: AgentStreamRequest, options?: RequestOptions): Promise<StartRunResult> {\n return this.http.requestJson(`/agents/${agentId}/run`, { method: \"POST\", body: payload, options, mutation: true });\n }\n async stream(\n agentId: string,\n payload: AgentStreamRequest,\n onEvent?: (event: RuntimeEvent) => void | Promise<void>,\n mode?: \"debug\" | \"production\" | string,\n options: StreamRequestOptions = {},\n ): Promise<StreamResult> {\n const response = await this.http.fetchOrThrow(this.http.url(`/agents/${agentId}/stream`, { mode }), {\n method: \"POST\", headers: this.http.streamHeaders(), body: JSON.stringify(payload), signal: options.signal,\n }, \"Failed to connect to the agent stream endpoint.\");\n await assertOk(response);\n let runId = response.headers.get(\"X-Run-ID\");\n await consumeRuntimeEventStream(response, async (event) => { runId ||= event.run_id; if (onEvent) await onEvent(event); }, options.signal);\n return { threadId: response.headers.get(\"X-Thread-ID\"), runId };\n }\n resumeRun(runId: string, payload: Record<string, unknown>, options?: RequestOptions): Promise<Record<string, unknown>> {\n return this.http.requestJson(`/agents/runs/${runId}/resume`, { method: \"POST\", body: payload, options, mutation: true });\n }\n cancelRun(runId: string, options: RunCancelOptions = {}): Promise<RunCancelResult> {\n return this.http.requestJson(`/agents/runs/${runId}/cancel`, { method: \"POST\", body: { assistant_output_text: options.assistantOutputText }, mutation: true });\n }\n async uploadAttachments(agentId: string, options: ServerAttachmentUploadOptions): Promise<AttachmentUploadResult> {\n const form = new FormData();\n if (options.threadId) form.set(\"thread_id\", options.threadId);\n for (const file of options.files) form.append(\"files\", file, file.name);\n const response = await this.http.fetchOrThrow(this.http.url(`/agents/${agentId}/attachments/upload`), {\n method: \"POST\", headers: this.http.multipartHeaders(), body: form,\n }, \"Failed to connect to the agent attachment endpoint.\");\n await assertOk(response);\n return await response.json() as AttachmentUploadResult;\n }\n}\n","import type { AgentsNamespace } from \"./agents.js\";\nimport type {\n AgentCreateRequest,\n AgentDefinitionOptions,\n AgentRef,\n AgentResponse,\n GraphDefinition,\n GraphEdge,\n GraphNode,\n RequestOptions,\n} from \"./types.js\";\n\nfunction refId(ref: AgentRef): string { return typeof ref === \"string\" ? ref : ref.id; }\nfunction refs(values: AgentRef[] | undefined): string[] { return [...new Set((values || []).map(refId).filter(Boolean))]; }\nfunction graphNode(id: string, type: string, x: number, y: number, config: Record<string, unknown> = {}): GraphNode {\n return { id, type, position: { x, y }, config };\n}\n\nfunction toolsetAttachments(options: AgentDefinitionOptions): Array<Record<string, unknown>> {\n const seen = new Set<string>();\n return (options.toolsetAttachments || []).flatMap((attachment) => {\n const id = refId(attachment.toolset);\n if (!id || seen.has(id)) return [];\n seen.add(id);\n const policy = attachment.versionPolicy || { mode: \"latest_published\" as const };\n return [{\n toolset_id: id,\n loading_mode: attachment.loadingMode || \"static\",\n version_policy: policy.mode === \"pinned\" ? { mode: \"pinned\", version_id: policy.versionId } : { mode: \"latest_published\" },\n }];\n });\n}\n\nexport class AgentDefinitionBuilder {\n constructor(private readonly agents: AgentsNamespace, private readonly options: AgentDefinitionOptions) {}\n toGraph(): GraphDefinition {\n const agentConfig: Record<string, unknown> = {\n instructions: this.options.instructions || \"\",\n tools: refs(this.options.tools),\n toolset_attachments: toolsetAttachments(this.options),\n input_sources: [{ id: \"workflow-text\", value_ref: { namespace: \"workflow_input\", key: \"text\", label: \"Workflow input / Text\" } }],\n };\n if (this.options.model) agentConfig.model_id = refId(this.options.model);\n return {\n spec_version: \"4.0\",\n graph_type: \"agent\",\n workflow_contract: { inputs: [] },\n state_contract: { variables: [] },\n nodes: [\n graphNode(\"start\", \"start\", 0, 0),\n graphNode(\"agent\", \"agent\", 260, 0, agentConfig),\n graphNode(\"end\", \"end\", 520, 0, {\n output_schema: {\n name: \"workflow_result\", mode: \"simple\",\n schema: { type: \"object\", additionalProperties: false, properties: { response: { type: \"string\" } }, required: [\"response\"] },\n },\n output_bindings: [{ json_pointer: \"/response\", value_ref: { namespace: \"node_output\", node_id: \"agent\", key: \"output_text\", label: \"Agent response\" } }],\n }),\n ],\n edges: [\n { id: \"start-agent\", source: \"start\", target: \"agent\", type: \"control\" },\n { id: \"agent-end\", source: \"agent\", target: \"end\", type: \"control\" },\n ],\n };\n }\n toCreateRequest(): AgentCreateRequest {\n const knowledge = refs(this.options.knowledge);\n return {\n name: this.options.name,\n description: this.options.description ?? null,\n graph_definition: this.toGraph(),\n memory_config: {\n ...(this.options.memory || {}),\n ...(knowledge.length ? { long_term_enabled: true, long_term_index_id: knowledge[0], knowledge_refs: knowledge } : {}),\n },\n execution_constraints: this.options.execution || {},\n };\n }\n create(options?: RequestOptions): Promise<AgentResponse> { return this.agents.create(this.toCreateRequest(), options); }\n}\n\nexport class GraphBuilder {\n private readonly nodes = new Map<string, GraphNode>();\n private readonly edges: GraphEdge[] = [];\n node(type: string, config: Record<string, unknown> = {}, options: { id?: string; x?: number; y?: number; label?: string } = {}): GraphNode {\n const id = options.id || `${type}_${this.nodes.size + 1}`;\n if (this.nodes.has(id)) throw new Error(`Duplicate graph node id: ${id}`);\n const value = graphNode(id, type, options.x ?? this.nodes.size * 260, options.y ?? 0, config);\n if (options.label) value.label = options.label;\n this.nodes.set(id, value);\n return value;\n }\n connect(source: GraphNode | string, target: GraphNode | string, options: { id?: string; sourceHandle?: string; targetHandle?: string } = {}): this {\n const sourceId = typeof source === \"string\" ? source : source.id;\n const targetId = typeof target === \"string\" ? target : target.id;\n if (!this.nodes.has(sourceId)) throw new Error(`Unknown source node id: ${sourceId}`);\n if (!this.nodes.has(targetId)) throw new Error(`Unknown target node id: ${targetId}`);\n this.edges.push({\n id: options.id || `${sourceId}-${targetId}`, source: sourceId, target: targetId, type: \"control\",\n source_handle: options.sourceHandle, target_handle: options.targetHandle,\n });\n return this;\n }\n toGraph(): GraphDefinition {\n return {\n spec_version: \"4.0\", graph_type: \"agent\", workflow_contract: { inputs: [] }, state_contract: { variables: [] },\n nodes: [...this.nodes.values()], edges: [...this.edges],\n };\n }\n}\n","import type { Agents24HttpClient } from \"./http.js\";\nimport type {\n BackendSessionRequestOptions,\n ClientDeployment,\n ClientDeploymentListQuery,\n ClientDeploymentListResponse,\n ClientSessionCredentials,\n CreateBackendClientSessionRequest,\n CreateClientDeploymentRequest,\n RequestOptions,\n UpdateClientDeploymentRequest,\n} from \"./types.js\";\n\nexport class ClientDeploymentsNamespace {\n constructor(private readonly http: Agents24HttpClient) {}\n\n create(request: CreateClientDeploymentRequest, options?: RequestOptions): Promise<ClientDeployment> {\n return this.http.requestJson<ClientDeployment>(\"/client-runtime/deployments\", {\n method: \"POST\", body: request, options, mutation: true,\n });\n }\n\n list(query: ClientDeploymentListQuery): Promise<ClientDeploymentListResponse> {\n const params = new URLSearchParams({ agent_id: query.agentId });\n if (query.status) params.set(\"status\", query.status);\n if (query.cursor) params.set(\"cursor\", query.cursor);\n if (query.limit !== undefined) params.set(\"limit\", String(query.limit));\n return this.http.requestJson<ClientDeploymentListResponse>(\n `/client-runtime/deployments?${params.toString()}`,\n );\n }\n\n get(deploymentId: string): Promise<ClientDeployment> {\n return this.http.requestJson<ClientDeployment>(`/client-runtime/deployments/${deploymentId}`);\n }\n\n update(deploymentId: string, request: UpdateClientDeploymentRequest, options?: RequestOptions): Promise<ClientDeployment> {\n return this.http.requestJson<ClientDeployment>(`/client-runtime/deployments/${deploymentId}`, {\n method: \"PATCH\", body: request, options, mutation: true,\n });\n }\n\n revoke(deploymentId: string, options?: RequestOptions): Promise<ClientDeployment> {\n return this.http.requestJson<ClientDeployment>(`/client-runtime/deployments/${deploymentId}`, {\n method: \"DELETE\", options, mutation: true,\n });\n }\n}\n\nexport class ClientSessionsNamespace {\n constructor(private readonly http: Agents24HttpClient) {}\n\n createBackendSession(\n deploymentId: string,\n request: CreateBackendClientSessionRequest,\n options?: BackendSessionRequestOptions,\n ): Promise<ClientSessionCredentials> {\n return this.http.requestJson<ClientSessionCredentials>(\n `/client-runtime/deployments/${deploymentId}/session-tokens`,\n {\n method: \"POST\",\n body: request,\n options,\n mutation: true,\n headers: options?.dpopProof ? { DPoP: options.dpopProof } : undefined,\n },\n );\n }\n}\n","import { assertOk, type Agents24HttpClient } from \"./http.js\";\nimport { consumeRuntimeEventStream, consumeThreadSummaryEventStream } from \"./streams.js\";\nimport type {\n AttachRunRequest,\n AttachmentUploadResult,\n EmbedRuntimeBootstrap,\n EmbedRunCancelOptions,\n EmbedStreamRequest,\n McpAuthStartRequest,\n McpAuthStartResult,\n MultiAgentThreadListRequest,\n MultiAgentThreadSummaryEventOptions,\n RequestOptions,\n ResumeRunRequest,\n RunCancelResult,\n RunContext,\n RunContextOptions,\n RunResumeResult,\n RuntimeEvent,\n ServerEmbedAttachmentUploadOptions,\n StreamRequestOptions,\n StreamResult,\n ThreadDeleteOptions,\n ThreadDeleteResult,\n ThreadDetail,\n ThreadDetailOptions,\n ThreadListOptions,\n ThreadSummaryEvent,\n ThreadSummaryEventOptions,\n ThreadsResponse,\n} from \"./types.js\";\n\nexport class EmbedNamespace {\n constructor(private readonly http: Agents24HttpClient) {}\n\n async streamAgent(\n agentId: string,\n payload: EmbedStreamRequest,\n onEvent?: (event: RuntimeEvent) => void | Promise<void>,\n options: StreamRequestOptions = {},\n ): Promise<StreamResult> {\n return this.stream(`/public/embed/agents/${agentId}/chat/stream`, payload, onEvent, options);\n }\n\n async attachAgentRun(\n agentId: string,\n runId: string,\n payload: AttachRunRequest,\n onEvent?: (event: RuntimeEvent) => void | Promise<void>,\n options: StreamRequestOptions = {},\n ): Promise<StreamResult> {\n return this.stream(`/public/embed/agents/${agentId}/runs/${runId}/stream`, payload, onEvent, options);\n }\n\n private async stream(\n path: string,\n payload: unknown,\n onEvent: ((event: RuntimeEvent) => void | Promise<void>) | undefined,\n options: StreamRequestOptions,\n ): Promise<StreamResult> {\n const response = await this.http.fetchOrThrow(this.http.url(path), {\n method: \"POST\",\n headers: this.http.streamHeaders(undefined, options, true),\n body: JSON.stringify(payload),\n signal: options.signal,\n }, \"Failed to connect to the embedded-agent stream endpoint.\");\n await assertOk(response);\n let runId = response.headers.get(\"X-Run-ID\");\n await consumeRuntimeEventStream(response, async (event) => { runId ||= event.run_id; if (onEvent) await onEvent(event); }, options.signal);\n return { threadId: response.headers.get(\"X-Thread-ID\"), runId };\n }\n\n resumeAgentRun(agentId: string, runId: string, payload: ResumeRunRequest, options?: RequestOptions): Promise<RunResumeResult> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/runs/${runId}/resume`, { method: \"POST\", body: payload, options, mutation: true });\n }\n startAgentRunMcpAuth(agentId: string, runId: string, serverId: string, payload: McpAuthStartRequest, options?: RequestOptions): Promise<McpAuthStartResult> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/runs/${runId}/mcp/servers/${serverId}/auth/start`, { method: \"POST\", body: payload, options, mutation: true });\n }\n getRuntimeBootstrap(agentId: string, agentVersionId?: string): Promise<EmbedRuntimeBootstrap> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/runtime/bootstrap`, {\n query: { agent_version_id: agentVersionId },\n });\n }\n listAgentThreads(agentId: string, options: ThreadListOptions): Promise<ThreadsResponse> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/threads`, { query: {\n external_user_id: options.externalUserId,\n external_session_id: options.externalSessionId,\n skip: options.skip ?? 0,\n limit: options.limit ?? 20,\n } });\n }\n listAgentThreadsMulti(options: MultiAgentThreadListRequest): Promise<ThreadsResponse> {\n return this.http.requestJson(\"/public/embed/threads/query\", { method: \"POST\", body: options });\n }\n async subscribeAgentThreadEvents(\n agentId: string,\n options: ThreadSummaryEventOptions,\n onEvent: (event: ThreadSummaryEvent) => void | Promise<void>,\n ): Promise<void> {\n const response = await this.http.fetchOrThrow(this.http.url(`/public/embed/agents/${agentId}/threads/events`, {\n external_user_id: options.externalUserId, external_session_id: options.externalSessionId, cursor: options.cursor,\n }), { method: \"GET\", headers: this.http.streamHeaders(), signal: options.signal }, \"Failed to connect to the embedded-agent thread event endpoint.\");\n await assertOk(response);\n await consumeThreadSummaryEventStream(response, onEvent, options.signal);\n }\n async subscribeAgentThreadEventsMulti(\n options: MultiAgentThreadSummaryEventOptions,\n onEvent: (event: ThreadSummaryEvent) => void | Promise<void>,\n ): Promise<void> {\n const response = await this.http.fetchOrThrow(this.http.url(\"/public/embed/threads/events\", {\n agent_ids: options.agentIds, external_user_id: options.externalUserId, external_session_id: options.externalSessionId, cursor: options.cursor,\n }), { method: \"GET\", headers: this.http.streamHeaders(), signal: options.signal }, \"Failed to connect to the embedded-agent thread event endpoint.\");\n await assertOk(response);\n await consumeThreadSummaryEventStream(response, onEvent, options.signal);\n }\n getAgentThread(agentId: string, threadId: string, options: ThreadDetailOptions): Promise<ThreadDetail> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/threads/${threadId}`, { query: {\n external_user_id: options.externalUserId,\n external_session_id: options.externalSessionId,\n before_turn_index: options.beforeTurnIndex,\n limit: options.limit,\n include_run_events: options.includeRunEvents,\n include_subthreads: options.includeSubthreads,\n subthread_depth: options.subthreadDepth,\n subthread_turn_limit: options.subthreadTurnLimit,\n subthread_child_limit: options.subthreadChildLimit,\n } });\n }\n deleteAgentThread(agentId: string, threadId: string, options: ThreadDeleteOptions): Promise<ThreadDeleteResult> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/threads/${threadId}`, { method: \"DELETE\", query: {\n external_user_id: options.externalUserId, external_session_id: options.externalSessionId,\n }, mutation: true });\n }\n getAgentRunContext(agentId: string, runId: string, options: RunContextOptions): Promise<RunContext> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/runs/${runId}/context`, { query: {\n external_user_id: options.externalUserId, external_session_id: options.externalSessionId,\n } });\n }\n cancelAgentRun(agentId: string, runId: string, options: EmbedRunCancelOptions): Promise<RunCancelResult> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/runs/${runId}/cancel`, { method: \"POST\", query: {\n external_user_id: options.externalUserId, external_session_id: options.externalSessionId,\n }, body: {}, mutation: true });\n }\n async uploadAgentAttachments(agentId: string, options: ServerEmbedAttachmentUploadOptions): Promise<AttachmentUploadResult> {\n const form = new FormData();\n form.set(\"external_user_id\", options.externalUserId);\n if (options.externalSessionId) form.set(\"external_session_id\", options.externalSessionId);\n if (options.threadId) form.set(\"thread_id\", options.threadId);\n for (const file of options.files) form.append(\"files\", file, file.name);\n const response = await this.http.fetchOrThrow(this.http.url(`/public/embed/agents/${agentId}/attachments/upload`), {\n method: \"POST\",\n headers: this.http.multipartHeaders(undefined, { idempotencyKey: options.idempotencyKey }, true),\n body: form,\n }, \"Failed to connect to the embedded-agent attachment endpoint.\");\n await assertOk(response);\n return await response.json() as AttachmentUploadResult;\n }\n}\n","// @generated by @agents24/sdk-contract; DO NOT EDIT.\n// contract-sha256: 90a64d2df2facc3c4510edc7a0762cb86a336578667d3bc6cfeb7ae035133e00\nimport { assertOk, type Agents24HttpClient } from \"../http\";\nimport type {\n RequestOptions,\n ResourceBundleImportPreview,\n ResourceBundleImportRequest,\n ResourceBundleImportResult\n} from \"../types\";\n\nexport class ResourceBundlesNamespace {\n constructor(protected readonly http: Agents24HttpClient) {}\n\n importPreview(request: ResourceBundleImportRequest): Promise<ResourceBundleImportPreview> {\n return this.http.requestJson<ResourceBundleImportPreview>(\"/resource-bundles/import/preview\", {\n method: \"POST\",\n body: request,\n });\n }\n\n importBundle(request: ResourceBundleImportRequest, options?: RequestOptions): Promise<ResourceBundleImportResult> {\n return this.http.requestJson<ResourceBundleImportResult>(\"/resource-bundles/import\", {\n method: \"POST\",\n body: request,\n options,\n mutation: true,\n });\n }\n}\n","// @generated by @agents24/sdk-contract; DO NOT EDIT.\n// contract-sha256: 90a64d2df2facc3c4510edc7a0762cb86a336578667d3bc6cfeb7ae035133e00\nimport { assertOk, type Agents24HttpClient } from \"../http\";\nimport type {\n RequestOptions,\n ResourcePackageArchive,\n ResourcePackageCompileResult,\n ResourcePackageExportRequest,\n ResourcePackageUpload\n} from \"../types\";\n\nexport class ResourcePackagesNamespace {\n constructor(protected readonly http: Agents24HttpClient) {}\n\n async exportPackage(request: ResourcePackageExportRequest): Promise<ResourcePackageArchive> {\n const response = await this.http.fetchOrThrow(\n this.http.url(\"/resource-packages/export\"),\n { method: \"POST\", headers: this.http.jsonHeaders(), body: JSON.stringify(request) },\n \"Failed to export the Agents24 resource package.\",\n );\n await assertOk(response);\n const disposition = response.headers.get(\"content-disposition\") || \"\";\n const candidate = /filename=\"?([^\";]+)\"?/i.exec(disposition)?.[1] || \"\";\n const filename = /^[A-Za-z0-9][A-Za-z0-9._-]{0,200}\\.zip$/.test(candidate) ? candidate : \"resource.agents24.zip\";\n return { data: new Uint8Array(await response.arrayBuffer()), filename };\n }\n\n async validatePackage(upload: ResourcePackageUpload): Promise<ResourcePackageCompileResult> {\n const formData = new FormData();\n const archiveBytes = upload.data.slice().buffer as ArrayBuffer;\n const candidate = upload.filename || \"\";\n const filename = /^[A-Za-z0-9][A-Za-z0-9._-]{0,200}\\.zip$/.test(candidate) ? candidate : \"resource.agents24.zip\";\n formData.append(\"file\", new Blob([archiveBytes]), filename);\n const response = await this.http.fetchOrThrow(\n this.http.url(\"/resource-packages/validate\"),\n { method: \"POST\", headers: this.http.multipartHeaders(), body: formData },\n \"Failed to upload the Agents24 resource package.\",\n );\n await assertOk(response);\n return (await response.json()) as ResourcePackageCompileResult;\n }\n\n async compilePackage(upload: ResourcePackageUpload): Promise<ResourcePackageCompileResult> {\n const formData = new FormData();\n const archiveBytes = upload.data.slice().buffer as ArrayBuffer;\n const candidate = upload.filename || \"\";\n const filename = /^[A-Za-z0-9][A-Za-z0-9._-]{0,200}\\.zip$/.test(candidate) ? candidate : \"resource.agents24.zip\";\n formData.append(\"file\", new Blob([archiveBytes]), filename);\n const response = await this.http.fetchOrThrow(\n this.http.url(\"/resource-packages/compile\"),\n { method: \"POST\", headers: this.http.multipartHeaders(), body: formData },\n \"Failed to upload the Agents24 resource package.\",\n );\n await assertOk(response);\n return (await response.json()) as ResourcePackageCompileResult;\n }\n}\n","import type { Agents24HttpClient } from \"./http.js\";\nimport type { ControlPlaneRunEventsResponse, RunContext, RunStatus, RunTrace } from \"./types.js\";\n\nexport class RunsNamespace {\n constructor(private readonly http: Agents24HttpClient) {}\n get(runId: string, options: { includeTree?: boolean } = {}): Promise<RunStatus> {\n return this.http.requestJson(`/agents/runs/${runId}`, { query: { include_tree: options.includeTree } });\n }\n getTree(runId: string): Promise<Record<string, unknown>> { return this.http.requestJson(`/agents/runs/${runId}/tree`); }\n getEvents(runId: string, options: { afterSequence?: number; limit?: number } = {}): Promise<ControlPlaneRunEventsResponse> {\n return this.http.requestJson(`/agents/runs/${runId}/events`, { query: { after_sequence: options.afterSequence, limit: options.limit } });\n }\n getContext(runId: string): Promise<RunContext> { return this.http.requestJson(`/agents/runs/${runId}/context`); }\n async getTrace(runId: string): Promise<RunTrace> {\n const run = await this.get(runId);\n const tree = await this.getTree(runId);\n const events = await this.getEvents(runId);\n const context = await this.getContext(runId);\n return { run, tree, events, context };\n }\n}\n","import { AgentsNamespace } from \"./agents.js\";\nimport { AgentDefinitionBuilder, GraphBuilder } from \"./builders.js\";\nimport { ClientDeploymentsNamespace, ClientSessionsNamespace } from \"./client-runtime-admin.js\";\nimport { EmbedNamespace } from \"./embed.js\";\nimport { ResourceBundlesNamespace } from \"./generated/resourceBundles.js\";\nimport { ResourcePackagesNamespace } from \"./generated/resourcePackages.js\";\nimport { Agents24HttpClient } from \"./http.js\";\nimport { RunsNamespace } from \"./runs.js\";\nimport type { AgentDefinitionOptions, Agents24NodeOptions } from \"./types.js\";\n\nexport class Agents24 {\n readonly agents: AgentsNamespace;\n readonly embed: EmbedNamespace;\n readonly runs: RunsNamespace;\n readonly resourceBundles: ResourceBundlesNamespace;\n readonly resourcePackages: ResourcePackagesNamespace;\n readonly clientDeployments: ClientDeploymentsNamespace;\n readonly clientSessions: ClientSessionsNamespace;\n\n constructor(options: Agents24NodeOptions) {\n const http = new Agents24HttpClient(options);\n this.agents = new AgentsNamespace(http);\n this.embed = new EmbedNamespace(http);\n this.runs = new RunsNamespace(http);\n this.resourceBundles = new ResourceBundlesNamespace(http);\n this.resourcePackages = new ResourcePackagesNamespace(http);\n this.clientDeployments = new ClientDeploymentsNamespace(http);\n this.clientSessions = new ClientSessionsNamespace(http);\n }\n\n agent(options: AgentDefinitionOptions): AgentDefinitionBuilder {\n return new AgentDefinitionBuilder(this.agents, options);\n }\n\n graph(): GraphBuilder { return new GraphBuilder(); }\n}\n","// @generated by @agents24/sdk-contract; DO NOT EDIT.\n// contract-sha256: 90a64d2df2facc3c4510edc7a0762cb86a336578667d3bc6cfeb7ae035133e00\nexport const SDK_OPERATION_IDS = [\n \"agents.cancel_run\",\n \"agents.catalog\",\n \"agents.create\",\n \"agents.delete\",\n \"agents.get\",\n \"agents.list\",\n \"agents.publish\",\n \"agents.resume_run\",\n \"agents.schema\",\n \"agents.start_run\",\n \"agents.stream\",\n \"agents.update\",\n \"agents.update_graph\",\n \"agents.upload_attachments\",\n \"agents.validate\",\n \"client.attachments.upload\",\n \"client.bootstrap\",\n \"client.chat.stream\",\n \"client.deployments.create\",\n \"client.deployments.get\",\n \"client.deployments.list\",\n \"client.deployments.revoke\",\n \"client.deployments.update\",\n \"client.hitl.resume\",\n \"client.jwks\",\n \"client.mcp.redeem\",\n \"client.mcp.start\",\n \"client.runs.attach\",\n \"client.runs.cancel\",\n \"client.sessions.anonymous\",\n \"client.sessions.backendExchange\",\n \"client.sessions.refresh\",\n \"client.sessions.revoke\",\n \"client.threads.delete\",\n \"client.threads.events\",\n \"client.threads.get\",\n \"client.threads.list\",\n \"embed.attach_agent_run\",\n \"embed.cancel_agent_run\",\n \"embed.delete_agent_thread\",\n \"embed.get_agent_run_context\",\n \"embed.get_agent_thread\",\n \"embed.get_runtime_bootstrap\",\n \"embed.list_agent_threads\",\n \"embed.list_agent_threads_multi\",\n \"embed.resume_agent_run\",\n \"embed.start_agent_run_mcp_auth\",\n \"embed.stream_agent\",\n \"embed.stream_agent_thread_events\",\n \"embed.stream_agent_thread_events_multi\",\n \"embed.upload_agent_attachments\",\n \"resource_bundles.import\",\n \"resource_bundles.import_preview\",\n \"resource_packages.compile\",\n \"resource_packages.export\",\n \"resource_packages.validate\",\n \"runs.get\",\n \"runs.get_context\",\n \"runs.get_events\",\n \"runs.get_tree\"\n] as const;\n\nexport type SDKOperationId = (typeof SDK_OPERATION_IDS)[number];\n"]}
1
+ {"version":3,"sources":["../src/errors.ts","../src/http.ts","../src/streams.ts","../src/agents.ts","../src/builders.ts","../src/client-runtime-admin.ts","../src/embed.ts","../src/generated/resourceBundles.ts","../src/generated/resourcePackages.ts","../src/runs.ts","../src/generated/instructions.ts","../src/generated/resourcePolicies.ts","../src/client.ts","../src/generated/manifest.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["export type Agents24SDKErrorKind = \"protocol\" | \"network\" | \"http\";\nexport type Agents24NodeErrorKind = Agents24SDKErrorKind;\nimport type { FailureView } from \"./types.js\";\n\nexport class Agents24SDKError extends Error {\n readonly kind: Agents24SDKErrorKind;\n readonly status?: number;\n readonly failure?: FailureView;\n readonly responseHeaders?: Readonly<Record<string, string>>;\n\n constructor(\n message: string,\n options: {\n kind: Agents24SDKErrorKind;\n status?: number;\n failure?: FailureView;\n responseHeaders?: Readonly<Record<string, string>>;\n cause?: unknown;\n },\n ) {\n super(message, { cause: options.cause });\n this.name = \"Agents24SDKError\";\n this.kind = options.kind;\n this.status = options.status;\n this.failure = options.failure;\n this.responseHeaders = options.responseHeaders;\n }\n\n get code(): string | undefined { return this.failure?.code; }\n get category(): string | undefined { return this.failure?.category; }\n get failureId(): string | undefined { return this.failure?.failure_id; }\n get requestId(): string | undefined { return this.failure?.request_id ?? undefined; }\n get retryable(): boolean { return this.failure?.retryable ?? false; }\n get retryAfterMs(): number | undefined { return this.failure?.retry_after_ms ?? undefined; }\n get details(): Readonly<Record<string, unknown>> { return this.failure?.details ?? {}; }\n}\n\nexport { Agents24SDKError as Agents24NodeError };\n","import { randomUUID } from \"node:crypto\";\n\nimport { Agents24SDKError } from \"./errors.js\";\nimport type { Agents24NodeOptions, FailureView, RequestOptions } from \"./types.js\";\n\nfunction required(value: string, name: string): string {\n const normalized = String(value || \"\").trim();\n if (!normalized) throw new Agents24SDKError(`Agents24 requires ${name}.`, { kind: \"protocol\" });\n return normalized;\n}\n\nfunction normalizeBaseUrl(value: string): string {\n try {\n return new URL(required(value, \"baseUrl\")).toString().replace(/\\/+$/, \"\");\n } catch (cause) {\n if (cause instanceof Agents24SDKError) throw cause;\n throw new Agents24SDKError(\"Agents24 received an invalid baseUrl.\", { kind: \"protocol\", cause });\n }\n}\n\nasync function errorDetails(response: Response): Promise<unknown> {\n const text = await response.text().catch(() => \"\");\n if (!text) return null;\n try { return JSON.parse(text) as unknown; }\n catch { return text; }\n}\n\nfunction failureView(value: unknown): FailureView | undefined {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return undefined;\n const candidate = value as Record<string, unknown>;\n return candidate.schema_version === \"agents24.failure.v1\"\n && typeof candidate.failure_id === \"string\"\n && typeof candidate.code === \"string\"\n && typeof candidate.category === \"string\"\n && typeof candidate.message === \"string\"\n && typeof candidate.retryable === \"boolean\"\n && candidate.details !== null\n && typeof candidate.details === \"object\"\n && !Array.isArray(candidate.details)\n ? candidate as FailureView\n : undefined;\n}\n\nfunction responseHeaders(response: Response): Record<string, string> {\n const headers: Record<string, string> = {};\n for (const name of [\"dpop-nonce\", \"retry-after\", \"www-authenticate\", \"x-request-id\"]) {\n const value = response.headers.get(name);\n if (value) headers[name] = value;\n }\n return headers;\n}\n\nexport async function assertOk(response: Response): Promise<void> {\n if (response.ok) return;\n const failure = failureView(await errorDetails(response));\n throw new Agents24SDKError(failure?.message || \"Agents24 request failed.\", {\n kind: \"http\",\n status: response.status,\n failure,\n responseHeaders: responseHeaders(response),\n });\n}\n\nexport type RequestConfig = {\n method?: string;\n query?: Record<string, unknown>;\n body?: unknown;\n headers?: HeadersInit;\n options?: RequestOptions;\n mutation?: boolean;\n};\n\nexport class Agents24HttpClient {\n private readonly base: string;\n private readonly apiKey: string;\n private readonly fetchImpl: typeof fetch;\n\n constructor(options: Agents24NodeOptions) {\n if (typeof process === \"undefined\" || process.release?.name !== \"node\") {\n throw new Agents24SDKError(\"@agents24/node is for trusted server runtimes only.\", { kind: \"protocol\" });\n }\n this.base = normalizeBaseUrl(options.baseUrl);\n this.apiKey = required(options.apiKey, \"apiKey\");\n if (typeof options.fetchImpl !== \"function\" && typeof fetch !== \"function\") {\n throw new Agents24SDKError(\"No fetch implementation is available. Use Node 22 or 24.\", { kind: \"protocol\" });\n }\n this.fetchImpl = options.fetchImpl || fetch;\n }\n\n url(requestPath: string, query?: Record<string, unknown>): string {\n const url = new URL(`${this.base}${requestPath}`);\n for (const [key, value] of Object.entries(query || {})) {\n if (value === undefined || value === null || value === \"\") continue;\n if (Array.isArray(value)) {\n for (const item of value) {\n if (item !== undefined && item !== null && item !== \"\") url.searchParams.append(key, String(item));\n }\n } else {\n url.searchParams.set(key, String(value));\n }\n }\n return url.toString();\n }\n\n jsonHeaders(extra?: HeadersInit, options?: RequestOptions, mutation = false): HeadersInit {\n return {\n Authorization: `Bearer ${this.apiKey}`,\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n \"X-SDK-Contract\": \"1\",\n ...(mutation ? { \"Idempotency-Key\": options?.idempotencyKey || randomUUID() } : {}),\n ...(options?.requestMetadata ? { \"X-Request-Metadata\": JSON.stringify(options.requestMetadata) } : {}),\n ...(extra || {}),\n };\n }\n\n streamHeaders(extra?: HeadersInit, options?: RequestOptions, mutation = false): HeadersInit {\n return this.jsonHeaders({ Accept: \"text/event-stream\", ...(extra || {}) }, options, mutation);\n }\n\n multipartHeaders(extra?: HeadersInit, options?: RequestOptions, mutation = false): HeadersInit {\n return {\n Authorization: `Bearer ${this.apiKey}`,\n Accept: \"application/json\",\n \"X-SDK-Contract\": \"1\",\n ...(mutation ? { \"Idempotency-Key\": options?.idempotencyKey || randomUUID() } : {}),\n ...(extra || {}),\n };\n }\n\n async requestJson<T>(requestPath: string, config: RequestConfig = {}): Promise<T> {\n const query = { ...(config.query || {}) };\n if (config.options?.dryRun !== undefined) query.dry_run = config.options.dryRun;\n if (config.options?.validateOnly !== undefined) query.validate_only = config.options.validateOnly;\n const response = await this.fetchOrThrow(this.url(requestPath, query), {\n method: config.method || \"GET\",\n headers: this.jsonHeaders(config.headers, config.options, Boolean(config.mutation)),\n ...(config.body === undefined ? {} : { body: JSON.stringify(config.body) }),\n }, \"Failed to connect to the Agents24 API.\");\n await assertOk(response);\n return await response.json() as T;\n }\n\n async fetchOrThrow(url: string, init: RequestInit, message: string): Promise<Response> {\n try { return await this.fetchImpl(url, init); }\n catch (cause) {\n if (cause instanceof Agents24SDKError) throw cause;\n throw new Agents24SDKError(message, { kind: \"network\", cause });\n }\n }\n}\n","import {\n createSseParser,\n parseRuntimeSsePayload,\n parseThreadSummarySsePayload,\n} from \"@agents24/client/protocol\";\nimport type { RuntimeEvent, ThreadSummaryEvent } from \"@agents24/client/protocol\";\n\nimport { Agents24SDKError } from \"./errors.js\";\n\nasync function consumePayloads(\n response: Response,\n onPayload: (payload: string) => void | Promise<void>,\n signal?: AbortSignal,\n): Promise<void> {\n if (!response.body) {\n throw new Agents24SDKError(\"Stream response did not include a readable body.\", { kind: \"protocol\" });\n }\n const reader = response.body.getReader();\n const parser = createSseParser({ decoder: new TextDecoder(), onPayload, signal });\n const abort = () => { void reader.cancel(signal?.reason).catch(() => undefined); };\n if (signal?.aborted) return abort();\n signal?.addEventListener(\"abort\", abort, { once: true });\n try {\n while (!signal?.aborted) {\n const { done, value } = await reader.read();\n if (value) await parser.push(value);\n if (done) break;\n }\n if (!signal?.aborted) await parser.finish();\n } finally {\n signal?.removeEventListener(\"abort\", abort);\n reader.releaseLock();\n }\n}\n\nexport async function consumeRuntimeEventStream(\n response: Response,\n onEvent?: (event: RuntimeEvent) => void | Promise<void>,\n signal?: AbortSignal,\n): Promise<void> {\n await consumePayloads(response, async (payload) => {\n const event = parseRuntimeSsePayload(payload);\n if (onEvent) await onEvent(event);\n }, signal);\n}\n\nexport async function consumeThreadSummaryEventStream(\n response: Response,\n onEvent: (event: ThreadSummaryEvent) => void | Promise<void>,\n signal?: AbortSignal,\n): Promise<void> {\n await consumePayloads(response, async (payload) => {\n await onEvent(parseThreadSummarySsePayload(payload));\n }, signal);\n}\n","import { assertOk, type Agents24HttpClient } from \"./http.js\";\nimport { consumeRuntimeEventStream } from \"./streams.js\";\nimport type {\n AgentCreateRequest,\n AgentListResponse,\n AgentResponse,\n AgentStreamRequest,\n AgentUpdateRequest,\n AttachmentUploadResult,\n AttachmentContentAccess,\n AttachmentContentAccessRequest,\n GraphDefinition,\n NodeCatalogResponse,\n NodeSchemaResponse,\n AgentValidationResult,\n RequestOptions,\n RunCancelOptions,\n RunCancelResult,\n RuntimeEvent,\n ServerAttachmentUploadOptions,\n StartRunResult,\n StreamRequestOptions,\n StreamResult,\n} from \"./types.js\";\n\nexport type ListAgentsOptions = { status?: string; skip?: number; limit?: number; view?: \"summary\" | \"full\" | string };\n\nexport class AgentsNamespace {\n constructor(private readonly http: Agents24HttpClient) {}\n\n list(options: ListAgentsOptions = {}): Promise<AgentListResponse> {\n return this.http.requestJson(\"/agents\", { query: { status: options.status, skip: options.skip ?? 0, limit: options.limit ?? 20, view: options.view ?? \"summary\" } });\n }\n get(agentId: string): Promise<AgentResponse> { return this.http.requestJson(`/agents/${agentId}`); }\n create(request: AgentCreateRequest, options?: RequestOptions): Promise<AgentResponse> {\n return this.http.requestJson(\"/agents\", { method: \"POST\", body: request, options, mutation: true });\n }\n update(agentId: string, request: AgentUpdateRequest, options?: RequestOptions): Promise<AgentResponse> {\n return this.http.requestJson(`/agents/${agentId}`, { method: \"PATCH\", body: request, options, mutation: true });\n }\n updateGraph(agentId: string, graph: GraphDefinition, options?: RequestOptions): Promise<AgentResponse> {\n return this.http.requestJson(`/agents/${agentId}/graph`, { method: \"PUT\", body: graph, options, mutation: true });\n }\n delete(agentId: string, options?: RequestOptions): Promise<unknown> {\n return this.http.requestJson(`/agents/${agentId}`, { method: \"DELETE\", options, mutation: true });\n }\n catalog(): Promise<NodeCatalogResponse> { return this.http.requestJson(\"/agents/nodes/catalog\"); }\n schema(nodeTypes: string[]): Promise<NodeSchemaResponse> {\n return this.http.requestJson(\"/agents/nodes/schema\", { method: \"POST\", body: { node_types: nodeTypes } });\n }\n validate(agentId: string): Promise<AgentValidationResult> {\n return this.http.requestJson(`/agents/${agentId}/validate`, { method: \"POST\", body: {} });\n }\n publish(agentId: string, options?: RequestOptions): Promise<AgentResponse> {\n return this.http.requestJson(`/agents/${agentId}/publish`, { method: \"POST\", body: {}, options, mutation: true });\n }\n startRun(agentId: string, payload: AgentStreamRequest, options?: RequestOptions): Promise<StartRunResult> {\n return this.http.requestJson(`/agents/${agentId}/run`, { method: \"POST\", body: payload, options, mutation: true });\n }\n async stream(\n agentId: string,\n payload: AgentStreamRequest,\n onEvent?: (event: RuntimeEvent) => void | Promise<void>,\n mode?: \"debug\" | \"production\" | string,\n options: StreamRequestOptions = {},\n ): Promise<StreamResult> {\n const response = await this.http.fetchOrThrow(this.http.url(`/agents/${agentId}/stream`, { mode }), {\n method: \"POST\", headers: this.http.streamHeaders(), body: JSON.stringify(payload), signal: options.signal,\n }, \"Failed to connect to the agent stream endpoint.\");\n await assertOk(response);\n let runId = response.headers.get(\"X-Run-ID\");\n await consumeRuntimeEventStream(response, async (event) => { runId ||= event.run_id; if (onEvent) await onEvent(event); }, options.signal);\n return { threadId: response.headers.get(\"X-Thread-ID\"), runId };\n }\n resumeRun(runId: string, payload: Record<string, unknown>, options?: RequestOptions): Promise<Record<string, unknown>> {\n return this.http.requestJson(`/agents/runs/${runId}/resume`, { method: \"POST\", body: payload, options, mutation: true });\n }\n cancelRun(runId: string, options: RunCancelOptions = {}): Promise<RunCancelResult> {\n return this.http.requestJson(`/agents/runs/${runId}/cancel`, { method: \"POST\", body: { assistant_output_text: options.assistantOutputText }, mutation: true });\n }\n async uploadAttachments(agentId: string, options: ServerAttachmentUploadOptions): Promise<AttachmentUploadResult> {\n const form = new FormData();\n if (options.threadId) form.set(\"thread_id\", options.threadId);\n if (options.agentVersionId) form.set(\"agent_version_id\", options.agentVersionId);\n for (const file of options.files) form.append(\"files\", file, file.name);\n const response = await this.http.fetchOrThrow(this.http.url(`/agents/${agentId}/attachments/upload`), {\n method: \"POST\", headers: this.http.multipartHeaders(), body: form,\n }, \"Failed to connect to the agent attachment endpoint.\");\n await assertOk(response);\n return await response.json() as AttachmentUploadResult;\n }\n createAttachmentContentAccess(\n agentId: string,\n attachmentId: string,\n request: AttachmentContentAccessRequest,\n options?: RequestOptions,\n ): Promise<AttachmentContentAccess> {\n return this.http.requestJson(\n `/agents/${agentId}/attachments/${attachmentId}/content-access`,\n { method: \"POST\", body: request, options, mutation: true },\n );\n }\n}\n","import type { AgentsNamespace } from \"./agents.js\";\nimport type {\n AgentCreateRequest,\n AgentDefinitionOptions,\n AgentRef,\n AgentResponse,\n GraphDefinition,\n GraphEdge,\n GraphNode,\n RequestOptions,\n} from \"./types.js\";\n\nfunction refId(ref: AgentRef): string { return typeof ref === \"string\" ? ref : ref.id; }\nfunction refs(values: AgentRef[] | undefined): string[] { return [...new Set((values || []).map(refId).filter(Boolean))]; }\nfunction graphNode(id: string, type: string, x: number, y: number, config: Record<string, unknown> = {}): GraphNode {\n return { id, type, position: { x, y }, config };\n}\n\nfunction toolsetAttachments(options: AgentDefinitionOptions): Array<Record<string, unknown>> {\n const seen = new Set<string>();\n return (options.toolsetAttachments || []).flatMap((attachment) => {\n const id = refId(attachment.toolset);\n if (!id || seen.has(id)) return [];\n seen.add(id);\n const normalized: Record<string, unknown> = {\n toolset_id: id,\n loading_mode: attachment.loadingMode || \"static\",\n };\n const policy = attachment.versionPolicy;\n if (policy) {\n normalized.version_policy = policy.mode === \"pinned\"\n ? { mode: \"pinned\", version_id: policy.versionId }\n : { mode: \"latest_published\" };\n }\n return [normalized];\n });\n}\n\nexport class AgentDefinitionBuilder {\n constructor(private readonly agents: AgentsNamespace, private readonly options: AgentDefinitionOptions) {}\n toGraph(): GraphDefinition {\n const agentConfig: Record<string, unknown> = {\n instructions: this.options.instructions || \"\",\n tools: refs(this.options.tools),\n toolset_attachments: toolsetAttachments(this.options),\n input_sources: [{ id: \"workflow-text\", value_ref: { namespace: \"workflow_input\", key: \"text\", label: \"Workflow input / Text\" } }],\n };\n if (this.options.model) agentConfig.model_id = refId(this.options.model);\n return {\n spec_version: \"4.0\",\n graph_type: \"agent\",\n workflow_contract: { inputs: [] },\n state_contract: { variables: [] },\n nodes: [\n graphNode(\"start\", \"start\", 0, 0),\n graphNode(\"agent\", \"agent\", 260, 0, agentConfig),\n graphNode(\"end\", \"end\", 520, 0, {\n output_schema: {\n name: \"workflow_result\", mode: \"simple\",\n schema: { type: \"object\", additionalProperties: false, properties: { response: { type: \"string\" } }, required: [\"response\"] },\n },\n output_bindings: [{ json_pointer: \"/response\", value_ref: { namespace: \"node_output\", node_id: \"agent\", key: \"output_text\", label: \"Agent response\" } }],\n }),\n ],\n edges: [\n { id: \"start-agent\", source: \"start\", target: \"agent\", type: \"control\" },\n { id: \"agent-end\", source: \"agent\", target: \"end\", type: \"control\" },\n ],\n };\n }\n toCreateRequest(): AgentCreateRequest {\n const knowledge = refs(this.options.knowledge);\n return {\n name: this.options.name,\n description: this.options.description ?? null,\n graph_definition: this.toGraph(),\n memory_config: {\n ...(this.options.memory || {}),\n ...(knowledge.length ? { long_term_enabled: true, long_term_index_id: knowledge[0], knowledge_refs: knowledge } : {}),\n },\n execution_constraints: this.options.execution || {},\n };\n }\n create(options?: RequestOptions): Promise<AgentResponse> { return this.agents.create(this.toCreateRequest(), options); }\n}\n\nexport class GraphBuilder {\n private readonly nodes = new Map<string, GraphNode>();\n private readonly edges: GraphEdge[] = [];\n node(type: string, config: Record<string, unknown> = {}, options: { id?: string; x?: number; y?: number; label?: string } = {}): GraphNode {\n const id = options.id || `${type}_${this.nodes.size + 1}`;\n if (this.nodes.has(id)) throw new Error(`Duplicate graph node id: ${id}`);\n const value = graphNode(id, type, options.x ?? this.nodes.size * 260, options.y ?? 0, config);\n if (options.label) value.label = options.label;\n this.nodes.set(id, value);\n return value;\n }\n connect(source: GraphNode | string, target: GraphNode | string, options: { id?: string; sourceHandle?: string; targetHandle?: string; type?: \"control\" | \"data\"; condition?: string } = {}): this {\n const sourceId = typeof source === \"string\" ? source : source.id;\n const targetId = typeof target === \"string\" ? target : target.id;\n if (!this.nodes.has(sourceId)) throw new Error(`Unknown source node id: ${sourceId}`);\n if (!this.nodes.has(targetId)) throw new Error(`Unknown target node id: ${targetId}`);\n this.edges.push({\n id: options.id || `${sourceId}-${targetId}`, source: sourceId, target: targetId, type: options.type || \"control\",\n source_handle: options.sourceHandle, target_handle: options.targetHandle,\n condition: options.condition,\n });\n return this;\n }\n toGraph(): GraphDefinition {\n return {\n spec_version: \"4.0\", graph_type: \"agent\", workflow_contract: { inputs: [] }, state_contract: { variables: [] },\n nodes: [...this.nodes.values()], edges: [...this.edges],\n };\n }\n}\n","import type { Agents24HttpClient } from \"./http.js\";\nimport type {\n BackendSessionRequestOptions,\n ClientDeployment,\n ClientDeploymentListQuery,\n ClientDeploymentListResponse,\n ClientSessionCredentials,\n CreateBackendClientSessionRequest,\n CreateClientDeploymentRequest,\n RequestOptions,\n UpdateClientDeploymentRequest,\n} from \"./types.js\";\n\nexport class ClientDeploymentsNamespace {\n constructor(private readonly http: Agents24HttpClient) {}\n\n create(request: CreateClientDeploymentRequest, options?: RequestOptions): Promise<ClientDeployment> {\n return this.http.requestJson<ClientDeployment>(\"/client-runtime/deployments\", {\n method: \"POST\", body: request, options, mutation: true,\n });\n }\n\n list(query: ClientDeploymentListQuery): Promise<ClientDeploymentListResponse> {\n const params = new URLSearchParams({ agent_id: query.agentId });\n if (query.lifecycleStatus) params.set(\"lifecycle_status\", query.lifecycleStatus);\n if (query.cursor) params.set(\"cursor\", query.cursor);\n if (query.limit !== undefined) params.set(\"limit\", String(query.limit));\n return this.http.requestJson<ClientDeploymentListResponse>(\n `/client-runtime/deployments?${params.toString()}`,\n );\n }\n\n get(deploymentId: string): Promise<ClientDeployment> {\n return this.http.requestJson<ClientDeployment>(`/client-runtime/deployments/${deploymentId}`);\n }\n\n update(deploymentId: string, request: UpdateClientDeploymentRequest, options?: RequestOptions): Promise<ClientDeployment> {\n return this.http.requestJson<ClientDeployment>(`/client-runtime/deployments/${deploymentId}`, {\n method: \"PATCH\", body: request, options, mutation: true,\n });\n }\n\n delete(deploymentId: string, options?: RequestOptions): Promise<ClientDeployment> {\n return this.http.requestJson<ClientDeployment>(`/client-runtime/deployments/${deploymentId}`, {\n method: \"DELETE\", options, mutation: true,\n });\n }\n}\n\nexport class ClientSessionsNamespace {\n constructor(private readonly http: Agents24HttpClient) {}\n\n createBackendSession(\n deploymentId: string,\n request: CreateBackendClientSessionRequest,\n options?: BackendSessionRequestOptions,\n ): Promise<ClientSessionCredentials> {\n return this.http.requestJson<ClientSessionCredentials>(\n `/client-runtime/deployments/${deploymentId}/session-tokens`,\n {\n method: \"POST\",\n body: request,\n options,\n mutation: true,\n headers: options?.dpopProof ? { DPoP: options.dpopProof } : undefined,\n },\n );\n }\n}\n","import { assertOk, type Agents24HttpClient } from \"./http.js\";\nimport { consumeRuntimeEventStream, consumeThreadSummaryEventStream } from \"./streams.js\";\nimport type {\n AttachRunRequest,\n AttachmentUploadResult,\n AttachmentContentAccess,\n EmbedAttachmentContentAccessRequest,\n EmbedRuntimeBootstrap,\n EmbeddedResponseFeedbackInput,\n EmbedRunCancelOptions,\n EmbedStreamRequest,\n McpAuthStartRequest,\n McpAuthStartResult,\n MultiAgentThreadListRequest,\n MultiAgentThreadSummaryEventOptions,\n RequestOptions,\n ResumeRunRequest,\n RunCancelResult,\n RunContext,\n RunContextOptions,\n RunResumeResult,\n ResponseFeedbackResult,\n RuntimeEvent,\n ServerEmbedAttachmentUploadOptions,\n StreamRequestOptions,\n StreamResult,\n ThreadDeleteOptions,\n ThreadDeleteResult,\n ThreadDetail,\n ThreadDetailOptions,\n ThreadListOptions,\n ThreadSummaryEvent,\n ThreadSummaryEventOptions,\n ThreadsResponse,\n} from \"./types.js\";\n\nexport class EmbedNamespace {\n constructor(private readonly http: Agents24HttpClient) {}\n\n async streamAgent(\n agentId: string,\n payload: EmbedStreamRequest,\n onEvent?: (event: RuntimeEvent) => void | Promise<void>,\n options: StreamRequestOptions = {},\n ): Promise<StreamResult> {\n return this.stream(`/public/embed/agents/${agentId}/chat/stream`, payload, onEvent, options);\n }\n\n async attachAgentRun(\n agentId: string,\n runId: string,\n payload: AttachRunRequest,\n onEvent?: (event: RuntimeEvent) => void | Promise<void>,\n options: StreamRequestOptions = {},\n ): Promise<StreamResult> {\n return this.stream(`/public/embed/agents/${agentId}/runs/${runId}/stream`, payload, onEvent, options);\n }\n\n private async stream(\n path: string,\n payload: unknown,\n onEvent: ((event: RuntimeEvent) => void | Promise<void>) | undefined,\n options: StreamRequestOptions,\n ): Promise<StreamResult> {\n const response = await this.http.fetchOrThrow(this.http.url(path), {\n method: \"POST\",\n headers: this.http.streamHeaders(undefined, options, true),\n body: JSON.stringify(payload),\n signal: options.signal,\n }, \"Failed to connect to the embedded-agent stream endpoint.\");\n await assertOk(response);\n let runId = response.headers.get(\"X-Run-ID\");\n await consumeRuntimeEventStream(response, async (event) => { runId ||= event.run_id; if (onEvent) await onEvent(event); }, options.signal);\n return { threadId: response.headers.get(\"X-Thread-ID\"), runId };\n }\n\n resumeAgentRun(agentId: string, runId: string, payload: ResumeRunRequest, options?: RequestOptions): Promise<RunResumeResult> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/runs/${runId}/resume`, { method: \"POST\", body: payload, options, mutation: true });\n }\n startAgentRunMcpAuth(agentId: string, runId: string, serverId: string, payload: McpAuthStartRequest, options?: RequestOptions): Promise<McpAuthStartResult> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/runs/${runId}/mcp/servers/${serverId}/auth/start`, { method: \"POST\", body: payload, options, mutation: true });\n }\n getRuntimeBootstrap(agentId: string, agentVersionId?: string): Promise<EmbedRuntimeBootstrap> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/runtime/bootstrap`, {\n query: { agent_version_id: agentVersionId },\n });\n }\n listAgentThreads(agentId: string, options: ThreadListOptions): Promise<ThreadsResponse> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/threads`, { query: {\n external_user_id: options.externalUserId,\n external_session_id: options.externalSessionId,\n skip: options.skip ?? 0,\n limit: options.limit ?? 20,\n } });\n }\n listAgentThreadsMulti(options: MultiAgentThreadListRequest): Promise<ThreadsResponse> {\n return this.http.requestJson(\"/public/embed/threads/query\", { method: \"POST\", body: options });\n }\n async subscribeAgentThreadEvents(\n agentId: string,\n options: ThreadSummaryEventOptions,\n onEvent: (event: ThreadSummaryEvent) => void | Promise<void>,\n ): Promise<void> {\n const response = await this.http.fetchOrThrow(this.http.url(`/public/embed/agents/${agentId}/threads/events`, {\n external_user_id: options.externalUserId, external_session_id: options.externalSessionId, cursor: options.cursor,\n }), { method: \"GET\", headers: this.http.streamHeaders(), signal: options.signal }, \"Failed to connect to the embedded-agent thread event endpoint.\");\n await assertOk(response);\n await consumeThreadSummaryEventStream(response, onEvent, options.signal);\n }\n async subscribeAgentThreadEventsMulti(\n options: MultiAgentThreadSummaryEventOptions,\n onEvent: (event: ThreadSummaryEvent) => void | Promise<void>,\n ): Promise<void> {\n const response = await this.http.fetchOrThrow(this.http.url(\"/public/embed/threads/events\", {\n agent_ids: options.agentIds, external_user_id: options.externalUserId, external_session_id: options.externalSessionId, cursor: options.cursor,\n }), { method: \"GET\", headers: this.http.streamHeaders(), signal: options.signal }, \"Failed to connect to the embedded-agent thread event endpoint.\");\n await assertOk(response);\n await consumeThreadSummaryEventStream(response, onEvent, options.signal);\n }\n getAgentThread(agentId: string, threadId: string, options: ThreadDetailOptions): Promise<ThreadDetail> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/threads/${threadId}`, { query: {\n external_user_id: options.externalUserId,\n external_session_id: options.externalSessionId,\n before_turn_index: options.beforeTurnIndex,\n limit: options.limit,\n include_subthreads: options.includeSubthreads,\n subthread_depth: options.subthreadDepth,\n subthread_turn_limit: options.subthreadTurnLimit,\n subthread_child_limit: options.subthreadChildLimit,\n } });\n }\n deleteAgentThread(\n agentId: string,\n threadId: string,\n options: ThreadDeleteOptions,\n requestOptions?: RequestOptions,\n ): Promise<ThreadDeleteResult> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/threads/${threadId}`, { method: \"DELETE\", query: {\n external_user_id: options.externalUserId, external_session_id: options.externalSessionId,\n }, options: requestOptions, mutation: true });\n }\n getAgentRunContext(agentId: string, runId: string, options: RunContextOptions): Promise<RunContext> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/runs/${runId}/context`, { query: {\n external_user_id: options.externalUserId, external_session_id: options.externalSessionId,\n } });\n }\n cancelAgentRun(\n agentId: string,\n runId: string,\n options: EmbedRunCancelOptions,\n requestOptions?: RequestOptions,\n ): Promise<RunCancelResult> {\n return this.http.requestJson(`/public/embed/agents/${agentId}/runs/${runId}/cancel`, { method: \"POST\", query: {\n external_user_id: options.externalUserId, external_session_id: options.externalSessionId,\n }, body: {}, options: requestOptions, mutation: true });\n }\n setAgentRunFeedback(\n agentId: string,\n runId: string,\n payload: EmbeddedResponseFeedbackInput,\n ): Promise<ResponseFeedbackResult> {\n return this.http.requestJson(\n `/public/embed/agents/${agentId}/runs/${runId}/feedback`,\n { method: \"PUT\", body: payload, mutation: true },\n );\n }\n async uploadAgentAttachments(agentId: string, options: ServerEmbedAttachmentUploadOptions): Promise<AttachmentUploadResult> {\n const form = new FormData();\n form.set(\"external_user_id\", options.externalUserId);\n if (options.externalSessionId) form.set(\"external_session_id\", options.externalSessionId);\n if (options.threadId) form.set(\"thread_id\", options.threadId);\n for (const file of options.files) form.append(\"files\", file, file.name);\n const response = await this.http.fetchOrThrow(this.http.url(`/public/embed/agents/${agentId}/attachments/upload`), {\n method: \"POST\",\n headers: this.http.multipartHeaders(undefined, { idempotencyKey: options.idempotencyKey }, true),\n body: form,\n }, \"Failed to connect to the embedded-agent attachment endpoint.\");\n await assertOk(response);\n return await response.json() as AttachmentUploadResult;\n }\n createAttachmentContentAccess(\n agentId: string,\n attachmentId: string,\n request: EmbedAttachmentContentAccessRequest,\n options?: RequestOptions,\n ): Promise<AttachmentContentAccess> {\n return this.http.requestJson(\n `/public/embed/agents/${agentId}/attachments/${attachmentId}/content-access`,\n { method: \"POST\", body: request, options, mutation: true },\n );\n }\n}\n","// @generated by @agents24/sdk-contract; DO NOT EDIT.\n// contract-sha256: 13f59fd11fc838b1f7a51afe15afcdb6f1429fed94e37a1341c97061882e57d2\nimport { assertOk, type Agents24HttpClient } from \"../http\";\nimport type {\n RequestOptions,\n ResourceBundle,\n ResourceBundleCandidateList,\n ResourceBundleCandidateOptions,\n ResourceBundleExportRequest,\n ResourceBundleImportPreview,\n ResourceBundleImportRequest,\n ResourceBundleImportResult,\n ResourceBundlePlan\n} from \"../types\";\n\nexport class ResourceBundlesNamespace {\n constructor(protected readonly http: Agents24HttpClient) {}\n\n exportPlan(request: ResourceBundleExportRequest): Promise<ResourceBundlePlan> {\n return this.http.requestJson<ResourceBundlePlan>(\"/resource-bundles/export/plan\", {\n method: \"POST\",\n body: request,\n });\n }\n\n exportBundle(request: ResourceBundleExportRequest): Promise<ResourceBundle> {\n return this.http.requestJson<ResourceBundle>(\"/resource-bundles/export\", {\n method: \"POST\",\n body: request,\n });\n }\n\n candidates(options: ResourceBundleCandidateOptions): Promise<ResourceBundleCandidateList> {\n return this.http.requestJson<ResourceBundleCandidateList>(\"/resource-bundles/candidates\", {\n query: {\n kind: options.kind,\n q: options.query,\n limit: options.limit,\n offset: options.offset,\n required_capability: options.requiredCapability,\n },\n });\n }\n\n importPreview(request: ResourceBundleImportRequest): Promise<ResourceBundleImportPreview> {\n return this.http.requestJson<ResourceBundleImportPreview>(\"/resource-bundles/import/preview\", {\n method: \"POST\",\n body: request,\n });\n }\n\n importBundle(request: ResourceBundleImportRequest, options?: RequestOptions): Promise<ResourceBundleImportResult> {\n return this.http.requestJson<ResourceBundleImportResult>(\"/resource-bundles/import\", {\n method: \"POST\",\n body: request,\n options,\n mutation: true,\n });\n }\n}\n","// @generated by @agents24/sdk-contract; DO NOT EDIT.\n// contract-sha256: 13f59fd11fc838b1f7a51afe15afcdb6f1429fed94e37a1341c97061882e57d2\nimport { assertOk, type Agents24HttpClient } from \"../http\";\nimport type {\n RequestOptions,\n ResourcePackageArchive,\n ResourcePackageCompileResult,\n ResourcePackageExportRequest,\n ResourcePackageUpload\n} from \"../types\";\n\nexport class ResourcePackagesNamespace {\n constructor(protected readonly http: Agents24HttpClient) {}\n\n async exportPackage(request: ResourcePackageExportRequest): Promise<ResourcePackageArchive> {\n const response = await this.http.fetchOrThrow(\n this.http.url(\"/resource-packages/export\"),\n { method: \"POST\", headers: this.http.jsonHeaders(), body: JSON.stringify(request) },\n \"Failed to export the Agents24 resource package.\",\n );\n await assertOk(response);\n const disposition = response.headers.get(\"content-disposition\") || \"\";\n const candidate = /filename=\"?([^\";]+)\"?/i.exec(disposition)?.[1] || \"\";\n const filename = /^[A-Za-z0-9][A-Za-z0-9._-]{0,200}\\.zip$/.test(candidate) ? candidate : \"resource.agents24.zip\";\n return { data: new Uint8Array(await response.arrayBuffer()), filename };\n }\n\n async validatePackage(upload: ResourcePackageUpload): Promise<ResourcePackageCompileResult> {\n const formData = new FormData();\n const archiveBytes = upload.data.slice().buffer as ArrayBuffer;\n const candidate = upload.filename || \"\";\n const filename = /^[A-Za-z0-9][A-Za-z0-9._-]{0,200}\\.zip$/.test(candidate) ? candidate : \"resource.agents24.zip\";\n formData.append(\"file\", new Blob([archiveBytes]), filename);\n const response = await this.http.fetchOrThrow(\n this.http.url(\"/resource-packages/validate\"),\n { method: \"POST\", headers: this.http.multipartHeaders(), body: formData },\n \"Failed to upload the Agents24 resource package.\",\n );\n await assertOk(response);\n return (await response.json()) as ResourcePackageCompileResult;\n }\n\n async compilePackage(upload: ResourcePackageUpload): Promise<ResourcePackageCompileResult> {\n const formData = new FormData();\n const archiveBytes = upload.data.slice().buffer as ArrayBuffer;\n const candidate = upload.filename || \"\";\n const filename = /^[A-Za-z0-9][A-Za-z0-9._-]{0,200}\\.zip$/.test(candidate) ? candidate : \"resource.agents24.zip\";\n formData.append(\"file\", new Blob([archiveBytes]), filename);\n const response = await this.http.fetchOrThrow(\n this.http.url(\"/resource-packages/compile\"),\n { method: \"POST\", headers: this.http.multipartHeaders(), body: formData },\n \"Failed to upload the Agents24 resource package.\",\n );\n await assertOk(response);\n return (await response.json()) as ResourcePackageCompileResult;\n }\n}\n","import type { Agents24HttpClient } from \"./http.js\";\nimport type { ControlPlaneRunEventsResponse, RunContext, RunStatus, TraceView } from \"./types.js\";\n\nexport class RunsNamespace {\n constructor(private readonly http: Agents24HttpClient) {}\n get(runId: string, options: { includeTree?: boolean } = {}): Promise<RunStatus> {\n return this.http.requestJson(`/agents/runs/${runId}`, { query: { include_tree: options.includeTree } });\n }\n getTree(runId: string): Promise<Record<string, unknown>> { return this.http.requestJson(`/agents/runs/${runId}/tree`); }\n getEvents(runId: string, options: { afterSequence?: number; limit?: number } = {}): Promise<ControlPlaneRunEventsResponse> {\n return this.http.requestJson(`/agents/runs/${runId}/events`, { query: { after_sequence: options.afterSequence, limit: options.limit } });\n }\n getContext(runId: string): Promise<RunContext> { return this.http.requestJson(`/agents/runs/${runId}/context`); }\n getTrace(runId: string, options: { includeDiagnostics?: boolean } = {}): Promise<TraceView> {\n return this.http.requestJson(`/agents/runs/${runId}/trace`, {\n query: { include_diagnostics: options.includeDiagnostics },\n });\n }\n}\n","// @generated by @agents24/sdk-contract; DO NOT EDIT.\n// contract-sha256: 13f59fd11fc838b1f7a51afe15afcdb6f1429fed94e37a1341c97061882e57d2\nimport { assertOk, type Agents24HttpClient } from \"../http\";\nimport type {\n RequestOptions\n} from \"../types\";\n\nexport class InstructionsNamespace {\n constructor(protected readonly http: Agents24HttpClient) {}\n\n publish(instructionId: string, options?: RequestOptions): Promise<Record<string, unknown>> {\n return this.http.requestJson<Record<string, unknown>>(`/prompts/${instructionId}/publish`, {\n method: \"POST\",\n body: {},\n options,\n mutation: true,\n });\n }\n}\n","// @generated by @agents24/sdk-contract; DO NOT EDIT.\n// contract-sha256: 13f59fd11fc838b1f7a51afe15afcdb6f1429fed94e37a1341c97061882e57d2\nimport { assertOk, type Agents24HttpClient } from \"../http\";\nimport type {\n ClearCustomerResourcePolicyAssignmentResult,\n CustomerIdentityRequest,\n CustomerResourcePolicyAssignment,\n EffectiveCustomerResourcePolicyRequest,\n EffectiveResourcePolicy,\n RequestOptions,\n ResetResourcePolicyQuotaRequest,\n ResourcePolicyList,\n ResourcePolicyQuotaScheduleResult,\n SetCustomerResourcePolicyAssignmentRequest,\n SetResourcePolicyQuotaScheduleRequest\n} from \"../types\";\n\nexport class ResourcePoliciesNamespace {\n constructor(protected readonly http: Agents24HttpClient) {}\n\n list(): Promise<ResourcePolicyList> {\n return this.http.requestJson<ResourcePolicyList>(\"/admin/security/resource-policies/sets\");\n }\n\n setCustomerAssignment(request: SetCustomerResourcePolicyAssignmentRequest, options?: RequestOptions): Promise<CustomerResourcePolicyAssignment> {\n return this.http.requestJson<CustomerResourcePolicyAssignment>(\"/admin/security/resource-policies/customer-assignments/set\", {\n method: \"POST\",\n body: request,\n options,\n mutation: true,\n });\n }\n\n getCustomerAssignment(request: CustomerIdentityRequest): Promise<CustomerResourcePolicyAssignment> {\n return this.http.requestJson<CustomerResourcePolicyAssignment>(\"/admin/security/resource-policies/customer-assignments/get\", {\n method: \"POST\",\n body: request,\n });\n }\n\n clearCustomerAssignment(request: CustomerIdentityRequest, options?: RequestOptions): Promise<ClearCustomerResourcePolicyAssignmentResult> {\n return this.http.requestJson<ClearCustomerResourcePolicyAssignmentResult>(\"/admin/security/resource-policies/customer-assignments/clear\", {\n method: \"POST\",\n body: request,\n options,\n mutation: true,\n });\n }\n\n getEffectiveCustomerPolicy(request: EffectiveCustomerResourcePolicyRequest): Promise<EffectiveResourcePolicy> {\n return this.http.requestJson<EffectiveResourcePolicy>(\"/admin/security/resource-policies/customers/effective\", {\n method: \"POST\",\n body: request,\n });\n }\n\n setQuotaSchedule(request: SetResourcePolicyQuotaScheduleRequest, options?: RequestOptions): Promise<ResourcePolicyQuotaScheduleResult> {\n return this.http.requestJson<ResourcePolicyQuotaScheduleResult>(\"/admin/security/resource-policies/quota-schedules/set\", {\n method: \"POST\",\n body: request,\n options,\n mutation: true,\n });\n }\n\n resetQuotaNow(request: ResetResourcePolicyQuotaRequest, options?: RequestOptions): Promise<ResourcePolicyQuotaScheduleResult> {\n return this.http.requestJson<ResourcePolicyQuotaScheduleResult>(\"/admin/security/resource-policies/quota-schedules/reset-now\", {\n method: \"POST\",\n body: request,\n options,\n mutation: true,\n });\n }\n}\n","import { AgentsNamespace } from \"./agents.js\";\nimport { AgentDefinitionBuilder, GraphBuilder } from \"./builders.js\";\nimport { ClientDeploymentsNamespace, ClientSessionsNamespace } from \"./client-runtime-admin.js\";\nimport { EmbedNamespace } from \"./embed.js\";\nimport { ResourceBundlesNamespace } from \"./generated/resourceBundles.js\";\nimport { ResourcePackagesNamespace } from \"./generated/resourcePackages.js\";\nimport { Agents24HttpClient } from \"./http.js\";\nimport { RunsNamespace } from \"./runs.js\";\nimport { InstructionsNamespace } from \"./generated/instructions.js\";\nimport { ResourcePoliciesNamespace } from \"./generated/resourcePolicies.js\";\nimport type { AgentDefinitionOptions, Agents24NodeOptions } from \"./types.js\";\n\nexport class Agents24 {\n readonly agents: AgentsNamespace;\n readonly embed: EmbedNamespace;\n readonly runs: RunsNamespace;\n readonly resourceBundles: ResourceBundlesNamespace;\n readonly resourcePackages: ResourcePackagesNamespace;\n readonly clientDeployments: ClientDeploymentsNamespace;\n readonly clientSessions: ClientSessionsNamespace;\n readonly instructions: InstructionsNamespace;\n readonly resourcePolicies: ResourcePoliciesNamespace;\n\n constructor(options: Agents24NodeOptions) {\n const http = new Agents24HttpClient(options);\n this.agents = new AgentsNamespace(http);\n this.embed = new EmbedNamespace(http);\n this.runs = new RunsNamespace(http);\n this.resourceBundles = new ResourceBundlesNamespace(http);\n this.resourcePackages = new ResourcePackagesNamespace(http);\n this.clientDeployments = new ClientDeploymentsNamespace(http);\n this.clientSessions = new ClientSessionsNamespace(http);\n this.instructions = new InstructionsNamespace(http);\n this.resourcePolicies = new ResourcePoliciesNamespace(http);\n }\n\n agent(options: AgentDefinitionOptions): AgentDefinitionBuilder {\n return new AgentDefinitionBuilder(this.agents, options);\n }\n\n graph(): GraphBuilder { return new GraphBuilder(); }\n}\n","// @generated by @agents24/sdk-contract; DO NOT EDIT.\n// contract-sha256: 13f59fd11fc838b1f7a51afe15afcdb6f1429fed94e37a1341c97061882e57d2\nexport const SDK_OPERATION_IDS = [\n \"agents.cancel_run\",\n \"agents.catalog\",\n \"agents.create\",\n \"agents.create_attachment_content_access\",\n \"agents.delete\",\n \"agents.get\",\n \"agents.list\",\n \"agents.publish\",\n \"agents.resume_run\",\n \"agents.schema\",\n \"agents.start_run\",\n \"agents.stream\",\n \"agents.update\",\n \"agents.update_graph\",\n \"agents.upload_attachments\",\n \"agents.validate\",\n \"client.attachments.create_content_access\",\n \"client.attachments.upload\",\n \"client.bootstrap\",\n \"client.chat.stream\",\n \"client.deployments.create\",\n \"client.deployments.delete\",\n \"client.deployments.get\",\n \"client.deployments.list\",\n \"client.deployments.update\",\n \"client.hitl.resume\",\n \"client.jwks\",\n \"client.mcp.redeem\",\n \"client.mcp.start\",\n \"client.resource_policy\",\n \"client.runs.attach\",\n \"client.runs.cancel\",\n \"client.runs.set_feedback\",\n \"client.sessions.anonymous\",\n \"client.sessions.backendExchange\",\n \"client.sessions.refresh\",\n \"client.sessions.revoke\",\n \"client.threads.delete\",\n \"client.threads.events\",\n \"client.threads.get\",\n \"client.threads.list\",\n \"embed.attach_agent_run\",\n \"embed.cancel_agent_run\",\n \"embed.create_attachment_content_access\",\n \"embed.delete_agent_thread\",\n \"embed.get_agent_run_context\",\n \"embed.get_agent_thread\",\n \"embed.get_runtime_bootstrap\",\n \"embed.list_agent_threads\",\n \"embed.list_agent_threads_multi\",\n \"embed.resume_agent_run\",\n \"embed.set_agent_run_feedback\",\n \"embed.start_agent_run_mcp_auth\",\n \"embed.stream_agent\",\n \"embed.stream_agent_thread_events\",\n \"embed.stream_agent_thread_events_multi\",\n \"embed.upload_agent_attachments\",\n \"instructions.publish\",\n \"resource_bundles.candidates\",\n \"resource_bundles.export\",\n \"resource_bundles.export_plan\",\n \"resource_bundles.import\",\n \"resource_bundles.import_preview\",\n \"resource_packages.compile\",\n \"resource_packages.export\",\n \"resource_packages.validate\",\n \"resource_policies.clear_customer_assignment\",\n \"resource_policies.get_customer_assignment\",\n \"resource_policies.get_effective_customer_policy\",\n \"resource_policies.list\",\n \"resource_policies.reset_quota_now\",\n \"resource_policies.set_customer_assignment\",\n \"resource_policies.set_quota_schedule\",\n \"runs.get\",\n \"runs.get_context\",\n \"runs.get_events\",\n \"runs.get_trace\",\n \"runs.get_tree\"\n] as const;\n\nexport type SDKOperationId = (typeof SDK_OPERATION_IDS)[number];\n"]}
package/dist/server.cjs CHANGED
@@ -82,7 +82,9 @@ var describeArtifactContract2 = describeArtifactContract;
82
82
  // src/server.ts
83
83
  var DEFAULT_MANIFEST_PATH = "/.well-known/agents24/artifact";
84
84
  var DEFAULT_HEALTH_PATH = "/.well-known/agents24/artifact/health";
85
+ var DEFAULT_VERIFY_PATH = "/.well-known/agents24/artifact/verify";
85
86
  var DEFAULT_INVOKE_PATH = "/agents24/artifact/invoke";
87
+ var ARTIFACT_VERIFICATION_PURPOSE = "agents24.artifact.verify.v1";
86
88
  function sorted(value) {
87
89
  if (Array.isArray(value)) return value.map(sorted);
88
90
  if (value && typeof value === "object") {
@@ -128,10 +130,11 @@ function contractExport(item) {
128
130
  metadata: item.metadata || {}
129
131
  };
130
132
  }
131
- function manifest(artifact) {
133
+ function manifest(artifact, authMode) {
132
134
  const described = describeArtifactContract2(artifact);
133
135
  const contract = {
134
136
  schema_version: "agents24.artifact.v1",
137
+ invocation_auth: { mode: authMode },
135
138
  exports: described.exports.map((item) => contractExport(item)),
136
139
  ...artifact.__agents24ToolsetsDeclared ? { toolsets: described.toolsets } : {}
137
140
  };
@@ -162,6 +165,15 @@ function verifyArtifactSignature(input) {
162
165
  const expectedBytes = buffer.Buffer.from(expected);
163
166
  return actualBytes.length === expectedBytes.length && crypto.timingSafeEqual(actualBytes, expectedBytes);
164
167
  }
168
+ function createArtifactVerificationProof(input) {
169
+ const proof = crypto.createHmac("sha256", input.signingSecret).update(`${ARTIFACT_VERIFICATION_PURPOSE}.${input.challenge}`).digest("hex");
170
+ return `sha256=${proof}`;
171
+ }
172
+ function verifyArtifactVerificationProof(input) {
173
+ const expected = buffer.Buffer.from(createArtifactVerificationProof(input));
174
+ const actual = buffer.Buffer.from(String(input.proof || ""));
175
+ return actual.length === expected.length && crypto.timingSafeEqual(actual, expected);
176
+ }
165
177
  async function requestBody(req) {
166
178
  const chunks = [];
167
179
  for await (const chunk of req) chunks.push(buffer.Buffer.isBuffer(chunk) ? chunk : buffer.Buffer.from(chunk));
@@ -173,9 +185,11 @@ async function writeResponse(res, response) {
173
185
  res.end(buffer.Buffer.from(await response.arrayBuffer()));
174
186
  }
175
187
  function createArtifactServer(options) {
176
- if (!options.signingSecret) throw new Error("createArtifactServer requires signingSecret");
188
+ const authMode = options.authMode || "hmac_sha256";
189
+ if (authMode === "hmac_sha256" && !options.signingSecret) throw new Error("createArtifactServer requires signingSecret");
177
190
  const manifestPath = options.manifestPath || DEFAULT_MANIFEST_PATH;
178
191
  const healthPath = DEFAULT_HEALTH_PATH;
192
+ const verifyPath = DEFAULT_VERIFY_PATH;
179
193
  const invokePath = options.invokePath || DEFAULT_INVOKE_PATH;
180
194
  let artifact = artifactFromExports(options.exports, options.toolsets);
181
195
  function setExports(next) {
@@ -184,12 +198,40 @@ function createArtifactServer(options) {
184
198
  async function handleRequest(request) {
185
199
  const url = new URL(request.url);
186
200
  if (request.method === "GET" && url.pathname === healthPath) return json({ status: "ok", service: "agents24-artifact" });
187
- if (request.method === "GET" && url.pathname === manifestPath) return json(manifest(artifact));
201
+ if (request.method === "GET" && url.pathname === manifestPath) return json(manifest(artifact, authMode));
202
+ if (request.method === "POST" && url.pathname === verifyPath) {
203
+ const body2 = await request.text();
204
+ if (authMode === "hmac_sha256" && !verifyArtifactSignature({
205
+ body: body2,
206
+ signingSecret: options.signingSecret || "",
207
+ timestamp: request.headers.get("x-agents24-timestamp"),
208
+ signature: request.headers.get("x-agents24-signature")
209
+ })) {
210
+ return json({ status: "failed", error: { message: "Invalid artifact verification signature", code: "INVALID_SIGNATURE" } }, { status: 401 });
211
+ }
212
+ let payload2;
213
+ try {
214
+ payload2 = JSON.parse(body2);
215
+ } catch {
216
+ return json({ status: "failed", error: { message: "Invalid JSON body", code: "INVALID_JSON" } }, { status: 400 });
217
+ }
218
+ const challenge = String(payload2?.challenge || "").trim();
219
+ const purpose = String(payload2?.purpose || "").trim();
220
+ if (purpose !== ARTIFACT_VERIFICATION_PURPOSE || challenge.length < 16 || challenge.length > 512) {
221
+ return json({ status: "failed", error: { message: "Invalid artifact verification challenge", code: "INVALID_REQUEST" } }, { status: 400 });
222
+ }
223
+ return json({
224
+ status: "ok",
225
+ auth_mode: authMode,
226
+ challenge,
227
+ proof: authMode === "hmac_sha256" ? createArtifactVerificationProof({ challenge, signingSecret: options.signingSecret || "" }) : null
228
+ });
229
+ }
188
230
  if (request.method !== "POST" || url.pathname !== invokePath) return json({ error: "Not found", code: "NOT_FOUND" }, { status: 404 });
189
231
  const body = await request.text();
190
- if (!verifyArtifactSignature({
232
+ if (authMode === "hmac_sha256" && !verifyArtifactSignature({
191
233
  body,
192
- signingSecret: options.signingSecret,
234
+ signingSecret: options.signingSecret || "",
193
235
  timestamp: request.headers.get("x-agents24-timestamp"),
194
236
  signature: request.headers.get("x-agents24-signature")
195
237
  })) {
@@ -259,17 +301,21 @@ function createArtifactServer(options) {
259
301
  return {
260
302
  manifestPath,
261
303
  healthPath,
304
+ verifyPath,
262
305
  invokePath,
263
306
  setExports,
264
- manifest: () => manifest(artifact),
307
+ manifest: () => manifest(artifact, authMode),
265
308
  handleRequest,
266
309
  nodeHandler,
267
310
  listen
268
311
  };
269
312
  }
270
313
 
314
+ exports.ARTIFACT_VERIFICATION_PURPOSE = ARTIFACT_VERIFICATION_PURPOSE;
271
315
  exports.createArtifactServer = createArtifactServer;
316
+ exports.createArtifactVerificationProof = createArtifactVerificationProof;
272
317
  exports.signArtifactPayload = signArtifactPayload;
273
318
  exports.verifyArtifactSignature = verifyArtifactSignature;
319
+ exports.verifyArtifactVerificationProof = verifyArtifactVerificationProof;
274
320
  //# sourceMappingURL=server.cjs.map
275
321
  //# sourceMappingURL=server.cjs.map