summaryrefslogtreecommitdiff
path: root/data/en_us/starops
diff options
context:
space:
mode:
authorZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
committerZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
commit1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch)
tree5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/starops
parent7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff)
downloadafterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz
afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip
update APIs 20260712
Diffstat (limited to 'data/en_us/starops')
-rw-r--r--data/en_us/starops/2026-04-28/api-docs.php4045
1 files changed, 4045 insertions, 0 deletions
diff --git a/data/en_us/starops/2026-04-28/api-docs.php b/data/en_us/starops/2026-04-28/api-docs.php
new file mode 100644
index 0000000..51158a7
--- /dev/null
+++ b/data/en_us/starops/2026-04-28/api-docs.php
@@ -0,0 +1,4045 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => ['style' => 'ROA', 'product' => 'STAROps', 'version' => '2026-04-28'],
+ 'directories' => [
+ [
+ 'children' => ['CreateDigitalEmployee', 'GetDigitalEmployee', 'UpdateDigitalEmployee', 'ListDigitalEmployees', 'DeleteDigitalEmployee'],
+ 'type' => 'directory',
+ 'title' => 'Digital employee',
+ ],
+ [
+ 'children' => ['CreateThread', 'GetThread', 'UpdateThread', 'GetThreadData', 'ListThreads', 'DeleteThread', 'CreateChat'],
+ 'type' => 'directory',
+ 'title' => 'Session',
+ ],
+ [
+ 'children' => ['CreateDigitalEmployeeSkill', 'GetDigitalEmployeeSkill', 'ListDigitalEmployeeSkillVersions', 'UpdateDigitalEmployeeSkill', 'ListDigitalEmployeeSkills', 'DeleteDigitalEmployeeSkill'],
+ 'type' => 'directory',
+ 'title' => 'Skill',
+ ],
+ [
+ 'children' => ['CreateMcpService', 'GetMcpService', 'UpdateMcpService', 'DeleteMcpService', 'ListMcpServices', 'FetchRemoteMcpTools'],
+ 'type' => 'directory',
+ 'title' => 'MCP management',
+ ],
+ [
+ 'children' => ['ListArtifacts', 'GetArtifact'],
+ 'type' => 'directory',
+ 'title' => 'Artifact',
+ ],
+ [
+ 'children' => ['CreateTicket'],
+ 'type' => 'directory',
+ 'title' => 'Console embedding',
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [
+ 'Tag' => [
+ 'title' => '标签',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['title' => '标签键', 'description' => 'The key for the tag.', 'type' => 'string', 'example' => 'test-key', 'maxLength' => 128],
+ 'value' => ['title' => '标签值', 'description' => 'The value for the tag.', 'type' => 'string', 'example' => 'test-value', 'maxLength' => 256],
+ ],
+ 'description' => 'A key-value pair that you can attach to a resource.',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'apis' => [
+ 'CreateChat' => [
+ 'path' => '/chat',
+ 'methods' => ['post'],
+ 'schemes' => ['https', 'sse'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/octet-stream'],
+ 'produces' => ['application/octet-stream'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The request body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'digitalEmployeeName' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'threadId' => ['description' => 'The session thread ID.', 'type' => 'string', 'required' => false, 'example' => 'thread_id01', 'title' => ''],
+ 'action' => ['description' => 'The operation type. Valid values: `create` (default), `reconnect`, and `stop`.', 'type' => 'string', 'required' => false, 'example' => 'create', 'title' => ''],
+ 'variables' => ['description' => 'The set of variables.', 'type' => 'object', 'required' => false, 'example' => '{'."\n"
+ .' "workspace": "test",'."\n"
+ .' "region": "cn-beijing",'."\n"
+ .' "project": "test",'."\n"
+ .' "language": "zh",'."\n"
+ .' "timeZone": "Asia/Shanghai",'."\n"
+ .' "timeStamp": "1768893948",'."\n"
+ .' "startTime": 1768887171,'."\n"
+ .' "endTime": 1768890771,'."\n"
+ .' "skill": "trace"'."\n"
+ .'}', 'title' => ''],
+ 'messages' => [
+ 'description' => 'The message list.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A message.',
+ 'type' => 'object',
+ 'properties' => [
+ 'messageId' => ['description' => 'A unique identifier for the message.', 'type' => 'string', 'required' => false, 'example' => 'message_id02', 'title' => ''],
+ 'role' => ['description' => 'The role of the message.', 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''],
+ 'contents' => [
+ 'description' => 'The multimodal content of the message.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A block of multimodal content.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => ['description' => 'The content type.', 'type' => 'string', 'required' => false, 'example' => 'text', 'title' => ''],
+ 'value' => ['description' => 'The value of the content.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'tools' => [
+ 'description' => 'The tool call list.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A tool call.', 'type' => 'object', 'required' => false, 'example' => '{'."\n"
+ .' "arguments": {'."\n"
+ .' "confidence": "high",'."\n"
+ .' "intent": "analyser",'."\n"
+ .' "is_new_turn": true,'."\n"
+ .' "language": "en",'."\n"
+ .' "title": "Root Cause of Alert"'."\n"
+ .' },'."\n"
+ .' "id": "IntentRecognition",'."\n"
+ .'}', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Response schema.',
+ 'type' => 'object',
+ 'properties' => [
+ 'messages' => [
+ 'title' => '',
+ 'description' => 'A list of message objects in the session.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => 'The detailed structure of a message object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'version' => ['description' => 'The message version.', 'type' => 'string', 'title' => '', 'example' => 'v0.1.0'],
+ 'parentCallId' => ['description' => 'The ID of the parent call.', 'type' => 'string', 'title' => '', 'example' => 'sess_abc123'],
+ 'callId' => ['description' => 'The ID of the current call.', 'type' => 'string', 'title' => '', 'example' => 'call_search_001'],
+ 'role' => ['description' => 'The role of the message sender.', 'type' => 'string', 'title' => '', 'example' => 'tool'],
+ 'seq' => ['description' => 'The message sequence number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'],
+ 'timestamp' => ['description' => 'The timestamp, in nanoseconds.', 'type' => 'string', 'title' => '', 'example' => '1765000005'],
+ 'type' => ['description' => 'The message type.', 'type' => 'string', 'title' => '', 'example' => 'done'],
+ 'detail' => ['description' => 'Message details.', 'type' => 'string', 'title' => '', 'example' => 'test'],
+ 'contents' => [
+ 'title' => '',
+ 'description' => 'A list of content objects.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The detailed structure of a content object.', 'type' => 'object', 'title' => '', 'example' => '{'."\n"
+ .' "append": false,'."\n"
+ .' "lastChunk": false,'."\n"
+ .' "type": "text",'."\n"
+ .' "value": "result output chunk"'."\n"
+ .'}'],
+ 'example' => '',
+ ],
+ 'tools' => [
+ 'title' => '',
+ 'description' => 'A list of tool calls.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The detailed structure of a tool call.', 'type' => 'object', 'title' => '', 'example' => '{'."\n"
+ .' "arguments": {'."\n"
+ .' "confidence": "high",'."\n"
+ .' "intent": "analyser",'."\n"
+ .' "is_new_turn": true,'."\n"
+ .' "language": "en",'."\n"
+ .' "title": "Root Cause of Alert"'."\n"
+ .' },'."\n"
+ .' "id": "IntentRecognition",'."\n"
+ .' "name": "IntentRecognition",'."\n"
+ .' "status": "start",'."\n"
+ .' "toolCallId": "019bc1cb-adad"'."\n"
+ .'}'],
+ 'example' => '',
+ ],
+ 'agents' => [
+ 'title' => '',
+ 'description' => 'A list of invoked agents.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The detailed structure of an invoked agent.', 'type' => 'object', 'title' => '', 'example' => '{'."\n"
+ .' "callId": "019bc1cb-adad",'."\n"
+ .' "id": "analyser",'."\n"
+ .' "inputs": ['."\n"
+ .' {'."\n"
+ .' "append": false,'."\n"
+ .' "lastChunk": false,'."\n"
+ .' "type": "text",'."\n"
+ .' "value": "Analyze this trace: TraceID=xxx"'."\n"
+ .' }'."\n"
+ .' ],'."\n"
+ .' "name": "analyser",'."\n"
+ .' "status": "start"'."\n"
+ .'}'],
+ 'example' => '',
+ ],
+ 'events' => [
+ 'title' => '',
+ 'description' => 'A list of events.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The detailed structure of an event.', 'type' => 'object', 'title' => '', 'example' => '{'."\n"
+ .' "payload": {'."\n"
+ .' "error": {'."\n"
+ .' "code": "TASK_FAILED",'."\n"
+ .' "message": "Invalid task parameter",'."\n"
+ .' "suggestion": ""'."\n"
+ .' },'."\n"
+ .' "statistics": {'."\n"
+ .' "duration": 300000'."\n"
+ .' },'."\n"
+ .' "success": false'."\n"
+ .' },'."\n"
+ .' "type": "task_finished"'."\n"
+ .'}'],
+ 'example' => '',
+ ],
+ 'artifacts' => [
+ 'title' => '',
+ 'description' => 'A list of generated artifacts.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The detailed structure of an artifact.', 'type' => 'object', 'title' => '', 'example' => '{'."\n"
+ .' "artifactId": "019bc1cb-9600-703axxx",'."\n"
+ .' "name": "sql output",'."\n"
+ .' "description": "sql generation task result",'."\n"
+ .' "extensions": ["sql_generation_tool", "sql_diagnosis"],'."\n"
+ .' "metadata": {'."\n"
+ .' "model": "qwen3-coder-plus"'."\n"
+ .' },'."\n"
+ .' "parts": ['."\n"
+ .' {'."\n"
+ .' "text": "select * from table",'."\n"
+ .' "kind": "text"'."\n"
+ .' }'."\n"
+ .' ]'."\n"
+ .'}'],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ 'traceId' => ['description' => 'Uniquely identifies the request chain for tracing.', 'type' => 'string', 'title' => '', 'example' => '21504600000008405622576e3b48'],
+ 'requestId' => ['description' => 'A unique identifier for the API request, useful for troubleshooting.', 'type' => 'string', 'title' => '', 'example' => '0CEC5375-XXXX-XXXX-XXXX-9A629907C1F0'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Initiate session ',
+ 'summary' => 'New conversation',
+ 'description' => 'Starts a session.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'starops:CreateChat',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"messages\\": [\\n {\\n \\"version\\": \\"v0.1.0\\",\\n \\"parentCallId\\": \\"sess_abc123\\",\\n \\"callId\\": \\"call_search_001\\",\\n \\"role\\": \\"tool\\",\\n \\"seq\\": 1,\\n \\"timestamp\\": \\"1765000005\\",\\n \\"type\\": \\"done\\",\\n \\"detail\\": \\"test\\",\\n \\"contents\\": [\\n {\\n \\"append\\": false,\\n \\"lastChunk\\": false,\\n \\"type\\": \\"text\\",\\n \\"value\\": \\"result output chunk\\"\\n }\\n ],\\n \\"tools\\": [\\n {\\n \\"arguments\\": {\\n \\"confidence\\": \\"high\\",\\n \\"intent\\": \\"analyser\\",\\n \\"is_new_turn\\": true,\\n \\"language\\": \\"en\\",\\n \\"title\\": \\"Root Cause of Alert\\"\\n },\\n \\"id\\": \\"IntentRecognition\\",\\n \\"name\\": \\"IntentRecognition\\",\\n \\"status\\": \\"start\\",\\n \\"toolCallId\\": \\"019bc1cb-adad\\"\\n }\\n ],\\n \\"agents\\": [\\n {\\n \\"callId\\": \\"019bc1cb-adad\\",\\n \\"id\\": \\"analyser\\",\\n \\"inputs\\": [\\n {\\n \\"append\\": false,\\n \\"lastChunk\\": false,\\n \\"type\\": \\"text\\",\\n \\"value\\": \\"Analyze this trace: TraceID=xxx\\"\\n }\\n ],\\n \\"name\\": \\"analyser\\",\\n \\"status\\": \\"start\\"\\n }\\n ],\\n \\"events\\": [\\n {\\n \\"payload\\": {\\n \\"error\\": {\\n \\"code\\": \\"TASK_FAILED\\",\\n \\"message\\": \\"Invalid task parameter\\",\\n \\"suggestion\\": \\"\\"\\n },\\n \\"statistics\\": {\\n \\"duration\\": 300000\\n },\\n \\"success\\": false\\n },\\n \\"type\\": \\"task_finished\\"\\n }\\n ],\\n \\"artifacts\\": [\\n {\\n \\"artifactId\\": \\"019bc1cb-9600-703axxx\\",\\n \\"name\\": \\"sql output\\",\\n \\"description\\": \\"sql generation task result\\",\\n \\"extensions\\": [\\n \\"sql_generation_tool\\",\\n \\"sql_diagnosis\\"\\n ],\\n \\"metadata\\": {\\n \\"model\\": \\"qwen3-coder-plus\\"\\n },\\n \\"parts\\": [\\n {\\n \\"text\\": \\"select * from table\\",\\n \\"kind\\": \\"text\\"\\n }\\n ]\\n }\\n ]\\n }\\n ],\\n \\"traceId\\": \\"21504600000008405622576e3b48\\",\\n \\"requestId\\": \\"0CEC5375-XXXX-XXXX-XXXX-9A629907C1F0\\"\\n}","type":"json"}]',
+ ],
+ 'CreateDigitalEmployee' => [
+ 'summary' => 'Creates a digital employee.',
+ 'path' => '/digital-employee',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'],
+ 'parameters' => [
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The digital employee struct.',
+ 'type' => 'object',
+ 'properties' => [
+ 'defaultRule' => ['description' => 'The default rule of the digital employee.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'description' => ['description' => 'The description of the digital employee.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'required' => false, 'example' => 'aaa', 'title' => ''],
+ 'displayName' => [
+ 'description' => 'The display name of the digital employee.', 'type' => 'string', 'deprecated' => false, 'maxLength' => 128, 'minLength' => 0, 'pattern' => '', 'readOnly' => false, 'default' => '', 'required' => false, 'example' => 'digial-employee-test'."\n",
+ 'title' => '',
+ ],
+ 'roleArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role.', 'type' => 'string', 'deprecated' => false, 'required' => true, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => 'acs:ram::12345678912:role/testrole'."\n", 'title' => ''],
+ 'name' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ 'knowledges' => [
+ 'description' => 'The list of knowledge bases.',
+ 'type' => 'object',
+ 'properties' => [
+ 'bailian' => [
+ 'description' => 'The list of Bailian knowledge bases.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of Bailian knowledge bases.',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['description' => 'The Bailian workspace ID.', 'type' => 'string', 'required' => false, 'example' => 'llm-xxxxx'."\n", 'title' => ''],
+ 'indexId' => ['description' => 'The Bailian index ID.', 'type' => 'string', 'required' => false, 'example' => 'index-xxxx'."\n", 'title' => ''],
+ 'region' => ['description' => 'The region of the knowledge base.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'."\n", 'title' => ''],
+ 'attributes' => ['description' => 'The attributes of the knowledge base.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'sop' => [
+ 'description' => 'The list of SOP knowledge bases.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The SOP knowledge base.', 'type' => 'object', 'required' => false, 'example' => ' {'."\n"
+ .' "type": "oss",'."\n"
+ .' "basePath": "docs/",'."\n"
+ .' "region": "cn-hangzhou",'."\n"
+ .' "endpoint": "oss-cn-hangzhou.aliyuncs.com",'."\n"
+ .' "bucket": "my-sop-bucket",'."\n"
+ .' "description": "sls sop"'."\n"
+ .' }', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'resourceGroupId' => ['title' => '', 'description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-ae******ey', 'required' => false],
+ 'tags' => [
+ 'title' => '',
+ 'description' => 'The tags.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The tags.', '$ref' => '#/components/schemas/Tag', 'required' => false, 'example' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ 'attributes' => [
+ 'title' => '',
+ 'type' => 'object',
+ 'deprecated' => false,
+ 'additionalProperties' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'readOnly' => false,
+ 'description' => '',
+ 'example' => '',
+ ],
+ 'toolPolicy' => [
+ 'title' => '',
+ 'description' => 'The tool calling security policy configuration of the digital employee.',
+ 'type' => 'object',
+ 'properties' => [
+ 'aliyun' => [
+ 'description' => 'The Aliyun MCP tool calling security policy configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => 'Specifies whether to enable the Aliyun MCP tool policy.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'statements' => [
+ 'description' => 'The list of Aliyun OpenAPI tool policy statements.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A single Aliyun OpenAPI tool policy statement.',
+ 'type' => 'object',
+ 'properties' => [
+ 'decision' => [
+ 'description' => 'The execution policy when the API is matched.',
+ 'type' => 'string',
+ 'example' => 'user_ack',
+ 'enum' => ['deny', 'user_ack', 'allow'],
+ 'title' => '',
+ ],
+ 'product' => ['description' => 'The Aliyun OpenAPI product name that this statement applies to.', 'type' => 'string', 'required' => false, 'example' => 'Sls', 'title' => ''],
+ 'apiVersion' => ['description' => 'The Aliyun OpenAPI version that this statement applies to.', 'type' => 'string', 'required' => false, 'example' => '2020-12-30', 'title' => ''],
+ 'actions' => [
+ 'description' => 'The list of Aliyun OpenAPI actions. The format is product:ApiName, product:Prefix*, or product:*.',
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'example' => 'log:GetProject', 'description' => '', 'title' => ''],
+ 'example' => '["log:GetProject","log:CreateDashboard"]',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}',
+ 'title' => '',
+ ],
+ 'example' => '[{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}]',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '{"enable":true,"statements":[{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}]}',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '{"aliyun":{"enable":true,"statements":[{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}]}}',
+ ],
+ 'sandboxNetworkPolicy' => [
+ 'title' => '',
+ 'description' => 'The sandbox network ACL policy configuration of the digital employee.',
+ 'type' => 'object',
+ 'properties' => [
+ 'allowFqdns' => [
+ 'description' => 'The list of allowed FQDNs. A maximum of 50 FQDNs are supported.',
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'allowCidrs' => [
+ 'description' => 'The list of allowed CIDRs or IP addresses. A maximum of 50 entries are supported.',
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'enableAcl' => ['description' => 'Specifies whether to enable the sandbox network ACL.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'example' => '{"allowFqdns":["api.example.com"],"allowCidrs":["1.2.3.0/24","8.8.8.8"],"enableAcl":false}',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3B311FD9-A60B-55E0-A896-A0C73*********'."\n", 'title' => ''],
+ 'name' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Create a digital employee',
+ 'description' => 'Creates a digital employee.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'starops:CreateDigitalEmployee',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'ram:PassRole', 'validationType' => 'always'],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3B311FD9-A60B-55E0-A896-A0C73*********\\\\n\\",\\n \\"name\\": \\"test\\"\\n}","type":"json"}]',
+ ],
+ 'CreateDigitalEmployeeSkill' => [
+ 'path' => '/digitalEmployee/{name}/skill',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The request body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'skillName' => ['description' => 'The name of the skill.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'skill', 'title' => ''],
+ 'displayName' => ['description' => 'The display name of the skill.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'description' => ['description' => 'The description of the skill.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'enable' => ['description' => 'Specifies whether to enable the skill.', 'type' => 'boolean', 'default' => 'true', 'required' => false, 'example' => 'true', 'title' => ''],
+ 'files' => [
+ 'description' => 'The files for the skill.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A file object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the file.', 'type' => 'string', 'required' => false, 'example' => 'SKILL.md'."\n", 'title' => ''],
+ 'content' => ['description' => 'The content of the file.', 'type' => 'string', 'required' => false, 'example' => '---'."\n"
+ .'name: skill'."\n"
+ .'description: description'."\n"
+ .'---'."\n"
+ ."\n"
+ .'# skill '."\n"
+ ."\n"
+ .'skill test', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'remark' => ['description' => 'Remarks about the skill.', 'type' => 'string', 'required' => false, 'example' => 'remark', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '8FDE2569-626B-5176-9844-28877A*****'."\n", 'title' => ''],
+ 'skillName' => ['description' => 'The name of the created skill.', 'type' => 'string', 'example' => 'skill', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Create a skill ',
+ 'summary' => 'Creates a skill for a digital employee.',
+ 'description' => 'Creates a new skill for a specified digital employee.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'starops:CreateDigitalEmployeeSkill',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/{#skillName}'],
+ ],
+ ],
+ 'additionalActions' => [],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FDE2569-626B-5176-9844-28877A*****\\\\n\\",\\n \\"skillName\\": \\"skill\\"\\n}","type":"json"}]',
+ ],
+ 'CreateMcpService' => [
+ 'path' => '/digitalEmployee/{name}/mcpService',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test-agent', 'title' => ''],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'mcpServiceName' => ['description' => 'The service name of the MCP service.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'log-query', 'title' => ''],
+ 'displayName' => ['description' => 'The display name of the MCP service.', 'type' => 'string', 'required' => false, 'example' => '日志查询', 'title' => ''],
+ 'description' => ['description' => 'The description of the MCP service.', 'type' => 'string', 'required' => false, 'example' => '通过 MCP 调用日志查询工具。', 'title' => ''],
+ 'enable' => ['description' => 'Specifies whether to enable the MCP service.', 'type' => 'boolean', 'required' => true, 'default' => 'true', 'example' => 'true', 'title' => ''],
+ 'network' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'mode' => [
+ 'description' => 'The network access mode of the MCP service. Valid values: public and vpc.',
+ 'type' => 'string',
+ 'required' => true,
+ 'enum' => ['public', 'vpc'],
+ 'example' => 'public',
+ 'title' => '',
+ ],
+ 'vpcId' => ['description' => 'The VPC ID.', 'type' => 'string', 'required' => false, 'example' => 'vpc-xxx', 'title' => ''],
+ 'vswId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'required' => false, 'example' => 'vsw-xxx', 'title' => ''],
+ 'accessIp' => ['description' => 'The IP address used to access the MCP service over the VPC network.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.12', 'title' => ''],
+ 'accessPort' => ['description' => 'The port used to access the MCP service over the VPC network. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '8080', 'title' => ''],
+ 'securityGroupId' => ['description' => 'The security group ID.', 'type' => 'string', 'required' => false, 'example' => 'sg-xxx', 'title' => ''],
+ 'gatewayId' => ['description' => 'The gateway ID.', 'type' => 'string', 'required' => false, 'example' => 'gw-xxx', 'title' => ''],
+ 'mcpServerId' => ['description' => 'The MCP Server instance ID.', 'type' => 'string', 'required' => false, 'example' => 'mcp-xxx', 'title' => ''],
+ 'region' => ['description' => 'The region where the VPC network resides.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'connection' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'platform' => [
+ 'description' => 'The platform type of the MCP service. Valid values: AIGateway and Custom.',
+ 'enumValueTitles' => ['AIGateway' => 'AIGateway', 'Custom' => 'Custom'],
+ 'type' => 'string',
+ 'required' => true,
+ 'enum' => ['AIGateway', 'Custom'],
+ 'example' => 'Custom',
+ 'title' => '',
+ ],
+ 'transport' => [
+ 'description' => 'The transport protocol of the MCP service. Valid values: http and sse.',
+ 'type' => 'string',
+ 'required' => true,
+ 'enum' => ['http', 'sse'],
+ 'example' => 'http',
+ 'title' => '',
+ ],
+ 'endpoint' => ['description' => 'The access endpoint of the MCP service.', 'type' => 'string', 'required' => true, 'example' => 'https://example.com/mcp', 'title' => ''],
+ 'timeout' => ['description' => 'The timeout period for requests to the MCP service. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '5000', 'title' => ''],
+ 'auth' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => [
+ 'description' => 'The authentication type. Currently, only bearer is supported.',
+ 'type' => 'string',
+ 'enum' => ['bearer'],
+ 'required' => false,
+ 'example' => 'bearer',
+ 'title' => '',
+ ],
+ 'keyInfo' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '认证键值信息。', 'type' => 'string', 'example' => 'example-token', 'title' => ''],
+ 'example' => '{"token":"example-token"}',
+ 'title' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'tools' => [
+ 'description' => 'The list of MCP tools.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the MCP tool.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'query_logs', 'title' => ''],
+ 'title' => ['description' => 'The title of the MCP tool.', 'type' => 'string', 'required' => false, 'example' => '查询日志', 'title' => ''],
+ 'displayName' => ['description' => 'The display name of the MCP tool.', 'type' => 'string', 'required' => false, 'example' => '日志查询工具', 'title' => ''],
+ 'description' => ['description' => 'The description of the MCP tool.', 'type' => 'string', 'required' => false, 'example' => '查询指定日志库中的日志。', 'title' => ''],
+ 'inputSchema' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => true,
+ 'additionalProperties' => ['description' => 'MCP 工具输入 Schema 扩展字段。', 'type' => 'any', 'example' => '{"type":"string"}', 'title' => ''],
+ 'example' => '{"type":"object","properties":{"query":{"type":"string"}},"required":["query"]}',
+ 'title' => '',
+ ],
+ 'outputSchema' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => 'MCP 工具输出 Schema 扩展字段。', 'type' => 'any', 'example' => '{"type":"string"}', 'title' => ''],
+ 'example' => '{"type":"object"}',
+ 'title' => '',
+ ],
+ 'icons' => [
+ 'description' => 'The list of icons for the MCP tool.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '工具图标扩展字段。', 'type' => 'any', 'example' => 'https://example.com/icon.png', 'title' => ''],
+ 'example' => '[]',
+ 'title' => '',
+ ],
+ 'required' => false,
+ 'example' => '[]',
+ 'title' => '',
+ ],
+ 'execution' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '工具执行配置扩展字段。', 'type' => 'any', 'example' => '{}', 'title' => ''],
+ 'example' => '{}',
+ 'title' => '',
+ ],
+ 'annotations' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '工具注解扩展字段。', 'type' => 'any', 'example' => '{}', 'title' => ''],
+ 'example' => '{}',
+ 'title' => '',
+ ],
+ 'enable' => ['description' => 'Specifies whether to enable the MCP tool.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ 'confirm' => ['description' => 'Specifies whether user confirmation is required before calling the MCP tool.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ 'required' => false,
+ 'example' => '[{"name":"query_logs"}]',
+ 'title' => '',
+ ],
+ 'required' => true,
+ 'example' => '[{"name":"query_logs"}]',
+ 'title' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0B9377D9-C56B-5C2E-A8A4-************', 'title' => ''],
+ 'mcpServiceName' => ['description' => 'The service name of the MCP service.', 'type' => 'string', 'example' => 'log-query', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Create MCP service',
+ 'summary' => 'Creates an MCP service.',
+ 'description' => 'Creates an MCP service.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'starops:CreateMcpService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/mcpservice/{#mcpServiceName}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0B9377D9-C56B-5C2E-A8A4-************\\",\\n \\"mcpServiceName\\": \\"log-query\\"\\n}","type":"json"}]',
+ ],
+ 'CreateThread' => [
+ 'path' => '/digitalEmployee/{name}/thread',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The request body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'title' => ['description' => 'The title of the thread.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'variables' => [
+ 'description' => 'The variables for the thread. You can use them to pass custom data to the digital employee.',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspace' => ['description' => 'The name of the workspace.', 'type' => 'string', 'required' => false, 'example' => 'workspace', 'title' => ''],
+ 'project' => ['description' => 'The name of the Log Service project.', 'type' => 'string', 'required' => false, 'example' => 'project', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'attributes' => [
+ 'title' => '',
+ 'description' => 'Key-value pairs that you can attach to the thread.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => 'The value of the attribute, where the key is the attribute name.', 'type' => 'string', 'title' => '', 'example' => 'test'],
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'The request id.', 'type' => 'string', 'example' => '8FDE2569-626B-5176-9844-28877A*****'."\n"],
+ 'threadId' => ['description' => 'The thread id.', 'type' => 'string', 'example' => 'thread_id01', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Create a session',
+ 'summary' => 'Creates a thread.',
+ 'description' => 'Creates a thread for a specified digital employee.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'starops:CreateThread',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FDE2569-626B-5176-9844-28877A*****\\\\n\\",\\n \\"threadId\\": \\"thread_id01\\"\\n}","type":"json"}]',
+ ],
+ 'CreateTicket' => [
+ 'path' => '/tickets',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'],
+ 'parameters' => [
+ [
+ 'name' => 'expirationTime',
+ 'in' => 'query',
+ 'schema' => ['description' => '- The expiration time, in seconds. This specifies the expiration time of the embedded page URL. Default value: 86400 (one day). Valid values: 0 to 2592000 (30 days).', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '86400', 'title' => ''],
+ ],
+ [
+ 'name' => 'accessTokenExpirationTime',
+ 'in' => 'query',
+ 'schema' => ['description' => '- The access token expiration time, in seconds. This specifies the expiration time for the user to access page operations. Default value: 86400 (one day). Valid values: 0 to 86400 (one day).'."\n"
+ ."\n"
+ .'- The actual access token expiration time is the minimum value of accessTokenExpirationTime and expirationTime.'."\n"
+ ."\n"
+ .'- If you call this operation by using Security Token Service (STS), the actual access token expiration time is the minimum value of accessTokenExpirationTime, expirationTime, and the STS token expiration time.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '600', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The response struct.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ticket' => ['title' => '', 'description' => 'The passwordless logon ticket.', 'type' => 'string', 'example' => 'eyJ***************.eyJ******************.KUT****************'."\n"],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Create a passwordless logon ticket',
+ 'summary' => 'Creates a ticket.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'starops:CreateTicket',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ticket\\": \\"eyJ***************.eyJ******************.KUT****************\\\\n\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteDigitalEmployee' => [
+ 'summary' => 'Deletes a digital employee.',
+ 'path' => '/digital-employee/{name}',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8FDE2569-626B-5176-9844-28877A*****'."\n", 'title' => ''],
+ ],
+ 'description' => 'The data returned.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Delete digital employee',
+ 'description' => 'Deletes a digital employee.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'starops:DeleteDigitalEmployee',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FDE2569-626B-5176-9844-28877A*****\\\\n\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteDigitalEmployeeSkill' => [
+ 'path' => '/digitalEmployee/{name}/skill/{skillName}',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'skillName',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the skill.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0CEC5375-XXXX-XXXX-XXXX-9A629907C1F0', 'title' => ''],
+ ],
+ 'description' => 'The data returned.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Delete skill ',
+ 'summary' => 'Deletes a skill from a digital employee.',
+ 'description' => 'Deletes a skill from the specified digital employee.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'starops:DeleteDigitalEmployeeSkill',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/{#skillName}'],
+ ],
+ ],
+ 'additionalActions' => [],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0CEC5375-XXXX-XXXX-XXXX-9A629907C1F0\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteMcpService' => [
+ 'path' => '/digitalEmployee/{name}/mcpService/{mcpServiceName}',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test-agent', 'title' => ''],
+ ],
+ [
+ 'name' => 'mcpServiceName',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The MCP service name.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'log-query', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0B9377D9-C56B-5C2E-A8A4-************', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Delete an MCP service',
+ 'summary' => 'Deletes an MCP service.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0B9377D9-C56B-5C2E-A8A4-************\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteThread' => [
+ 'summary' => 'This operation deletes a thread.',
+ 'path' => '/digitalEmployee/{name}/thread/{threadId}',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'threadId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The thread ID.', 'type' => 'string', 'required' => true, 'example' => 'thread_id01', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '123-0F43-23423-AC43-34234'."\n"],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Delete session ',
+ 'description' => 'This operation deletes a specified thread.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'starops:DeleteThread',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/{#threadId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"123-0F43-23423-AC43-34234\\\\n\\"\\n}","type":"json"}]',
+ ],
+ 'FetchRemoteMcpTools' => [
+ 'summary' => 'Retrieves the tool list from a remote MCP server.',
+ 'path' => '/mcptools',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'],
+ 'parameters' => [
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'network' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'mode' => [
+ 'description' => 'The network access mode of the MCP service. Valid values: public and vpc.',
+ 'type' => 'string',
+ 'enum' => ['public', 'vpc'],
+ 'required' => false,
+ 'example' => 'public',
+ 'title' => '',
+ ],
+ 'vpcId' => ['description' => 'The VPC ID.', 'type' => 'string', 'required' => false, 'example' => 'vpc-xxx', 'title' => ''],
+ 'vswId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'required' => false, 'example' => 'vsw-xxx', 'title' => ''],
+ 'accessIp' => ['description' => 'The IP address used to access the MCP service over the VPC network.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.12', 'title' => ''],
+ 'accessPort' => ['description' => 'The port used to access the MCP service over the VPC network. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '8080', 'title' => ''],
+ 'securityGroupId' => ['description' => 'The security group ID.', 'type' => 'string', 'required' => false, 'example' => 'sg-xxx', 'title' => ''],
+ 'gatewayId' => ['description' => 'The gateway ID.', 'type' => 'string', 'required' => false, 'example' => 'gw-xxx', 'title' => ''],
+ 'mcpServerId' => ['description' => 'The MCP Server instance ID.', 'type' => 'string', 'required' => false, 'example' => 'mcp-xxx', 'title' => ''],
+ 'region' => ['description' => 'The region where the VPC network resides.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'connection' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'platform' => [
+ 'description' => 'The MCP service platform type. Valid values: AIGateway and Custom.',
+ 'type' => 'string',
+ 'enum' => ['AIGateway', 'Custom'],
+ 'required' => false,
+ 'example' => 'Custom',
+ 'title' => '',
+ ],
+ 'transport' => [
+ 'description' => 'The MCP service transport protocol. Valid values: http and sse.',
+ 'type' => 'string',
+ 'required' => true,
+ 'enum' => ['http', 'sse'],
+ 'example' => 'http',
+ 'title' => '',
+ ],
+ 'endpoint' => ['description' => 'The access endpoint of the MCP service.', 'type' => 'string', 'required' => true, 'example' => 'https://example.com/mcp', 'title' => ''],
+ 'timeout' => ['description' => 'The timeout period for requests to the MCP service. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '5000', 'title' => ''],
+ 'auth' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => [
+ 'description' => 'The authentication type. Currently, only bearer is supported.',
+ 'type' => 'string',
+ 'enum' => ['bearer'],
+ 'required' => false,
+ 'example' => 'bearer',
+ 'title' => '',
+ ],
+ 'keyInfo' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '认证键值信息。', 'type' => 'string', 'example' => 'example-token', 'title' => ''],
+ 'example' => '{"token":"example-token"}',
+ 'title' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0B9377D9-C56B-5C2E-A8A4-************', 'title' => ''],
+ 'tools' => ['description' => 'The original tools/list response returned by the remote MCP service.', 'type' => 'string', 'example' => '{"jsonrpc":"2.0","id":1,"result":{"tools":[]}}', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Retrieve remote MCP tool list',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'starops:FetchRemoteMcpTools',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0B9377D9-C56B-5C2E-A8A4-************\\",\\n \\"tools\\": \\"{\\\\\\"jsonrpc\\\\\\":\\\\\\"2.0\\\\\\",\\\\\\"id\\\\\\":1,\\\\\\"result\\\\\\":{\\\\\\"tools\\\\\\":[]}}\\"\\n}","type":"json"}]',
+ ],
+ 'GetArtifact' => [
+ 'path' => '/digitalEmployee/{name}/artifact',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => [],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the Digital Employee.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'artifactPath',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The path to the artifact.', 'type' => 'string', 'required' => true, 'example' => 'missions/mission-xxx/artifacts/2026-05/05-01/xxxx.md', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => ['description' => 'The response body contains the raw content of the artifact.', 'type' => 'string', 'format' => 'binary', 'example' => 'xxx', 'title' => ''],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'GetArtifact',
+ 'summary' => 'Retrieves the content of an artifact.',
+ 'description' => 'Retrieves the content of an artifact.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:GetArtifact',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/artifact/*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"\\"xxx\\"","type":"json"}]',
+ ],
+ 'GetDigitalEmployee' => [
+ 'summary' => 'Retrieves a digital employee.',
+ 'path' => '/digital-employee/{name}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0B9377D9-C56B-5C2E-A8A4-************'."\n", 'title' => ''],
+ 'name' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'defaultRule' => ['description' => 'The default rule of the digital employee.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => 'test', 'title' => ''],
+ 'description' => ['description' => 'The description of the digital employee.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => 'test', 'title' => ''],
+ 'createTime' => ['description' => 'The time when the digital employee was created.', 'type' => 'string', 'format' => 'iso8601_normal', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => '2025-03-11T08:21:58Z'."\n", 'title' => ''],
+ 'displayName' => ['description' => 'The display name of the digital employee.', 'type' => 'string', 'deprecated' => false, 'maxLength' => 128, 'minLength' => 0, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => 'test', 'title' => ''],
+ 'updateTime' => ['description' => 'The time when the digital employee was last updated.', 'type' => 'string', 'format' => 'iso8601_normal', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => '2025-02-18T02:25:06Z'."\n", 'title' => ''],
+ 'roleArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => 'acs:ram::12345678912:role/testrole', 'title' => ''],
+ 'regionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing'."\n", 'title' => ''],
+ 'knowledges' => [
+ 'description' => 'The list of knowledge bases.',
+ 'type' => 'object',
+ 'properties' => [
+ 'bailian' => [
+ 'description' => 'The list of Bailian knowledge bases.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of Bailian knowledge bases.',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['description' => 'The Bailian workspace ID.', 'type' => 'string', 'example' => 'llm-xxxxx'."\n", 'title' => ''],
+ 'indexId' => ['description' => 'The Bailian index ID.', 'type' => 'string', 'example' => 'index-xxxx'."\n", 'title' => ''],
+ 'region' => ['description' => 'The region of the knowledge base.', 'type' => 'string', 'example' => 'cn-beijing'."\n", 'title' => ''],
+ 'attributes' => ['description' => 'The attributes of the knowledge base.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'sop' => [
+ 'description' => 'The list of SOP knowledge bases.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The SOP knowledge base.', 'type' => 'object', 'example' => ' {'."\n"
+ .' "type": "oss",'."\n"
+ .' "basePath": "docs/",'."\n"
+ .' "region": "cn-hangzhou",'."\n"
+ .' "endpoint": "oss-cn-hangzhou.aliyuncs.com",'."\n"
+ .' "bucket": "my-sop-bucket",'."\n"
+ .' "description": "sls sop"'."\n"
+ .' }', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'employeeType' => ['description' => 'The type of the digital employee.', 'type' => 'string', 'example' => 'custom', 'title' => ''],
+ 'tags' => [
+ 'title' => '',
+ 'description' => 'The labels.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The labels.', '$ref' => '#/components/schemas/Tag', 'example' => ''],
+ 'example' => '',
+ ],
+ 'resourceGroupId' => ['title' => '', 'description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-ae******ey'],
+ 'attributes' => [
+ 'title' => '',
+ 'description' => 'The properties.',
+ 'type' => 'object',
+ 'deprecated' => false,
+ 'additionalProperties' => ['description' => 'The properties.', 'type' => 'string', 'example' => '{}', 'title' => ''],
+ 'readOnly' => false,
+ 'example' => '',
+ ],
+ 'toolPolicy' => [
+ 'title' => '',
+ 'description' => 'The tool policy.',
+ 'type' => 'object',
+ 'properties' => [
+ 'aliyun' => [
+ 'description' => 'The security policy configuration for Aliyun CLI tool calling.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => 'Indicates whether the policy is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'statements' => [
+ 'description' => 'The list of Aliyun CLI tool policy statements.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'decision' => [
+ 'description' => 'The execution policy.',
+ 'enumValueTitles' => ['allow' => 'allow', 'user_ack' => 'user_ack'],
+ 'type' => 'string',
+ 'example' => 'user_ack',
+ 'enum' => ['deny', 'user_ack', 'allow'],
+ 'title' => '',
+ ],
+ 'product' => ['description' => 'The cloud service code.', 'type' => 'string', 'required' => true, 'example' => 'Sls', 'title' => ''],
+ 'apiVersion' => ['description' => 'The API version.', 'type' => 'string', 'required' => true, 'example' => '2020-12-30', 'title' => ''],
+ 'actions' => [
+ 'description' => 'The list of RAM actions.',
+ 'type' => 'array',
+ 'items' => ['description' => 'RAM action', 'type' => 'string', 'example' => 'log:GetProject', 'title' => ''],
+ 'example' => '["log:GetProject","log:CreateDashboard"]',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}',
+ 'description' => 'A single Aliyun OpenAPI tool policy statement.',
+ 'title' => '',
+ ],
+ 'example' => '[{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}]',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '{"enable":true,"statements":[{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}]}',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '{"aliyun":{"enable":true,"statements":[{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}]}}',
+ ],
+ 'sandboxNetworkPolicy' => [
+ 'title' => '',
+ 'description' => 'The sandbox network ACL policy configuration of the digital employee.',
+ 'type' => 'object',
+ 'properties' => [
+ 'allowFqdns' => [
+ 'description' => 'The list of allowed FQDNs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of allowed FQDNs.', 'type' => 'string', 'example' => 'api.example.com', 'title' => ''],
+ 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'allowCidrs' => [
+ 'description' => 'The list of allowed CIDRs or IP addresses.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of allowed CIDRs or IP addresses.', 'type' => 'string', 'example' => '1.2.3.0/24', 'title' => ''],
+ 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'enableAcl' => ['description' => 'Indicates whether the sandbox network ACL is enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'example' => '{"allowFqdns":["api.example.com"],"allowCidrs":["1.2.3.0/24","8.8.8.8"],"enableAcl":false}',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ ['errorCode' => 'InvalidDigitalEmployee.NotFound', 'errorMessage' => 'The specified DigitalEmployee does not exist.', 'description' => ''],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0B9377D9-C56B-5C2E-A8A4-************\\\\n\\",\\n \\"name\\": \\"test\\",\\n \\"defaultRule\\": \\"test\\",\\n \\"description\\": \\"test\\",\\n \\"createTime\\": \\"2025-03-11T08:21:58Z\\\\n\\",\\n \\"displayName\\": \\"test\\",\\n \\"updateTime\\": \\"2025-02-18T02:25:06Z\\\\n\\",\\n \\"roleArn\\": \\"acs:ram::12345678912:role/testrole\\",\\n \\"regionId\\": \\"cn-beijing\\\\n\\",\\n \\"knowledges\\": {\\n \\"bailian\\": [\\n {\\n \\"workspaceId\\": \\"llm-xxxxx\\\\n\\",\\n \\"indexId\\": \\"index-xxxx\\\\n\\",\\n \\"region\\": \\"cn-beijing\\\\n\\",\\n \\"attributes\\": \\"test\\"\\n }\\n ],\\n \\"sop\\": [\\n {\\n \\"type\\": \\"oss\\",\\n \\"basePath\\": \\"docs/\\",\\n \\"region\\": \\"cn-hangzhou\\",\\n \\"endpoint\\": \\"oss-cn-hangzhou.aliyuncs.com\\",\\n \\"bucket\\": \\"my-sop-bucket\\",\\n \\"description\\": \\"sls sop\\"\\n }\\n ]\\n },\\n \\"employeeType\\": \\"custom\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"test-key\\",\\n \\"value\\": \\"test-value\\"\\n }\\n ],\\n \\"resourceGroupId\\": \\"rg-ae******ey\\",\\n \\"attributes\\": {\\n \\"key\\": \\"{}\\"\\n },\\n \\"toolPolicy\\": {\\n \\"aliyun\\": {\\n \\"enable\\": true,\\n \\"statements\\": [\\n {\\n \\"decision\\": \\"user_ack\\",\\n \\"product\\": \\"Sls\\",\\n \\"apiVersion\\": \\"2020-12-30\\",\\n \\"actions\\": [\\n \\"log:GetProject\\"\\n ]\\n }\\n ]\\n }\\n },\\n \\"sandboxNetworkPolicy\\": {\\n \\"allowFqdns\\": [\\n \\"api.example.com\\"\\n ],\\n \\"allowCidrs\\": [\\n \\"1.2.3.0/24\\"\\n ],\\n \\"enableAcl\\": false\\n }\\n}","type":"json"}]',
+ 'title' => 'Get a digital employee',
+ 'description' => 'Retrieves a digital employee.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:GetDigitalEmployee',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'GetDigitalEmployeeSkill' => [
+ 'summary' => 'Retrieves the details of a specific skill.',
+ 'path' => '/digitalEmployee/{name}/skill/{skillName}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'skillName',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the skill.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'version',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The version of the skill to retrieve. If this parameter is not specified, the latest version is returned.', 'type' => 'string', 'required' => false, 'example' => '1770386951147366810'."\n", 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8FDE2569-626B-5176-9844-28877A*****'."\n", 'title' => ''],
+ 'skillName' => ['description' => 'The name of the skill.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'displayName' => ['description' => 'The display name of the skill.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'description' => ['description' => 'The description of the skill.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'enable' => ['description' => 'Indicates whether the skill is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'createTime' => ['description' => 'The time when the skill was created.', 'type' => 'string', 'format' => 'iso8601_normal', 'example' => '2026-02-06T14:09:11Z'."\n", 'title' => ''],
+ 'updateTime' => ['description' => 'The time when the skill was last updated.', 'type' => 'string', 'format' => 'iso8601_normal', 'example' => '2026-02-06T14:09:11Z'."\n", 'title' => ''],
+ 'version' => ['description' => 'The version of the skill.', 'type' => 'string', 'example' => '1770386951147366810'."\n", 'title' => ''],
+ 'files' => [
+ 'description' => 'The file list of the skill.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A file associated with the skill.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The file name.', 'type' => 'string', 'example' => 'SKILL.md'."\n", 'title' => ''],
+ 'content' => ['description' => 'The file content.', 'type' => 'string', 'example' => '---'."\n"
+ .'name: skill'."\n"
+ .'description: description'."\n"
+ .'---'."\n"
+ ."\n"
+ .'# skill '."\n"
+ ."\n"
+ .'skill test', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'remark' => ['description' => 'A user-provided remark about the skill.', 'type' => 'string', 'example' => 'remark', 'title' => ''],
+ ],
+ 'description' => 'The response data.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Retrieve skill ',
+ 'description' => 'Retrieves the details of a specified skill for a digital employee.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:GetDigitalEmployeeSkill',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/{#skillName}'],
+ ],
+ ],
+ 'additionalActions' => [],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FDE2569-626B-5176-9844-28877A*****\\\\n\\",\\n \\"skillName\\": \\"test\\",\\n \\"displayName\\": \\"test\\",\\n \\"description\\": \\"test\\",\\n \\"enable\\": true,\\n \\"createTime\\": \\"2026-02-06T14:09:11Z\\\\n\\",\\n \\"updateTime\\": \\"2026-02-06T14:09:11Z\\\\n\\",\\n \\"version\\": \\"1770386951147366810\\\\n\\",\\n \\"files\\": [\\n {\\n \\"name\\": \\"SKILL.md\\\\n\\",\\n \\"content\\": \\"---\\\\nname: skill\\\\ndescription: description\\\\n---\\\\n\\\\n# skill \\\\n\\\\nskill test\\"\\n }\\n ],\\n \\"remark\\": \\"remark\\"\\n}","type":"json"}]',
+ ],
+ 'GetMcpService' => [
+ 'path' => '/digitalEmployee/{name}/mcpService/{mcpServiceName}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test-agent', 'title' => ''],
+ ],
+ [
+ 'name' => 'mcpServiceName',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The service name of the MCP service.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'log-query', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0B9377D9-C56B-5C2E-A8A4-************', 'title' => ''],
+ 'regionId' => ['description' => 'The region of the current request.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'mcpService' => [
+ 'description' => 'The MCP service details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'displayName' => ['description' => 'The display name of the MCP service.', 'type' => 'string', 'example' => '日志查询', 'title' => ''],
+ 'description' => ['description' => 'The description of the MCP service.', 'type' => 'string', 'example' => '通过 MCP 调用日志查询工具。', 'title' => ''],
+ 'enable' => ['description' => 'Indicates whether the MCP service is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'network' => [
+ 'description' => 'The network connectivity information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'mode' => [
+ 'description' => 'The network access mode of the MCP service. Valid values: public and vpc.',
+ 'type' => 'string',
+ 'enum' => ['public', 'vpc'],
+ 'example' => 'public',
+ 'title' => '',
+ ],
+ 'vpcId' => ['description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-xxx', 'title' => ''],
+ 'vswId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-xxx', 'title' => ''],
+ 'accessIp' => ['description' => 'The IP address used to access the MCP service over the VPC network.', 'type' => 'string', 'example' => '10.0.0.12', 'title' => ''],
+ 'accessPort' => ['description' => 'The port used to access the MCP service over the VPC network. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int64', 'example' => '8080', 'title' => ''],
+ 'securityGroupId' => ['description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-xxx', 'title' => ''],
+ 'gatewayId' => ['description' => 'The gateway ID.', 'type' => 'string', 'example' => 'gw-xxx', 'title' => ''],
+ 'mcpServerId' => ['description' => 'The MCP Server instance ID.', 'type' => 'string', 'example' => 'mcp-xxx', 'title' => ''],
+ 'region' => ['description' => 'The region where the VPC network resides.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'connection' => [
+ 'description' => 'The MCP service connection configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'platform' => [
+ 'description' => 'The MCP service platform type. Valid values: AIGateway and Custom.',
+ 'type' => 'string',
+ 'enum' => ['AIGateway', 'Custom'],
+ 'example' => 'Custom',
+ 'title' => '',
+ ],
+ 'transport' => [
+ 'description' => 'The MCP service transport protocol. Valid values: http and sse.',
+ 'type' => 'string',
+ 'enum' => ['http', 'sse'],
+ 'example' => 'http',
+ 'title' => '',
+ ],
+ 'endpoint' => ['description' => 'The access endpoint of the MCP service.', 'type' => 'string', 'example' => 'https://example.com/mcp', 'title' => ''],
+ 'timeout' => ['description' => 'The timeout period for requests to the MCP service. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '5000', 'title' => ''],
+ 'auth' => [
+ 'description' => 'The authentication configuration of the MCP service.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => [
+ 'description' => 'The authentication type. Currently, bearer is supported.',
+ 'type' => 'string',
+ 'enum' => ['bearer'],
+ 'example' => 'bearer',
+ 'title' => '',
+ ],
+ 'keyInfo' => [
+ 'description' => 'The key-value information required for authentication.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => '认证键值信息。', 'type' => 'string', 'example' => 'example-token', 'title' => ''],
+ 'example' => '{"token":"example-token"}',
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'tools' => [
+ 'description' => 'The list of MCP tools.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The configuration of a single MCP tool.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the MCP tool.', 'type' => 'string', 'example' => 'query_logs', 'title' => ''],
+ 'title' => ['description' => 'The title of the MCP tool.', 'type' => 'string', 'example' => '查询日志', 'title' => ''],
+ 'displayName' => ['description' => 'The display name of the MCP tool.', 'type' => 'string', 'example' => '日志查询工具', 'title' => ''],
+ 'description' => ['description' => 'The description of the MCP tool.', 'type' => 'string', 'example' => '查询指定日志库中的日志。', 'title' => ''],
+ 'inputSchema' => [
+ 'description' => 'The JSON Schema of the MCP tool input parameters.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => 'MCP 工具输入 Schema 扩展字段。', 'type' => 'any', 'example' => '{"type":"string"}', 'title' => ''],
+ 'example' => '{"type":"object","properties":{"query":{"type":"string"}},"required":["query"]}',
+ 'title' => '',
+ ],
+ 'outputSchema' => [
+ 'description' => 'The JSON Schema of the MCP tool output results.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => 'MCP 工具输出 Schema 扩展字段。', 'type' => 'any', 'example' => '{"type":"string"}', 'title' => ''],
+ 'example' => '{"type":"object"}',
+ 'title' => '',
+ ],
+ 'icons' => [
+ 'description' => 'The list of MCP tool icons.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The configuration of a single MCP tool.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => '工具图标扩展字段。', 'type' => 'any', 'example' => 'https://example.com/icon.png', 'title' => ''],
+ 'example' => '[]',
+ 'title' => '',
+ ],
+ 'example' => '[]',
+ 'title' => '',
+ ],
+ 'execution' => [
+ 'description' => 'The execution configuration of the MCP tool.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => '工具执行配置扩展字段。', 'type' => 'any', 'example' => '{}', 'title' => ''],
+ 'example' => '{}',
+ 'title' => '',
+ ],
+ 'annotations' => [
+ 'description' => 'The annotation information of the MCP tool.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => '工具注解扩展字段。', 'type' => 'any', 'example' => '{}', 'title' => ''],
+ 'example' => '{}',
+ 'title' => '',
+ ],
+ 'enable' => ['description' => 'Indicates whether the MCP tool is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'confirm' => ['description' => 'Indicates whether user confirmation is required before calling the MCP tool.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'example' => '[{"name":"query_logs"}]',
+ 'title' => '',
+ ],
+ 'example' => '[{"name":"query_logs"}]',
+ 'title' => '',
+ ],
+ 'mcpServiceName' => ['description' => 'The service name of the MCP service.', 'type' => 'string', 'example' => 'log-query', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Query MCP service',
+ 'summary' => 'Queries an MCP service.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:GetMcpService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/mcpservice/{#mcpServiceName}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0B9377D9-C56B-5C2E-A8A4-************\\",\\n \\"regionId\\": \\"cn-hangzhou\\",\\n \\"mcpService\\": {\\n \\"displayName\\": \\"日志查询\\",\\n \\"description\\": \\"通过 MCP 调用日志查询工具。\\",\\n \\"enable\\": true,\\n \\"network\\": {\\n \\"mode\\": \\"public\\",\\n \\"vpcId\\": \\"vpc-xxx\\",\\n \\"vswId\\": \\"vsw-xxx\\",\\n \\"accessIp\\": \\"10.0.0.12\\",\\n \\"accessPort\\": 8080,\\n \\"securityGroupId\\": \\"sg-xxx\\",\\n \\"gatewayId\\": \\"gw-xxx\\",\\n \\"mcpServerId\\": \\"mcp-xxx\\",\\n \\"region\\": \\"cn-hangzhou\\"\\n },\\n \\"connection\\": {\\n \\"platform\\": \\"Custom\\",\\n \\"transport\\": \\"http\\",\\n \\"endpoint\\": \\"https://example.com/mcp\\",\\n \\"timeout\\": 5000,\\n \\"auth\\": {\\n \\"type\\": \\"bearer\\",\\n \\"keyInfo\\": {\\n \\"key\\": \\"example-token\\"\\n }\\n }\\n },\\n \\"tools\\": [\\n {\\n \\"name\\": \\"query_logs\\",\\n \\"title\\": \\"查询日志\\",\\n \\"displayName\\": \\"日志查询工具\\",\\n \\"description\\": \\"查询指定日志库中的日志。\\",\\n \\"inputSchema\\": {\\n \\"key\\": \\"{\\\\\\"type\\\\\\":\\\\\\"string\\\\\\"}\\"\\n },\\n \\"outputSchema\\": {\\n \\"key\\": \\"{\\\\\\"type\\\\\\":\\\\\\"string\\\\\\"}\\"\\n },\\n \\"icons\\": [\\n {\\n \\"key\\": \\"https://example.com/icon.png\\"\\n }\\n ],\\n \\"execution\\": {\\n \\"key\\": \\"{}\\"\\n },\\n \\"annotations\\": {\\n \\"key\\": \\"{}\\"\\n },\\n \\"enable\\": true,\\n \\"confirm\\": false\\n }\\n ],\\n \\"mcpServiceName\\": \\"log-query\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'GetThread' => [
+ 'summary' => 'Retrieves a thread.',
+ 'path' => '/digitalEmployee/{name}/thread/{threadId}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'threadId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The thread ID.', 'type' => 'string', 'required' => true, 'example' => 'thread_id01', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '8FDE2569-626B-5176-9844-28877A*****'."\n"],
+ 'threadId' => ['description' => 'The thread ID.', 'type' => 'string', 'example' => 'thread_id01', 'title' => ''],
+ 'digitalEmployeeName' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'title' => ['description' => 'The thread\'s title.', 'type' => 'string', 'example' => 'testLive', 'title' => ''],
+ 'status' => ['description' => 'The thread\'s status.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'version' => ['description' => 'The thread\'s version.', 'type' => 'integer', 'format' => 'int64', 'example' => '1231', 'title' => ''],
+ 'createTime' => ['description' => 'The thread\'s creation time, in ISO 8601 format.', 'type' => 'string', 'example' => '2025-12-19T15:19:55.040403272+08:00'."\n", 'title' => ''],
+ 'updateTime' => ['description' => 'The thread\'s last update time, in ISO 8601 format.', 'type' => 'string', 'example' => '2025-12-19T15:19:55.040403272+08:00'."\n", 'title' => ''],
+ 'variables' => [
+ 'description' => 'The thread\'s variables.',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspace' => ['description' => 'The name of the workspace.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'project' => ['description' => 'The name of the SLS project.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'attributes' => [
+ 'title' => '',
+ 'description' => 'The thread\'s attributes.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => 'The value of a specific attribute.', 'type' => 'string', 'title' => '', 'example' => 'test'],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Retrieve session',
+ 'description' => 'Retrieves the details of a thread.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:GetThread',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/{#threadId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FDE2569-626B-5176-9844-28877A*****\\\\n\\",\\n \\"threadId\\": \\"thread_id01\\",\\n \\"digitalEmployeeName\\": \\"test\\",\\n \\"title\\": \\"testLive\\",\\n \\"status\\": \\"active\\",\\n \\"version\\": 1231,\\n \\"createTime\\": \\"2025-12-19T15:19:55.040403272+08:00\\\\n\\",\\n \\"updateTime\\": \\"2025-12-19T15:19:55.040403272+08:00\\\\n\\",\\n \\"variables\\": {\\n \\"workspace\\": \\"test\\",\\n \\"project\\": \\"test\\"\\n },\\n \\"attributes\\": {\\n \\"key\\": \\"test\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'GetThreadData' => [
+ 'summary' => 'Get session data',
+ 'path' => '/digitalEmployee/{name}/thread/{threadId}/data',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'threadId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The unique identifier for the thread.', 'type' => 'string', 'required' => true, 'example' => 'thread_id01', 'title' => ''],
+ ],
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The pagination cursor.', 'type' => 'string', 'required' => false, 'example' => 'xxxxxxxxxx', 'title' => ''],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of session entries to return. The maximum value is 100.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Response schema.',
+ 'type' => 'object',
+ 'properties' => [
+ 'maxResults' => ['description' => 'The maximum number of results to return.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''],
+ 'data' => [
+ 'title' => '',
+ 'description' => 'The message data.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => 'A container for messages and metadata for a single request trace.',
+ 'type' => 'object',
+ 'properties' => [
+ 'traceId' => ['description' => 'The unique ID that identifies the entire trace of a request.', 'type' => 'string', 'title' => '', 'example' => '3b5287b717636040171772050d0095'."\n"],
+ 'requestId' => ['description' => 'The ID of the original request that generated this message.', 'type' => 'string', 'title' => '', 'example' => '8FDE2569-626B-5176-9844-28877A*****'."\n"],
+ 'messages' => [
+ 'title' => '',
+ 'description' => 'A list of messages in the thread.',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => '',
+ 'description' => 'The structure of a message object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'version' => ['description' => 'The message data version.', 'type' => 'string', 'title' => '', 'example' => 'v0.1.0'."\n"],
+ 'parentCallId' => ['description' => 'The parent call ID.', 'type' => 'string', 'title' => '', 'example' => '3b5287b7176360'],
+ 'callId' => ['description' => 'The current call ID.', 'type' => 'string', 'title' => '', 'example' => '3b5287b7176360'],
+ 'role' => ['description' => 'The role that initiates the message.', 'type' => 'string', 'title' => '', 'example' => 'user'],
+ 'seq' => ['description' => 'The sequence number of the message.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'],
+ 'timestamp' => ['description' => 'The message creation time in nanoseconds since the Unix epoch.', 'type' => 'string', 'title' => '', 'example' => '1768702985000000000'],
+ 'type' => ['description' => 'The message type.', 'type' => 'string', 'title' => '', 'example' => 'task_finished'],
+ 'detail' => ['description' => 'The message details.', 'type' => 'string', 'title' => '', 'example' => 'context of model exceed'."\n"],
+ 'contents' => [
+ 'title' => '',
+ 'description' => 'The contents of the message.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The structure of a content item.', 'type' => 'object', 'title' => '', 'example' => '{'."\n"
+ .' "append": false,'."\n"
+ .' "lastChunk": false,'."\n"
+ .' "type": "text",'."\n"
+ .' "value": "result output chunk"'."\n"
+ .'}'],
+ 'example' => '',
+ ],
+ 'tools' => [
+ 'title' => '',
+ 'description' => 'A list of tools used to generate the message.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The structure of a tool object.', 'type' => 'object', 'title' => '', 'example' => '{'."\n"
+ .' "arguments": {'."\n"
+ .' "confidence": "high",'."\n"
+ .' "intent": "analyser",'."\n"
+ .' "is_new_turn": true,'."\n"
+ .' "language": "en",'."\n"
+ .' "title": "Root Cause of Alert"'."\n"
+ .' },'."\n"
+ .' "id": "IntentRecognition",'."\n"
+ .' "name": "IntentRecognition",'."\n"
+ .' "status": "start",'."\n"
+ .' "toolCallId": "019bc1cb-adad"'."\n"
+ .'}'],
+ 'example' => '',
+ ],
+ 'agents' => [
+ 'title' => '',
+ 'description' => 'A list of called agents.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The structure of an agent object.', 'type' => 'object', 'title' => '', 'example' => '{'."\n"
+ .' "callId": "019bc1cb-adad",'."\n"
+ .' "id": "analyser",'."\n"
+ .' "inputs": ['."\n"
+ .' {'."\n"
+ .' "append": false,'."\n"
+ .' "lastChunk": false,'."\n"
+ .' "type": "text",'."\n"
+ .' "value": "Analyze this trace: TraceID=xxx"'."\n"
+ .' }'."\n"
+ .' ],'."\n"
+ .' "name": "analyser",'."\n"
+ .' "status": "start"'."\n"
+ .'}'],
+ 'example' => '',
+ ],
+ 'events' => [
+ 'title' => '',
+ 'description' => 'A list of events.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The structure of an event object.', 'type' => 'object', 'title' => '', 'example' => '{'."\n"
+ .' "payload": {'."\n"
+ .' "error": {'."\n"
+ .' "code": "TASK_FAILED",'."\n"
+ .' "message": "Invalid task parameter",'."\n"
+ .' "suggestion": ""'."\n"
+ .' },'."\n"
+ .' "statistics": {'."\n"
+ .' "duration": 300000'."\n"
+ .' },'."\n"
+ .' "success": false'."\n"
+ .' },'."\n"
+ .' "type": "task_finished"'."\n"
+ .'}'."\n"],
+ 'example' => '',
+ ],
+ 'artifacts' => [
+ 'title' => '',
+ 'description' => 'A list of generated artifacts.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The structure of an artifact object.', 'type' => 'object', 'title' => '', 'example' => '{'."\n"
+ .' "artifactId": "019bc1cb-9600-703axxx",'."\n"
+ .' "name": "sql output",'."\n"
+ .' "description": "sql generation task result",'."\n"
+ .' "extensions": ["sql_generation_tool", "sql_diagnosis"],'."\n"
+ .' "metadata": {'."\n"
+ .' "model": "qwen3-coder-plus"'."\n"
+ .' },'."\n"
+ .' "parts": ['."\n"
+ .' {'."\n"
+ .' "text": "select * from table",'."\n"
+ .' "kind": "text"'."\n"
+ .' }'."\n"
+ .' ]'."\n"
+ .'}'],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ 'nextToken' => ['description' => 'The token to retrieve the next page of results. If this parameter is not returned, there are no more results.', 'type' => 'string', 'title' => '', 'example' => 'xxxxxxxxx'],
+ 'requestId' => ['description' => 'The unique ID for this GetThreadData API request.', 'type' => 'string', 'title' => '', 'example' => '8FDE2569-626B-5176-9844-28877A*****'."\n"],
+ 'threadId' => ['description' => 'The unique ID of the thread.', 'type' => 'string', 'title' => '', 'example' => 'thread_id01'],
+ 'digitalEmployeeName' => ['description' => 'The name of the current digital employee.', 'type' => 'string', 'title' => '', 'example' => 'test'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Retrieve Conversation Data',
+ 'description' => 'Gets session data.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:GetThreadData',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/{#threadId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"maxResults\\": 2,\\n \\"data\\": [\\n {\\n \\"traceId\\": \\"3b5287b717636040171772050d0095\\\\n\\",\\n \\"requestId\\": \\"8FDE2569-626B-5176-9844-28877A*****\\\\n\\",\\n \\"messages\\": [\\n {\\n \\"version\\": \\"v0.1.0\\\\n\\",\\n \\"parentCallId\\": \\"3b5287b7176360\\",\\n \\"callId\\": \\"3b5287b7176360\\",\\n \\"role\\": \\"user\\",\\n \\"seq\\": 0,\\n \\"timestamp\\": \\"1768702985000000000\\",\\n \\"type\\": \\"task_finished\\",\\n \\"detail\\": \\"context of model exceed\\\\n\\",\\n \\"contents\\": [\\n {\\n \\"append\\": false,\\n \\"lastChunk\\": false,\\n \\"type\\": \\"text\\",\\n \\"value\\": \\"result output chunk\\"\\n }\\n ],\\n \\"tools\\": [\\n {\\n \\"arguments\\": {\\n \\"confidence\\": \\"high\\",\\n \\"intent\\": \\"analyser\\",\\n \\"is_new_turn\\": true,\\n \\"language\\": \\"en\\",\\n \\"title\\": \\"Root Cause of Alert\\"\\n },\\n \\"id\\": \\"IntentRecognition\\",\\n \\"name\\": \\"IntentRecognition\\",\\n \\"status\\": \\"start\\",\\n \\"toolCallId\\": \\"019bc1cb-adad\\"\\n }\\n ],\\n \\"agents\\": [\\n {\\n \\"callId\\": \\"019bc1cb-adad\\",\\n \\"id\\": \\"analyser\\",\\n \\"inputs\\": [\\n {\\n \\"append\\": false,\\n \\"lastChunk\\": false,\\n \\"type\\": \\"text\\",\\n \\"value\\": \\"Analyze this trace: TraceID=xxx\\"\\n }\\n ],\\n \\"name\\": \\"analyser\\",\\n \\"status\\": \\"start\\"\\n }\\n ],\\n \\"events\\": [\\n {\\n \\"payload\\": {\\n \\"error\\": {\\n \\"code\\": \\"TASK_FAILED\\",\\n \\"message\\": \\"Invalid task parameter\\",\\n \\"suggestion\\": \\"\\"\\n },\\n \\"statistics\\": {\\n \\"duration\\": 300000\\n },\\n \\"success\\": false\\n },\\n \\"type\\": \\"task_finished\\"\\n }\\n ],\\n \\"artifacts\\": [\\n {\\n \\"artifactId\\": \\"019bc1cb-9600-703axxx\\",\\n \\"name\\": \\"sql output\\",\\n \\"description\\": \\"sql generation task result\\",\\n \\"extensions\\": [\\n \\"sql_generation_tool\\",\\n \\"sql_diagnosis\\"\\n ],\\n \\"metadata\\": {\\n \\"model\\": \\"qwen3-coder-plus\\"\\n },\\n \\"parts\\": [\\n {\\n \\"text\\": \\"select * from table\\",\\n \\"kind\\": \\"text\\"\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n }\\n ],\\n \\"nextToken\\": \\"xxxxxxxxx\\",\\n \\"requestId\\": \\"8FDE2569-626B-5176-9844-28877A*****\\\\n\\",\\n \\"threadId\\": \\"thread_id01\\",\\n \\"digitalEmployeeName\\": \\"test\\"\\n}","type":"json"}]',
+ ],
+ 'ListArtifacts' => [
+ 'summary' => 'Lists artifacts.',
+ 'path' => '/digitalEmployee/{name}/artifacts',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'artifactPath',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The artifact path from which to list artifacts. If this parameter is not specified, artifacts are listed from the root directory.', 'type' => 'string', 'required' => true, 'example' => 'missions/mission-xxx/artifacts/2026-05/05-01/', 'title' => ''],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of results to return. If more results are available, the response includes a `nextToken` to retrieve the next page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'required' => false, 'title' => ''],
+ ],
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token used to retrieve the next page of results. You can obtain this token from the `nextToken` parameter of a previous response.', 'type' => 'string', 'example' => 'xxx', 'required' => false, 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8FDE2569-626B-5176-9844-28877A*****'."\n", 'title' => ''],
+ 'artifacts' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'path' => ['description' => 'The path of the artifact.', 'type' => 'string', 'example' => 'missions/mission-xxx/artifacts/2026-05/05-01/xxxx.md', 'title' => ''],
+ 'size' => ['description' => 'The size of the artifact in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '21950', 'title' => ''],
+ 'lastModified' => ['description' => 'The time the artifact was last modified, in UTC.', 'type' => 'string', 'example' => '2026-04-30T16:03:54Z', 'title' => ''],
+ 'isDirectory' => ['description' => 'Specifies whether the item is a directory. A value of `true` indicates a directory and `false` indicates a file.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'description' => 'An artifact.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'The list of artifacts.',
+ 'title' => '',
+ 'example' => '[{"path":"reports/summary.pdf","size":1024,"lastModified":"2026-05-25T08:00:00Z","isDirectory":false}]',
+ ],
+ 'nextToken' => ['description' => 'The token for the next page of results. This parameter is returned only if more results are available. To retrieve the next page, use this token in the `nextToken` query parameter of your next request.', 'type' => 'string', 'example' => 'xxx', 'title' => ''],
+ 'maxResults' => ['description' => 'The maximum number of results returned on the current page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ ],
+ 'description' => 'The response body.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'ListArtifacts',
+ 'description' => 'Lists the artifacts for a specified digital employee.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'starops:ListArtifacts',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/artifact/*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FDE2569-626B-5176-9844-28877A*****\\\\n\\",\\n \\"artifacts\\": [\\n {\\n \\"path\\": \\"missions/mission-xxx/artifacts/2026-05/05-01/xxxx.md\\",\\n \\"size\\": 21950,\\n \\"lastModified\\": \\"2026-04-30T16:03:54Z\\",\\n \\"isDirectory\\": false\\n }\\n ],\\n \\"nextToken\\": \\"xxx\\",\\n \\"maxResults\\": 10\\n}","type":"json"}]',
+ ],
+ 'ListDigitalEmployeeSkillVersions' => [
+ 'summary' => 'Lists the versions of a skill.',
+ 'path' => '/digitalEmployee/{name}/skill/{skillName}/versions',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'skillName',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The skill name.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0B9377D9-C56B-5C2E-A8A4-A01D6CC3F4B8'."\n", 'title' => ''],
+ 'data' => [
+ 'description' => 'A list of previous skill versions.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A previous version of the skill.',
+ 'type' => 'object',
+ 'properties' => [
+ 'skillName' => ['description' => 'The skill name.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'displayName' => ['description' => 'The display name.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'enable' => ['description' => 'Indicates whether the skill version is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'updateTime' => ['description' => 'The time when the skill version was last updated.', 'type' => 'string', 'format' => 'iso8601_normal', 'example' => '2026-02-06T14:09:11Z'."\n", 'title' => ''],
+ 'version' => ['description' => 'The version number.', 'type' => 'string', 'example' => '1770386951147366810'."\n", 'title' => ''],
+ 'remark' => ['description' => 'The remark for the skill version.', 'type' => 'string', 'example' => 'remark', 'title' => ''],
+ 'createTime' => ['description' => 'The time when the skill version was created.', 'type' => 'string', 'format' => 'iso8601_normal', 'example' => '2026-02-06T14:09:11Z'."\n", 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => 'The data returned for the request.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'List historical versions of a skill ',
+ 'description' => 'Lists the previous versions of a skill.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'starops:ListDigitalEmployeeSkillVersions',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/{#skillName}'],
+ ],
+ ],
+ 'additionalActions' => [],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0B9377D9-C56B-5C2E-A8A4-A01D6CC3F4B8\\\\n\\",\\n \\"data\\": [\\n {\\n \\"skillName\\": \\"test\\",\\n \\"displayName\\": \\"test\\",\\n \\"description\\": \\"test\\",\\n \\"enable\\": true,\\n \\"updateTime\\": \\"2026-02-06T14:09:11Z\\\\n\\",\\n \\"version\\": \\"1770386951147366810\\\\n\\",\\n \\"remark\\": \\"remark\\",\\n \\"createTime\\": \\"2026-02-06T14:09:11Z\\\\n\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListDigitalEmployeeSkills' => [
+ 'path' => '/digitalEmployee/{name}/skills',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of entries to return in the response.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'required' => false, 'example' => '10', 'title' => ''],
+ ],
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The pagination token that is used in a subsequent request to retrieve the next page of results. To retrieve the first page, do not specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'sjC5rekx93Ew7K7VcmI3wkBZBYQ-GphB2ilQu3zJCGxoZuicwyJznfo2riTjr-lq', 'title' => ''],
+ ],
+ [
+ 'name' => 'skillName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the skill.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0CEC5375-XXXX-XXXX-XXXX-9A629907C1F0'."\n", 'title' => ''],
+ 'total' => ['description' => 'The total number of entries that match the query.', 'type' => 'integer', 'format' => 'int64', 'example' => '15', 'title' => ''],
+ 'maxResults' => ['description' => 'The maximum number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'nextToken' => ['description' => 'The pagination token to retrieve the next page of results. If this parameter is not returned, it indicates that no more results are available.', 'type' => 'string', 'example' => 'sjC5rekx93Ew7K7VcmI3wkBZBYQ-GphB2ilQu3zJCGxoZuicwyJznfo2riTjr-lq'."\n", 'title' => ''],
+ 'skills' => [
+ 'description' => 'The list of skills.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A skill.',
+ 'type' => 'object',
+ 'properties' => [
+ 'skillName' => ['description' => 'The name of the skill.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'displayName' => ['description' => 'The display name of the skill.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'description' => ['description' => 'The description of the skill.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'enable' => ['description' => 'Indicates whether the skill is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'createTime' => ['description' => 'The time at which the skill was created.', 'type' => 'string', 'format' => 'iso8601_normal', 'example' => '2026-02-06T14:09:11Z'."\n", 'title' => ''],
+ 'updateTime' => ['description' => 'The time at which the skill was last updated.', 'type' => 'string', 'format' => 'iso8601_normal', 'example' => '2026-02-06T14:09:11Z'."\n", 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'List skills ',
+ 'summary' => 'Lists the skills of a digital employee.',
+ 'description' => 'Lists the skills of a specified digital employee.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'starops:ListDigitalEmployeeSkills',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/*'],
+ ],
+ ],
+ 'additionalActions' => [],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0CEC5375-XXXX-XXXX-XXXX-9A629907C1F0\\\\n\\",\\n \\"total\\": 15,\\n \\"maxResults\\": 10,\\n \\"nextToken\\": \\"sjC5rekx93Ew7K7VcmI3wkBZBYQ-GphB2ilQu3zJCGxoZuicwyJznfo2riTjr-lq\\\\n\\",\\n \\"skills\\": [\\n {\\n \\"skillName\\": \\"test\\",\\n \\"displayName\\": \\"test\\",\\n \\"description\\": \\"test\\",\\n \\"enable\\": true,\\n \\"createTime\\": \\"2026-02-06T14:09:11Z\\\\n\\",\\n \\"updateTime\\": \\"2026-02-06T14:09:11Z\\\\n\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListDigitalEmployees' => [
+ 'path' => '/digital-employee',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 100. Default value: 20.', 'type' => 'integer', 'title' => '', 'format' => 'int32', 'maximum' => '100', 'minimum' => '0', 'required' => false, 'example' => '10'],
+ ],
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token that is used to retrieve the next page of results.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'xxxxxx'],
+ ],
+ [
+ 'name' => 'name',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'employeeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the digital employee.',
+ 'type' => 'string',
+ 'enum' => ['system', 'custom'],
+ 'required' => false,
+ 'example' => 'custom',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'displayName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The display name of the digital employee.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'tags',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The tags.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The tag.', '$ref' => '#/components/schemas/Tag', 'title' => '', 'required' => false, 'example' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'resourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-ae******ey', 'title' => '', 'required' => false],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '8FDE2569-626B-5176-9844-28877A*****'."\n", 'title' => ''],
+ 'nextToken' => ['description' => 'The token to retrieve the next page of results.', 'type' => 'string', 'example' => 'xxxxx', 'title' => ''],
+ 'total' => ['description' => 'The total count.', 'type' => 'integer', 'format' => 'int32', 'example' => '56', 'title' => ''],
+ 'maxResults' => ['description' => 'The maximum number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'digitalEmployees' => [
+ 'description' => 'A list of digital employees.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A digital employee.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'defaultRule' => ['description' => 'The default rule of the digital employee.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => 'test', 'title' => ''],
+ 'description' => ['description' => 'The description of the digital employee.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => 'test', 'title' => ''],
+ 'createTime' => ['description' => 'The creation time.', 'type' => 'string', 'format' => 'iso8601_normal', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => '2025-11-04T08:08:57Z'."\n", 'title' => ''],
+ 'displayName' => ['description' => 'The display name of the digital employee.', 'type' => 'string', 'deprecated' => false, 'maxLength' => 128, 'minLength' => 0, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => 'test', 'title' => ''],
+ 'updateTime' => ['description' => 'The modification time.', 'type' => 'string', 'format' => 'iso8601_normal', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => '2025-05-07T02:26:01Z'."\n", 'title' => ''],
+ 'roleArn' => ['description' => 'The RAM role ARN.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => 'acs:ram::12345678912:role/testrole'."\n", 'title' => ''],
+ 'knowledges' => [
+ 'description' => 'A list of knowledge bases.',
+ 'type' => 'object',
+ 'properties' => [
+ 'bailian' => [
+ 'description' => 'A list of Model Studio knowledge bases.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A knowledge base in Model Studio.',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['description' => 'The ID of the Model Studio workspace.', 'type' => 'string', 'example' => 'llm-xxxx'."\n", 'title' => ''],
+ 'indexId' => ['description' => 'The ID of the Model Studio index.', 'type' => 'string', 'example' => 'index-xxxx'."\n", 'title' => ''],
+ 'region' => ['description' => 'The region of the knowledge base.', 'type' => 'string', 'example' => 'cn-beijing'."\n", 'title' => ''],
+ 'attributes' => ['description' => 'The attributes of the knowledge base.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'sop' => [
+ 'description' => 'A list of SOP knowledge bases.',
+ 'type' => 'array',
+ 'items' => ['description' => 'An SOP knowledge base.', 'type' => 'object', 'example' => '{'."\n"
+ .' "type": "oss",'."\n"
+ .' "basePath": "docs/",'."\n"
+ .' "region": "cn-hangzhou",'."\n"
+ .' "endpoint": "oss-cn-hangzhou.aliyuncs.com",'."\n"
+ .' "bucket": "my-sop-bucket",'."\n"
+ .' "description": "sls sop"'."\n"
+ .' }', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'employeeType' => ['description' => 'The type of the digital employee.', 'type' => 'string', 'example' => 'custom', 'title' => ''],
+ 'resourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-ae******ey', 'title' => ''],
+ 'tags' => [
+ 'title' => '',
+ 'description' => 'A list of tags.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A tag.', '$ref' => '#/components/schemas/Tag', 'title' => '', 'example' => ''],
+ 'example' => '',
+ ],
+ 'attributes' => [
+ 'type' => 'object',
+ 'deprecated' => false,
+ 'additionalProperties' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'readOnly' => false,
+ 'description' => 'The custom attributes of the digital employee.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'List digital employees ',
+ 'summary' => 'Returns a list of digital employees.',
+ 'description' => 'Lists digital employees.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'starops:ListDigitalEmployees',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FDE2569-626B-5176-9844-28877A*****\\\\n\\",\\n \\"nextToken\\": \\"xxxxx\\",\\n \\"total\\": 56,\\n \\"maxResults\\": 10,\\n \\"digitalEmployees\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"defaultRule\\": \\"test\\",\\n \\"description\\": \\"test\\",\\n \\"createTime\\": \\"2025-11-04T08:08:57Z\\\\n\\",\\n \\"displayName\\": \\"test\\",\\n \\"updateTime\\": \\"2025-05-07T02:26:01Z\\\\n\\",\\n \\"roleArn\\": \\"acs:ram::12345678912:role/testrole\\\\n\\",\\n \\"knowledges\\": {\\n \\"bailian\\": [\\n {\\n \\"workspaceId\\": \\"llm-xxxx\\\\n\\",\\n \\"indexId\\": \\"index-xxxx\\\\n\\",\\n \\"region\\": \\"cn-beijing\\\\n\\",\\n \\"attributes\\": \\"test\\"\\n }\\n ],\\n \\"sop\\": [\\n {\\n \\"type\\": \\"oss\\",\\n \\"basePath\\": \\"docs/\\",\\n \\"region\\": \\"cn-hangzhou\\",\\n \\"endpoint\\": \\"oss-cn-hangzhou.aliyuncs.com\\",\\n \\"bucket\\": \\"my-sop-bucket\\",\\n \\"description\\": \\"sls sop\\"\\n }\\n ]\\n },\\n \\"employeeType\\": \\"custom\\",\\n \\"resourceGroupId\\": \\"rg-ae******ey\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"test-key\\",\\n \\"value\\": \\"test-value\\"\\n }\\n ],\\n \\"attributes\\": {\\n \\"key\\": \\"\\"\\n }\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListMcpServices' => [
+ 'path' => '/digitalEmployee/{name}/mcpServices',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test-agent', 'title' => ''],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of entries to return in this query.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '500', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The pagination token for the next query.', 'type' => 'string', 'required' => false, 'example' => 'eyJvZmZzZXQiOjIwfQ==', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0B9377D9-C56B-5C2E-A8A4-************', 'title' => ''],
+ 'total' => ['description' => 'The total number of MCP services that match the query conditions.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
+ 'maxResults' => ['description' => 'The maximum number of entries to return in this query.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
+ 'nextToken' => ['description' => 'The pagination token for the next query.', 'type' => 'string', 'example' => 'eyJvZmZzZXQiOjIwfQ==', 'title' => ''],
+ 'mcpServices' => [
+ 'description' => 'The paginated results of MCP services.',
+ 'type' => 'object',
+ 'properties' => [
+ 'mcpServiceList' => [
+ 'description' => 'The list of MCP services.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about a single MCP service.',
+ 'type' => 'object',
+ 'properties' => [
+ 'displayName' => ['description' => 'The display name of the MCP service.', 'type' => 'string', 'example' => '日志查询', 'title' => ''],
+ 'description' => ['description' => 'The description of the MCP service.', 'type' => 'string', 'example' => '通过 MCP 调用日志查询工具。', 'title' => ''],
+ 'enable' => ['description' => 'Indicates whether the MCP service is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'network' => [
+ 'description' => 'The network connectivity information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'mode' => [
+ 'description' => 'The network access mode of the MCP service. Valid values: public and vpc.',
+ 'type' => 'string',
+ 'enum' => ['public', 'vpc'],
+ 'example' => 'public',
+ 'title' => '',
+ ],
+ 'vpcId' => ['description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-xxx', 'title' => ''],
+ 'vswId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-xxx', 'title' => ''],
+ 'accessIp' => ['description' => 'The IP address used to access the MCP service over the VPC network.', 'type' => 'string', 'example' => '10.0.0.12', 'title' => ''],
+ 'accessPort' => ['description' => 'The port used to access the MCP service over the VPC network. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int64', 'example' => '8080', 'title' => ''],
+ 'securityGroupId' => ['description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-xxx', 'title' => ''],
+ 'gatewayId' => ['description' => 'The gateway ID.', 'type' => 'string', 'example' => 'gw-xxx', 'title' => ''],
+ 'mcpServerId' => ['description' => 'The MCP Server instance ID.', 'type' => 'string', 'example' => 'mcp-xxx', 'title' => ''],
+ 'region' => ['description' => 'The region where the VPC network is located.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'connection' => [
+ 'description' => 'The connection configuration of the MCP service.',
+ 'type' => 'object',
+ 'properties' => [
+ 'platform' => [
+ 'description' => 'The platform type of the MCP service. Valid values: AIGateway and Custom.',
+ 'type' => 'string',
+ 'enum' => ['AIGateway', 'Custom'],
+ 'example' => 'Custom',
+ 'title' => '',
+ ],
+ 'transport' => [
+ 'description' => 'The transport protocol of the MCP service. Valid values: http and sse.',
+ 'type' => 'string',
+ 'enum' => ['http', 'sse'],
+ 'example' => 'http',
+ 'title' => '',
+ ],
+ 'endpoint' => ['description' => 'The access endpoint of the MCP service.', 'type' => 'string', 'example' => 'https://example.com/mcp', 'title' => ''],
+ 'timeout' => ['description' => 'The timeout period for requests to the MCP service. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '5000', 'title' => ''],
+ 'auth' => [
+ 'description' => 'The authentication configuration of the MCP service.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => [
+ 'description' => 'The authentication type. Currently, bearer is supported.',
+ 'type' => 'string',
+ 'enum' => ['bearer'],
+ 'example' => 'bearer',
+ 'title' => '',
+ ],
+ 'keyInfo' => [
+ 'description' => 'The key-value information required for authentication.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => '认证键值信息。', 'type' => 'string', 'example' => 'example-token', 'title' => ''],
+ 'example' => '{"token":"example-token"}',
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'tools' => [
+ 'description' => 'The list of MCP tools.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The configuration of a single MCP tool.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the MCP tool.', 'type' => 'string', 'example' => 'query_logs', 'title' => ''],
+ 'title' => ['description' => 'The title of the MCP tool.', 'type' => 'string', 'example' => '查询日志', 'title' => ''],
+ 'displayName' => ['description' => 'The display name of the MCP tool.', 'type' => 'string', 'example' => '日志查询工具', 'title' => ''],
+ 'description' => ['description' => 'The description of the MCP tool.', 'type' => 'string', 'example' => '查询指定日志库中的日志。', 'title' => ''],
+ 'inputSchema' => [
+ 'description' => 'The JSON Schema of the MCP tool input parameters.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => 'MCP 工具输入 Schema 扩展字段。', 'type' => 'any', 'example' => '{"type":"string"}', 'title' => ''],
+ 'example' => '{"type":"object","properties":{"query":{"type":"string"}},"required":["query"]}',
+ 'title' => '',
+ ],
+ 'outputSchema' => [
+ 'description' => 'The JSON Schema of the MCP tool output results.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => 'MCP 工具输出 Schema 扩展字段。', 'type' => 'any', 'example' => '{"type":"string"}', 'title' => ''],
+ 'example' => '{"type":"object"}',
+ 'title' => '',
+ ],
+ 'icons' => [
+ 'description' => 'The list of MCP tool icons.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The configuration of a single MCP tool.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => '工具图标扩展字段。', 'type' => 'any', 'example' => 'https://example.com/icon.png', 'title' => ''],
+ 'example' => '[]',
+ 'title' => '',
+ ],
+ 'example' => '[]',
+ 'title' => '',
+ ],
+ 'execution' => [
+ 'description' => 'The execution configuration of the MCP tool.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => '工具执行配置扩展字段。', 'type' => 'any', 'example' => '{}', 'title' => ''],
+ 'example' => '{}',
+ 'title' => '',
+ ],
+ 'annotations' => [
+ 'description' => 'The annotation information of the MCP tool.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => '工具注解扩展字段。', 'type' => 'any', 'example' => '{}', 'title' => ''],
+ 'example' => '{}',
+ 'title' => '',
+ ],
+ 'enable' => ['description' => 'Indicates whether the MCP tool is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'confirm' => ['description' => 'Indicates whether user confirmation is required before calling the MCP tool.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'example' => '[{"name":"query_logs"}]',
+ 'title' => '',
+ ],
+ 'example' => '[{"name":"query_logs"}]',
+ 'title' => '',
+ ],
+ 'mcpServiceName' => ['description' => 'The service name of the MCP service.', 'type' => 'string', 'example' => 'log-query', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'List MCP services',
+ 'summary' => 'Queries a list of MCP services.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'starops:ListMcpServices',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/mcpservice/*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0B9377D9-C56B-5C2E-A8A4-************\\",\\n \\"total\\": 10,\\n \\"maxResults\\": 20,\\n \\"nextToken\\": \\"eyJvZmZzZXQiOjIwfQ==\\",\\n \\"mcpServices\\": {\\n \\"mcpServiceList\\": [\\n {\\n \\"displayName\\": \\"日志查询\\",\\n \\"description\\": \\"通过 MCP 调用日志查询工具。\\",\\n \\"enable\\": true,\\n \\"network\\": {\\n \\"mode\\": \\"public\\",\\n \\"vpcId\\": \\"vpc-xxx\\",\\n \\"vswId\\": \\"vsw-xxx\\",\\n \\"accessIp\\": \\"10.0.0.12\\",\\n \\"accessPort\\": 8080,\\n \\"securityGroupId\\": \\"sg-xxx\\",\\n \\"gatewayId\\": \\"gw-xxx\\",\\n \\"mcpServerId\\": \\"mcp-xxx\\",\\n \\"region\\": \\"cn-hangzhou\\"\\n },\\n \\"connection\\": {\\n \\"platform\\": \\"Custom\\",\\n \\"transport\\": \\"http\\",\\n \\"endpoint\\": \\"https://example.com/mcp\\",\\n \\"timeout\\": 5000,\\n \\"auth\\": {\\n \\"type\\": \\"bearer\\",\\n \\"keyInfo\\": {\\n \\"key\\": \\"example-token\\"\\n }\\n }\\n },\\n \\"tools\\": [\\n {\\n \\"name\\": \\"query_logs\\",\\n \\"title\\": \\"查询日志\\",\\n \\"displayName\\": \\"日志查询工具\\",\\n \\"description\\": \\"查询指定日志库中的日志。\\",\\n \\"inputSchema\\": {\\n \\"key\\": \\"{\\\\\\"type\\\\\\":\\\\\\"string\\\\\\"}\\"\\n },\\n \\"outputSchema\\": {\\n \\"key\\": \\"{\\\\\\"type\\\\\\":\\\\\\"string\\\\\\"}\\"\\n },\\n \\"icons\\": [\\n {\\n \\"key\\": \\"https://example.com/icon.png\\"\\n }\\n ],\\n \\"execution\\": {\\n \\"key\\": \\"{}\\"\\n },\\n \\"annotations\\": {\\n \\"key\\": \\"{}\\"\\n },\\n \\"enable\\": true,\\n \\"confirm\\": false\\n }\\n ],\\n \\"mcpServiceName\\": \\"log-query\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'ListThreads' => [
+ 'summary' => 'List sessions',
+ 'path' => '/digitalEmployee/{name}/threads',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital worker.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'status',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The status of the thread.', 'type' => 'string', 'required' => false, 'example' => 'active', 'title' => ''],
+ ],
+ [
+ 'name' => 'threadId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The thread ID.', 'type' => 'string', 'required' => false, 'example' => 'thread-123123'."\n", 'title' => ''],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of results to return. Maximum value: 200.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The pagination token.', 'type' => 'string', 'required' => false, 'example' => 'xxxxxx', 'title' => ''],
+ ],
+ [
+ 'name' => 'filter',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'Filters the results. If this parameter is omitted, the operation returns all threads in the instance.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A filter object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => 'The filter key. Supported values are title, workspace, and project.', 'type' => 'string', 'required' => true, 'example' => 'title', 'title' => ''],
+ 'value' => ['description' => 'The value for the filter key.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'includeMission',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to include threads created by missions.', 'type' => 'boolean', 'default' => 'true', 'title' => '', 'required' => false, 'example' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CD8BA7D6-995D-578D-9941-xxxx'."\n"],
+ 'threadId' => ['description' => 'The thread ID.', 'type' => 'string', 'example' => 'thread-123123'."\n", 'title' => ''],
+ 'total' => ['description' => 'The total number of threads.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'maxResults' => ['description' => 'The maximum number of results to return. The maximum value is 200.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''],
+ 'threads' => [
+ 'description' => 'A list of threads.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A thread object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'threadId' => ['description' => 'The thread ID.', 'type' => 'string', 'example' => 'thread-123123'."\n", 'title' => ''],
+ 'digitalEmployeeName' => ['description' => 'The digital employee name.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'title' => ['description' => 'The thread title.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'status' => ['description' => 'The thread status.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'version' => ['description' => 'The thread version.', 'type' => 'integer', 'format' => 'int64', 'example' => '123123', 'title' => ''],
+ 'variables' => [
+ 'description' => 'The thread variables.',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspace' => ['description' => 'The workspace.', 'type' => 'string', 'example' => 'workspace', 'title' => ''],
+ 'project' => ['description' => 'The project in SLS.', 'type' => 'string', 'example' => 'project', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'createTime' => ['description' => 'The creation time of the thread, in ISO 8601 format.', 'type' => 'string', 'example' => '2025-12-19T15:19:55.040403272+08:00'."\n", 'title' => ''],
+ 'updateTime' => ['description' => 'The last update time of the thread, in ISO 8601 format.', 'type' => 'string', 'example' => '2025-12-19T15:19:55.040403272+08:00'."\n", 'title' => ''],
+ 'attributes' => [
+ 'title' => '',
+ 'description' => 'A map of key-value pairs that you can attach to the thread.',
+ 'type' => 'object',
+ 'additionalProperties' => ['description' => 'The attribute value.', 'type' => 'string', 'title' => '', 'example' => 'test'],
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'nextToken' => ['description' => 'A token to retrieve the next page of results. If this parameter is absent, no more results are available.', 'type' => 'string', 'example' => 'xxxxxxxxxx', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'List sessions ',
+ 'description' => 'List sessions',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:ListThreads',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CD8BA7D6-995D-578D-9941-xxxx\\\\n\\",\\n \\"threadId\\": \\"thread-123123\\\\n\\",\\n \\"total\\": 1,\\n \\"maxResults\\": 20,\\n \\"threads\\": [\\n {\\n \\"threadId\\": \\"thread-123123\\\\n\\",\\n \\"digitalEmployeeName\\": \\"test\\",\\n \\"title\\": \\"test\\",\\n \\"status\\": \\"active\\",\\n \\"version\\": 123123,\\n \\"variables\\": {\\n \\"workspace\\": \\"workspace\\",\\n \\"project\\": \\"project\\"\\n },\\n \\"createTime\\": \\"2025-12-19T15:19:55.040403272+08:00\\\\n\\",\\n \\"updateTime\\": \\"2025-12-19T15:19:55.040403272+08:00\\\\n\\",\\n \\"attributes\\": {\\n \\"key\\": \\"test\\"\\n }\\n }\\n ],\\n \\"nextToken\\": \\"xxxxxxxxxx\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateDigitalEmployee' => [
+ 'path' => '/digital-employee/{name}',
+ 'methods' => ['patch'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The digital employee structure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'defaultRule' => ['description' => 'The default rule of the digital employee.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'description' => ['description' => 'The description of the digital employee.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'displayName' => [
+ 'description' => 'The display name of the digital employee.', 'type' => 'string', 'deprecated' => false, 'maxLength' => 128, 'minLength' => 0, 'pattern' => '', 'readOnly' => false, 'default' => '', 'required' => false, 'example' => 'test',
+ 'title' => '',
+ ],
+ 'roleArn' => ['description' => 'The ARN of the RAM role.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'required' => false, 'example' => 'acs:ram::12345678912:role/testrole'."\n", 'title' => ''],
+ 'knowledges' => [
+ 'description' => 'The knowledge base list.',
+ 'type' => 'object',
+ 'properties' => [
+ 'bailian' => [
+ 'description' => 'The Bailian knowledge base list.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The Bailian knowledge base list.',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['description' => 'The Bailian workspace ID.', 'type' => 'string', 'required' => false, 'example' => 'llm-xxxx'."\n", 'title' => ''],
+ 'indexId' => ['description' => 'The Bailian index ID.', 'type' => 'string', 'required' => false, 'example' => 'index-xxxx'."\n", 'title' => ''],
+ 'region' => ['description' => 'The region of the knowledge base.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'."\n", 'title' => ''],
+ 'attributes' => ['description' => 'The attributes of the knowledge base.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'sop' => [
+ 'description' => 'The SOP knowledge base list.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The SOP knowledge base.', 'type' => 'object', 'required' => false, 'example' => '{'."\n"
+ .' "type": "oss",'."\n"
+ .' "basePath": "docs/",'."\n"
+ .' "region": "cn-hangzhou",'."\n"
+ .' "endpoint": "oss-cn-hangzhou.aliyuncs.com",'."\n"
+ .' "bucket": "my-sop-bucket",'."\n"
+ .' "description": "sls sop"'."\n"
+ .' }', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'attributes' => [
+ 'type' => 'object',
+ 'deprecated' => false,
+ 'additionalProperties' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'readOnly' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'toolPolicy' => [
+ 'description' => 'The tool calling security policy configuration of the digital employee.',
+ 'type' => 'object',
+ 'properties' => [
+ 'aliyun' => [
+ 'description' => 'The Aliyun MCP tool calling security policy configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => 'Specifies whether to enable the Aliyun MCP tool policy.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'statements' => [
+ 'description' => 'The list of Aliyun OpenAPI tool policy statements.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A single Aliyun OpenAPI tool policy statement.',
+ 'type' => 'object',
+ 'properties' => [
+ 'decision' => [
+ 'description' => 'The execution policy when the API is matched.',
+ 'type' => 'string',
+ 'example' => 'user_ack',
+ 'enum' => ['deny', 'user_ack', 'allow'],
+ 'title' => '',
+ ],
+ 'product' => ['description' => 'The Aliyun OpenAPI product name that this statement applies to.', 'type' => 'string', 'required' => false, 'example' => 'Sls', 'title' => ''],
+ 'apiVersion' => ['description' => 'The Aliyun OpenAPI version that this statement applies to.', 'type' => 'string', 'required' => false, 'example' => '2020-12-30', 'title' => ''],
+ 'actions' => [
+ 'description' => 'The list of Aliyun OpenAPI actions. The format is product:ApiName, product:Prefix*, or product:*.',
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'example' => 'log:GetProject', 'description' => '', 'title' => ''],
+ 'example' => '["log:GetProject","log:CreateDashboard"]',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}',
+ 'title' => '',
+ ],
+ 'example' => '[{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}]',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '{"enable":true,"statements":[{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}]}',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '{"aliyun":{"enable":true,"statements":[{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}]}}',
+ 'title' => '',
+ ],
+ 'sandboxNetworkPolicy' => [
+ 'description' => 'The sandbox network ACL policy configuration of the digital employee.',
+ 'type' => 'object',
+ 'properties' => [
+ 'allowFqdns' => [
+ 'description' => 'The list of allowed FQDNs. A maximum of 50 entries are supported.',
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'allowCidrs' => [
+ 'description' => 'The list of allowed CIDRs or IP addresses. A maximum of 50 entries are supported.',
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'enableAcl' => ['description' => 'Specifies whether to enable the sandbox network ACL.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'example' => '{"allowFqdns":["api.example.com"],"allowCidrs":["1.2.3.0/24","8.8.8.8"],"enableAcl":false}',
+ 'title' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0CEC5375-C554-562B-A65F-***'."\n", 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Update a digital employee',
+ 'summary' => 'Updates a digital employee.',
+ 'description' => 'Updates a digital employee.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'starops:UpdateDigitalEmployee',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0CEC5375-C554-562B-A65F-***\\\\n\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateDigitalEmployeeSkill' => [
+ 'summary' => 'Updates a skill for a digital employee.',
+ 'path' => '/digitalEmployee/{name}/skill/{skillName}',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'skillName',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the skill.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The request body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'displayName' => ['description' => 'The display name of the skill.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'description' => ['description' => 'The description of the skill.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'enable' => ['description' => 'Specifies whether the skill is enabled.', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''],
+ 'files' => [
+ 'description' => 'An array of skill files.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A skill file object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the skill file.', 'type' => 'string', 'required' => false, 'example' => 'SKILL.md'."\n", 'title' => ''],
+ 'content' => ['description' => 'The content of the skill file.', 'type' => 'string', 'required' => false, 'example' => '---'."\n"
+ .'name: skill'."\n"
+ .'description: description'."\n"
+ .'---'."\n"
+ ."\n"
+ .'# skill '."\n"
+ ."\n"
+ .'skill test', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'remark' => ['description' => 'Notes or comments about the skill.', 'type' => 'string', 'required' => false, 'example' => 'remark', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '350779DC-980D-58FD-BECB-D2275D2487CA'."\n", 'title' => ''],
+ ],
+ 'description' => 'The data returned for a successful request.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Update skill ',
+ 'description' => 'This operation updates a skill for a specified digital employee.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'starops:UpdateDigitalEmployeeSkill',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/{#skillName}'],
+ ],
+ ],
+ 'additionalActions' => [],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"350779DC-980D-58FD-BECB-D2275D2487CA\\\\n\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateMcpService' => [
+ 'path' => '/digitalEmployee/{name}/mcpService/{mcpServiceName}',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the digital employee.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'test-agent', 'title' => ''],
+ ],
+ [
+ 'name' => 'mcpServiceName',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The service name of the MCP service.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'log-query', 'title' => ''],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'displayName' => ['description' => 'The display name of the MCP service.', 'type' => 'string', 'required' => false, 'example' => '日志查询', 'title' => ''],
+ 'description' => ['description' => 'The description of the MCP service.', 'type' => 'string', 'required' => false, 'example' => '通过 MCP 调用日志查询工具。', 'title' => ''],
+ 'enable' => ['description' => 'Specifies whether to enable the MCP service.', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''],
+ 'network' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'mode' => [
+ 'description' => 'The network access mode of the MCP service. Valid values: public and vpc.',
+ 'type' => 'string',
+ 'required' => true,
+ 'enum' => ['public', 'vpc'],
+ 'example' => 'public',
+ 'title' => '',
+ ],
+ 'vpcId' => ['description' => 'The virtual private cloud (VPC) ID.', 'type' => 'string', 'required' => false, 'example' => 'vpc-xxx', 'title' => ''],
+ 'vswId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'required' => false, 'example' => 'vsw-xxx', 'title' => ''],
+ 'accessIp' => ['description' => 'The IP address used to access the MCP service over the VPC network.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.12', 'title' => ''],
+ 'accessPort' => ['description' => 'The port used to access the MCP service over the VPC network. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '8080', 'title' => ''],
+ 'securityGroupId' => ['description' => 'The security group ID.', 'type' => 'string', 'required' => false, 'example' => 'sg-xxx', 'title' => ''],
+ 'gatewayId' => ['description' => 'The gateway ID.', 'type' => 'string', 'required' => false, 'example' => 'gw-xxx', 'title' => ''],
+ 'mcpServerId' => ['description' => 'The MCP Server instance ID.', 'type' => 'string', 'required' => false, 'example' => 'mcp-xxx', 'title' => ''],
+ 'region' => ['description' => 'The region where the VPC network resides.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'connection' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'platform' => [
+ 'description' => 'The platform type of the MCP service. Valid values: AIGateway and Custom.',
+ 'type' => 'string',
+ 'required' => true,
+ 'enum' => ['AIGateway', 'Custom'],
+ 'example' => 'Custom',
+ 'title' => '',
+ ],
+ 'transport' => [
+ 'description' => 'The transport protocol of the MCP service. Valid values: http and sse.',
+ 'type' => 'string',
+ 'required' => true,
+ 'enum' => ['http', 'sse'],
+ 'example' => 'http',
+ 'title' => '',
+ ],
+ 'endpoint' => ['description' => 'The access endpoint of the MCP service.', 'type' => 'string', 'required' => true, 'example' => 'https://example.com/mcp', 'title' => ''],
+ 'timeout' => ['description' => 'The timeout period for requests to the MCP service. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '5000', 'title' => ''],
+ 'auth' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => [
+ 'description' => 'The authentication type. Currently, only bearer is supported.',
+ 'type' => 'string',
+ 'enum' => ['bearer'],
+ 'required' => false,
+ 'example' => 'bearer',
+ 'title' => '',
+ ],
+ 'keyInfo' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '认证键值信息。', 'type' => 'string', 'example' => 'example-token', 'title' => ''],
+ 'example' => '{"token":"example-token"}',
+ 'title' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'tools' => [
+ 'description' => 'The list of MCP tools.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'The name of the MCP tool.', 'type' => 'string', 'required' => true, 'minLength' => 1, 'example' => 'query_logs', 'title' => ''],
+ 'title' => ['description' => 'The title of the MCP tool.', 'type' => 'string', 'required' => false, 'example' => '查询日志', 'title' => ''],
+ 'displayName' => ['description' => 'The display name of the MCP tool.', 'type' => 'string', 'required' => false, 'example' => '日志查询工具', 'title' => ''],
+ 'description' => ['description' => 'The description of the MCP tool.', 'type' => 'string', 'required' => false, 'example' => '查询指定日志库中的日志。', 'title' => ''],
+ 'inputSchema' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => true,
+ 'additionalProperties' => ['description' => 'MCP 工具输入 Schema 扩展字段。', 'type' => 'any', 'example' => '{"type":"string"}', 'title' => ''],
+ 'example' => '{"type":"object","properties":{"query":{"type":"string"}},"required":["query"]}',
+ 'title' => '',
+ ],
+ 'outputSchema' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => 'MCP 工具输出 Schema 扩展字段。', 'type' => 'any', 'example' => '{"type":"string"}', 'title' => ''],
+ 'example' => '{"type":"object"}',
+ 'title' => '',
+ ],
+ 'icons' => [
+ 'description' => 'The list of icons for the MCP tool.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '工具图标扩展字段。', 'type' => 'any', 'example' => 'https://example.com/icon.png', 'title' => ''],
+ 'example' => '[]',
+ 'title' => '',
+ ],
+ 'required' => false,
+ 'example' => '[]',
+ 'title' => '',
+ ],
+ 'execution' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '工具执行配置扩展字段。', 'type' => 'any', 'example' => '{}', 'title' => ''],
+ 'example' => '{}',
+ 'title' => '',
+ ],
+ 'annotations' => [
+ 'description' => 'The request body parameters.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => '工具注解扩展字段。', 'type' => 'any', 'example' => '{}', 'title' => ''],
+ 'example' => '{}',
+ 'title' => '',
+ ],
+ 'enable' => ['description' => 'Specifies whether to enable the MCP tool.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ 'confirm' => ['description' => 'Specifies whether user confirmation is required before calling the MCP tool.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ 'required' => false,
+ 'example' => '[{"name":"query_logs"}]',
+ 'title' => '',
+ ],
+ 'required' => true,
+ 'example' => '[{"name":"query_logs"}]',
+ 'title' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0B9377D9-C56B-5C2E-A8A4-************', 'title' => ''],
+ 'mcpServiceName' => ['description' => 'The service name of the MCP service.', 'type' => 'string', 'example' => 'log-query', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Update an MCP service',
+ 'summary' => 'Updates an MCP service.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'starops:UpdateMcpService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/mcpservice/{#mcpServiceName}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0B9377D9-C56B-5C2E-A8A4-************\\",\\n \\"mcpServiceName\\": \\"log-query\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateThread' => [
+ 'summary' => 'Updates a thread.',
+ 'path' => '/digitalEmployee/{name}/thread/{threadId}',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'name',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The name of the Digital Employee.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'threadId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The ID of the thread.', 'type' => 'string', 'required' => true, 'example' => 'thread-12313'."\n", 'title' => ''],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The request body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'title' => ['description' => 'The title of the thread.', 'type' => 'string', 'required' => false, 'example' => 'title', 'title' => ''],
+ 'status' => [
+ 'description' => 'The status of the thread.',
+ 'type' => 'string',
+ 'enum' => ['active', 'archived', 'failed', 'suspended', 'cancelled', 'unknown'],
+ 'required' => false,
+ 'example' => 'active',
+ 'title' => '',
+ ],
+ 'attributes' => [
+ 'title' => '',
+ 'description' => 'The attributes of the thread.',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['description' => 'The value of an attribute.', 'type' => 'string', 'title' => '', 'example' => 'test'],
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '264C3E89-XXXX-XXXX-XXXX-CE9C2196C7DC'],
+ 'threadId' => ['description' => 'The ID of the thread.', 'type' => 'string', 'example' => 'thread-12313'."\n", 'title' => ''],
+ 'version' => ['description' => 'The version number.', 'type' => 'integer', 'format' => 'int64', 'example' => '123123', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Update session',
+ 'description' => 'Updates a thread.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'starops:UpdateThread',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/{#threadId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"264C3E89-XXXX-XXXX-XXXX-CE9C2196C7DC\\",\\n \\"threadId\\": \\"thread-12313\\\\n\\",\\n \\"version\\": 123123\\n}","type":"json"}]',
+ ],
+ ],
+ 'endpoints' => [
+ ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'starops.cn-beijing.aliyuncs.com', 'endpoint' => 'starops.cn-beijing.aliyuncs.com', 'vpc' => 'starops-vpc.cn-beijing.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'starops.ap-southeast-1.aliyuncs.com', 'endpoint' => 'starops.ap-southeast-1.aliyuncs.com', 'vpc' => 'starops-vpc.ap-southeast-1.aliyuncs.com'],
+ ],
+ 'errorCodes' => [],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ram' => [
+ 'productCode' => 'STAROps',
+ 'productName' => 'Agentic Operations Platform STAROps',
+ 'ramCodes' => ['starops'],
+ 'ramLevel' => 'RESOURCE',
+ 'ramConditions' => [],
+ 'ramActions' => [
+ [
+ 'apiName' => 'UpdateThread',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'starops:UpdateThread',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/{#threadId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateDigitalEmployeeSkill',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'additionalActions' => [],
+ 'ramAction' => [
+ 'action' => 'starops:UpdateDigitalEmployeeSkill',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/{#skillName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteMcpService',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'starops:DeleteMcpService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/mcpservice/{#mcpServiceName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateMcpService',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'starops:UpdateMcpService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/mcpservice/{#mcpServiceName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetDigitalEmployee',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:GetDigitalEmployee',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListArtifacts',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'starops:ListArtifacts',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/artifact/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListDigitalEmployeeSkillVersions',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'additionalActions' => [],
+ 'ramAction' => [
+ 'action' => 'starops:ListDigitalEmployeeSkillVersions',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/{#skillName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'FetchRemoteMcpTools',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'starops:FetchRemoteMcpTools',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetMcpService',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:GetMcpService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/mcpservice/{#mcpServiceName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateDigitalEmployee',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'additionalActions' => [
+ ['action' => 'ram:PassRole', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'starops:CreateDigitalEmployee',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetArtifact',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:GetArtifact',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/artifact/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateTicket',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'starops:CreateTicket',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateDigitalEmployeeSkill',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'additionalActions' => [],
+ 'ramAction' => [
+ 'action' => 'starops:CreateDigitalEmployeeSkill',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/{#skillName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteDigitalEmployeeSkill',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'additionalActions' => [],
+ 'ramAction' => [
+ 'action' => 'starops:DeleteDigitalEmployeeSkill',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/{#skillName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetThread',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:GetThread',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/{#threadId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListDigitalEmployees',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'starops:ListDigitalEmployees',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateThread',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'starops:CreateThread',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateDigitalEmployee',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'starops:UpdateDigitalEmployee',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteThread',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'starops:DeleteThread',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/{#threadId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteDigitalEmployee',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'starops:DeleteDigitalEmployee',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListThreads',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:ListThreads',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetDigitalEmployeeSkill',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [],
+ 'ramAction' => [
+ 'action' => 'starops:GetDigitalEmployeeSkill',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/{#skillName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListMcpServices',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'starops:ListMcpServices',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/mcpservice/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetThreadData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'starops:GetThreadData',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/{#threadId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateMcpService',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'starops:CreateMcpService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/mcpservice/{#mcpServiceName}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateChat',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'starops:CreateChat',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListDigitalEmployeeSkills',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'additionalActions' => [],
+ 'ramAction' => [
+ 'action' => 'starops:ListDigitalEmployeeSkills',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'STAROps', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/*'],
+ ],
+ ],
+ ],
+ ],
+ 'resourceTypes' => [
+ ['validationType' => 'always', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/{#threadId}'],
+ ['validationType' => 'always', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/{#skillName}'],
+ ['validationType' => 'always', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/mcpservice/{#mcpServiceName}'],
+ ['validationType' => 'always', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}'],
+ ['validationType' => 'always', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/artifact/*'],
+ ['validationType' => 'always', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/*/mcpservice/*'],
+ ['validationType' => 'always', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/*'],
+ ['validationType' => 'always', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/thread/*'],
+ ['validationType' => 'always', 'resourceType' => 'DigitalEmployee', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/mcpservice/*'],
+ ['validationType' => 'always', 'resourceType' => 'DigitalEmployeeSkill', 'arn' => 'acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}/skill/*'],
+ ],
+ ],
+];