AgentsOperations interface

代表代理程式作業的介面。

屬性

createSession

為代理端點建立一個新的會話。 端點會解析支援代理版本, version_indicator 並利用提供的隔離金鑰強制執行會話所有權,以進行會話變異操作。

createVersionFromCode

從程式碼建立新的代理版本。 上傳 zip 代碼,並為現有代理建立新版本。 SHA-256 十六進位摘要會放在 x-ms-code-zip-sha256 標頭中,以確保完整性與去碼。 請求主體是多部分/表單資料,包含 JSON 元資料部分和二進位碼部分(零件順序無關緊要)。 最大上傳容量為 250 MB。

delete

刪除代理程式。 對於託管代理,若任何版本有活躍會話,除非 force 將 HTTP 409 設為 true,否則請求會被拒絕。 當 force 為真時,所有相關的會話連同代理及其版本一同被級聯刪除。

deleteSession

同步刪除會話。 當會話被刪除或不存在時,返回 204 無內容。

deleteSessionFile

從會話沙盒中刪除指定的檔案或目錄。 當 recursive 為 false 時,刪除非空目錄會回傳 409 衝突。

deleteVersion

刪除代理程式的特定版本。 對於託管代理,若該版本有活躍會話,除非 force 設定為 true,否則 HTTP 409 會拒絕該請求。 當 force 為真時,所有與此版本相關的會話都會被級聯刪除。

disable

停用指定的代理程式,阻止其接受新工作階段或處理請求。 現有的活躍會話可以優雅地耗盡,但無法新增會話。 此操作是冪能操作——使已失效的代理人恢復成功且無副作用。

downloadAgentCode

下載代碼 zip,作為基於代碼的託管代理。 回傳先前上傳的壓縮檔(application/zip)。

如果 agent_version 提供 ,則回傳該版本的代碼 zip;否則回傳最新版本的代碼 zip。

SHA-256 回傳的位元組摘要與已解析版本content_hash的 相符code_configuration

downloadSessionFile

以二進位串流方式下載指定的沙箱路徑檔案。 路徑是相對於會話主目錄來解析的。

enable

啟用指定的代理程式,允許其接受新的會話並處理請求。 此操作為冪性——啟用已啟用的藥物會成功且無副作用。

get

擷取代理程式。

getSession

透過代理名稱與會話識別碼取得託管代理會話的詳細資訊。

getSessionLogStream

將特定託管代理會話的主控台日誌(stdout / stderr)串流為 Server-Sent 事件(SSE)串流。

每個 SSE 框架包含:

  • event:永遠 "log"
  • data: 純文字日誌行(目前為 JSON 格式,但結構非合約性質,且可能包含額外鍵或隨時間改變格式——客戶端應將其視為不透明字串)

SSE 框架範例:

event: log
data: {"timestamp":"2026-03-10T09:33:17.121Z","stream":"stdout","message":"Starting FoundryCBAgent server on port 8088"}

event: log
data: {"timestamp":"2026-03-10T09:33:17.130Z","stream":"stderr","message":"INFO: Application startup complete."}

event: log
data: {"timestamp":"2026-03-10T09:34:52.714Z","stream":"status","message":"Successfully connected to container"}

event: log
data: {"timestamp":"2026-03-10T09:35:52.714Z","stream":"status","message":"No logs since last 60 seconds"}

串流會保持開啟,直到用戶端斷線或伺服器終止連線。 客戶端應視需要自行處理重新連線。

getVersion

擷取代理程式的特定版本。

list

傳回所有客服專員的清單。

listSessionFiles

在會話沙盒中指定路徑回傳檔案與目錄。 回應僅包含目標目錄的直接子目錄,若未提供路徑,則預設為會話的主目錄。

listSessions

回傳與指定代理端點相關的分頁會話集合。

listVersions

傳回代理程式的版本清單。

stopSession

當請求成功時,終止指定的託管代理會話,並回傳 204 無內容。

updateAgent

對指定的代理端點設定套用合併補丁更新。

uploadSessionFile

將二進位檔案內容上傳至會話沙盒中指定的路徑。 該服務會相對於會話主目錄儲存檔案,並拒絕超過 50 MB 的有效載荷。

方法

create(string, AgentDefinitionUnion, AgentsCreateOptionalParams)

創造代理人。

create(string, string, Record<string, unknown>, AgentsCreateAgentFromManifestOptionalParams)

從資訊清單建立代理程式。

createVersion(string, AgentDefinitionUnion, AgentsCreateVersionOptionalParams)

建立一個新的代理版本。

createVersion(string, string, Record<string, unknown>, AgentsCreateAgentVersionFromManifestOptionalParams)

從資訊清單建立新的代理程式版本。

update(string, AgentDefinitionUnion, AgentsUpdateOptionalParams)

如果代理程式定義有任何變更,則透過新增版本來更新代理程式。 如果沒有變更,則傳回現有的代理程式版本。

update(string, string, Record<string, unknown>, AgentsUpdateAgentFromManifestOptionalParams)

若代理定義有任何變更,會從清單更新代理,新增新版本。 如果沒有變更,則傳回現有的代理程式版本。

屬性詳細資料

createSession

為代理端點建立一個新的會話。 端點會解析支援代理版本, version_indicator 並利用提供的隔離金鑰強制執行會話所有權,以進行會話變異操作。

createSession: (agentName: string, versionIndicator: VersionIndicatorUnion, options?: AgentsCreateSessionOptionalParams) => Promise<AgentSessionResource>

屬性值

(agentName: string, versionIndicator: VersionIndicatorUnion, options?: AgentsCreateSessionOptionalParams) => Promise<AgentSessionResource>

createVersionFromCode

從程式碼建立新的代理版本。 上傳 zip 代碼,並為現有代理建立新版本。 SHA-256 十六進位摘要會放在 x-ms-code-zip-sha256 標頭中,以確保完整性與去碼。 請求主體是多部分/表單資料,包含 JSON 元資料部分和二進位碼部分(零件順序無關緊要)。 最大上傳容量為 250 MB。

createVersionFromCode: (agentName: string, codeZipSha256: string, content: CreateAgentVersionFromCodeContent, options?: AgentsCreateVersionFromCodeOptionalParams) => Promise<AgentVersion>

屬性值

(agentName: string, codeZipSha256: string, content: CreateAgentVersionFromCodeContent, options?: AgentsCreateVersionFromCodeOptionalParams) => Promise<AgentVersion>

delete

刪除代理程式。 對於託管代理,若任何版本有活躍會話,除非 force 將 HTTP 409 設為 true,否則請求會被拒絕。 當 force 為真時,所有相關的會話連同代理及其版本一同被級聯刪除。

delete: (agentName: string, options?: AgentsDeleteOptionalParams) => Promise<DeleteAgentResponse>

屬性值

(agentName: string, options?: AgentsDeleteOptionalParams) => Promise<DeleteAgentResponse>

deleteSession

同步刪除會話。 當會話被刪除或不存在時,返回 204 無內容。

deleteSession: (agentName: string, sessionId: string, options?: AgentsDeleteSessionOptionalParams) => Promise<void>

屬性值

(agentName: string, sessionId: string, options?: AgentsDeleteSessionOptionalParams) => Promise<void>

deleteSessionFile

從會話沙盒中刪除指定的檔案或目錄。 當 recursive 為 false 時,刪除非空目錄會回傳 409 衝突。

deleteSessionFile: (agentName: string, sessionId: string, path: string, options?: AgentsDeleteSessionFileOptionalParams) => Promise<void>

屬性值

(agentName: string, sessionId: string, path: string, options?: AgentsDeleteSessionFileOptionalParams) => Promise<void>

deleteVersion

刪除代理程式的特定版本。 對於託管代理,若該版本有活躍會話,除非 force 設定為 true,否則 HTTP 409 會拒絕該請求。 當 force 為真時,所有與此版本相關的會話都會被級聯刪除。

deleteVersion: (agentName: string, agentVersion: string, options?: AgentsDeleteVersionOptionalParams) => Promise<DeleteAgentVersionResponse>

屬性值

(agentName: string, agentVersion: string, options?: AgentsDeleteVersionOptionalParams) => Promise<DeleteAgentVersionResponse>

disable

停用指定的代理程式,阻止其接受新工作階段或處理請求。 現有的活躍會話可以優雅地耗盡,但無法新增會話。 此操作是冪能操作——使已失效的代理人恢復成功且無副作用。

disable: (agentName: string, options?: AgentsDisableOptionalParams) => Promise<void>

屬性值

(agentName: string, options?: AgentsDisableOptionalParams) => Promise<void>

downloadAgentCode

下載代碼 zip,作為基於代碼的託管代理。 回傳先前上傳的壓縮檔(application/zip)。

如果 agent_version 提供 ,則回傳該版本的代碼 zip;否則回傳最新版本的代碼 zip。

SHA-256 回傳的位元組摘要與已解析版本content_hash的 相符code_configuration

downloadAgentCode: (agentName: string, options?: AgentsDownloadAgentCodeOptionalParams) => Promise<AgentsDownloadAgentCodeResponse>

屬性值

(agentName: string, options?: AgentsDownloadAgentCodeOptionalParams) => Promise<AgentsDownloadAgentCodeResponse>

downloadSessionFile

以二進位串流方式下載指定的沙箱路徑檔案。 路徑是相對於會話主目錄來解析的。

downloadSessionFile: (agentName: string, sessionId: string, path: string, options?: AgentsDownloadSessionFileOptionalParams) => Promise<AgentsDownloadSessionFileResponse>

屬性值

(agentName: string, sessionId: string, path: string, options?: AgentsDownloadSessionFileOptionalParams) => Promise<AgentsDownloadSessionFileResponse>

enable

啟用指定的代理程式,允許其接受新的會話並處理請求。 此操作為冪性——啟用已啟用的藥物會成功且無副作用。

enable: (agentName: string, options?: AgentsEnableOptionalParams) => Promise<void>

屬性值

(agentName: string, options?: AgentsEnableOptionalParams) => Promise<void>

get

擷取代理程式。

get: (agentName: string, options?: AgentsGetOptionalParams) => Promise<Agent>

屬性值

(agentName: string, options?: AgentsGetOptionalParams) => Promise<Agent>

getSession

透過代理名稱與會話識別碼取得託管代理會話的詳細資訊。

getSession: (agentName: string, sessionId: string, options?: AgentsGetSessionOptionalParams) => Promise<AgentSessionResource>

屬性值

(agentName: string, sessionId: string, options?: AgentsGetSessionOptionalParams) => Promise<AgentSessionResource>

getSessionLogStream

將特定託管代理會話的主控台日誌(stdout / stderr)串流為 Server-Sent 事件(SSE)串流。

每個 SSE 框架包含:

  • event:永遠 "log"
  • data: 純文字日誌行(目前為 JSON 格式,但結構非合約性質,且可能包含額外鍵或隨時間改變格式——客戶端應將其視為不透明字串)

SSE 框架範例:

event: log
data: {"timestamp":"2026-03-10T09:33:17.121Z","stream":"stdout","message":"Starting FoundryCBAgent server on port 8088"}

event: log
data: {"timestamp":"2026-03-10T09:33:17.130Z","stream":"stderr","message":"INFO: Application startup complete."}

event: log
data: {"timestamp":"2026-03-10T09:34:52.714Z","stream":"status","message":"Successfully connected to container"}

event: log
data: {"timestamp":"2026-03-10T09:35:52.714Z","stream":"status","message":"No logs since last 60 seconds"}

串流會保持開啟,直到用戶端斷線或伺服器終止連線。 客戶端應視需要自行處理重新連線。

getSessionLogStream: (agentName: string, agentVersion: string, sessionId: string, options?: AgentsGetSessionLogStreamOptionalParams) => Promise<AgentsDownloadSessionFileResponse>

屬性值

(agentName: string, agentVersion: string, sessionId: string, options?: AgentsGetSessionLogStreamOptionalParams) => Promise<AgentsDownloadSessionFileResponse>

getVersion

擷取代理程式的特定版本。

getVersion: (agentName: string, agentVersion: string, options?: AgentsGetVersionOptionalParams) => Promise<AgentVersion>

屬性值

(agentName: string, agentVersion: string, options?: AgentsGetVersionOptionalParams) => Promise<AgentVersion>

list

傳回所有客服專員的清單。

list: (options?: AgentsListOptionalParams) => PagedAsyncIterableIterator<Agent, Agent[], PageSettings>

屬性值

(options?: AgentsListOptionalParams) => PagedAsyncIterableIterator<Agent, Agent[], PageSettings>

listSessionFiles

在會話沙盒中指定路徑回傳檔案與目錄。 回應僅包含目標目錄的直接子目錄,若未提供路徑,則預設為會話的主目錄。

listSessionFiles: (agentName: string, sessionId: string, options?: AgentsListSessionFilesOptionalParams) => PagedAsyncIterableIterator<SessionDirectoryEntry, SessionDirectoryEntry[], PageSettings>

屬性值

(agentName: string, sessionId: string, options?: AgentsListSessionFilesOptionalParams) => PagedAsyncIterableIterator<SessionDirectoryEntry, SessionDirectoryEntry[], PageSettings>

listSessions

回傳與指定代理端點相關的分頁會話集合。

listSessions: (agentName: string, options?: AgentsListSessionsOptionalParams) => PagedAsyncIterableIterator<AgentSessionResource, AgentSessionResource[], PageSettings>

屬性值

(agentName: string, options?: AgentsListSessionsOptionalParams) => PagedAsyncIterableIterator<AgentSessionResource, AgentSessionResource[], PageSettings>

listVersions

傳回代理程式的版本清單。

listVersions: (agentName: string, options?: AgentsListVersionsOptionalParams) => PagedAsyncIterableIterator<AgentVersion, AgentVersion[], PageSettings>

屬性值

(agentName: string, options?: AgentsListVersionsOptionalParams) => PagedAsyncIterableIterator<AgentVersion, AgentVersion[], PageSettings>

stopSession

當請求成功時,終止指定的託管代理會話,並回傳 204 無內容。

stopSession: (agentName: string, sessionId: string, options?: AgentsStopSessionOptionalParams) => Promise<void>

屬性值

(agentName: string, sessionId: string, options?: AgentsStopSessionOptionalParams) => Promise<void>

updateAgent

對指定的代理端點設定套用合併補丁更新。

updateAgent: (agentName: string, options?: AgentsUpdateAgentObjectOptionalParams) => Promise<Agent>

屬性值

(agentName: string, options?: AgentsUpdateAgentObjectOptionalParams) => Promise<Agent>

uploadSessionFile

將二進位檔案內容上傳至會話沙盒中指定的路徑。 該服務會相對於會話主目錄儲存檔案,並拒絕超過 50 MB 的有效載荷。

uploadSessionFile: (agentName: string, sessionId: string, path: string, content: Uint8Array, options?: AgentsUploadSessionFileOptionalParams) => Promise<SessionFileWriteResponse>

屬性值

(agentName: string, sessionId: string, path: string, content: Uint8Array, options?: AgentsUploadSessionFileOptionalParams) => Promise<SessionFileWriteResponse>

方法詳細資料

create(string, AgentDefinitionUnion, AgentsCreateOptionalParams)

創造代理人。

function create(name: string, definition: AgentDefinitionUnion, options?: AgentsCreateOptionalParams): Promise<Agent>

參數

name

string

傳回

Promise<Agent>

create(string, string, Record<string, unknown>, AgentsCreateAgentFromManifestOptionalParams)

從資訊清單建立代理程式。

function create(name: string, manifestId: string, parameterValues: Record<string, unknown>, options?: AgentsCreateAgentFromManifestOptionalParams): Promise<Agent>

參數

name

string

manifestId

string

parameterValues

Record<string, unknown>

傳回

Promise<Agent>

createVersion(string, AgentDefinitionUnion, AgentsCreateVersionOptionalParams)

建立一個新的代理版本。

function createVersion(agentName: string, definition: AgentDefinitionUnion, options?: AgentsCreateVersionOptionalParams): Promise<AgentVersion>

參數

agentName

string

傳回

Promise<AgentVersion>

createVersion(string, string, Record<string, unknown>, AgentsCreateAgentVersionFromManifestOptionalParams)

從資訊清單建立新的代理程式版本。

function createVersion(agentName: string, manifestId: string, parameterValues: Record<string, unknown>, options?: AgentsCreateAgentVersionFromManifestOptionalParams): Promise<AgentVersion>

參數

agentName

string

manifestId

string

parameterValues

Record<string, unknown>

傳回

Promise<AgentVersion>

update(string, AgentDefinitionUnion, AgentsUpdateOptionalParams)

如果代理程式定義有任何變更,則透過新增版本來更新代理程式。 如果沒有變更,則傳回現有的代理程式版本。

function update(agentName: string, definition: AgentDefinitionUnion, options?: AgentsUpdateOptionalParams): Promise<Agent>

參數

agentName

string

傳回

Promise<Agent>

update(string, string, Record<string, unknown>, AgentsUpdateAgentFromManifestOptionalParams)

若代理定義有任何變更,會從清單更新代理,新增新版本。 如果沒有變更,則傳回現有的代理程式版本。

function update(agentName: string, manifestId: string, parameterValues: Record<string, unknown>, options?: AgentsUpdateAgentFromManifestOptionalParams): Promise<Agent>

參數

agentName

string

manifestId

string

parameterValues

Record<string, unknown>

傳回

Promise<Agent>