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

擷取代理程式。

getMicrosoft365Package

從所提供的發佈請求產生 Microsoft Teams 應用程式套件(zip),用於 Foundry 代理,但不發布該請求。 會將應用程式套件回傳為 application/zip。

getMicrosoft365PublishDefaults

回傳預設值及先前發布的值,用於預先填充 Microsoft 365 發佈請求以建立 Foundry 代理。

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

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

patchAgentObject

修改現有的代理程式。

publishToMicrosoft365

發布 Foundry 代理至 Microsoft 365 / Microsoft Teams,並回傳已發佈的標題及 Teams 應用程式 ID。

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>

getMicrosoft365Package

從所提供的發佈請求產生 Microsoft Teams 應用程式套件(zip),用於 Foundry 代理,但不發布該請求。 會將應用程式套件回傳為 application/zip。

getMicrosoft365Package: (agentName: string, publishScope: Microsoft365PublishScope, options?: GetMicrosoft365PackageOptionalParams) => Promise<GetMicrosoft365PackageResponse>

屬性值

(agentName: string, publishScope: Microsoft365PublishScope, options?: GetMicrosoft365PackageOptionalParams) => Promise<GetMicrosoft365PackageResponse>

getMicrosoft365PublishDefaults

回傳預設值及先前發布的值,用於預先填充 Microsoft 365 發佈請求以建立 Foundry 代理。

getMicrosoft365PublishDefaults: (agentName: string, options?: GetMicrosoft365PublishDefaultsOptionalParams) => Promise<Microsoft365PublishDefaults>

屬性值

(agentName: string, options?: GetMicrosoft365PublishDefaultsOptionalParams) => Promise<Microsoft365PublishDefaults>

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>

patchAgentObject

修改現有的代理程式。

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

屬性值

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

publishToMicrosoft365

發布 Foundry 代理至 Microsoft 365 / Microsoft Teams,並回傳已發佈的標題及 Teams 應用程式 ID。

publishToMicrosoft365: (agentName: string, publishScope: Microsoft365PublishScope, options?: PublishToMicrosoft365OptionalParams) => Promise<Microsoft365PublishResponse>

屬性值

(agentName: string, publishScope: Microsoft365PublishScope, options?: PublishToMicrosoft365OptionalParams) => Promise<Microsoft365PublishResponse>

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>