@agentrun/sdk 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/README.md +20 -15
  2. package/dist/agent-runtime/api/index.cjs +907 -0
  3. package/dist/agent-runtime/api/index.cjs.map +1 -0
  4. package/dist/agent-runtime/api/index.d.cts +193 -0
  5. package/dist/agent-runtime/api/index.d.ts +193 -0
  6. package/dist/agent-runtime/api/index.js +882 -0
  7. package/dist/agent-runtime/api/index.js.map +1 -0
  8. package/dist/agent-runtime/index.cjs +2528 -0
  9. package/dist/agent-runtime/index.cjs.map +1 -0
  10. package/dist/agent-runtime/index.d.cts +778 -0
  11. package/dist/agent-runtime/index.d.ts +778 -0
  12. package/dist/agent-runtime/index.js +2496 -0
  13. package/dist/agent-runtime/index.js.map +1 -0
  14. package/dist/base-K1GMfJbH.d.ts +59 -0
  15. package/dist/base-xcWt5bua.d.cts +59 -0
  16. package/dist/client-DHXxjuo3.d.ts +58 -0
  17. package/dist/client-DPUTs69s.d.cts +58 -0
  18. package/dist/config-07gMelJP.d.cts +125 -0
  19. package/dist/config-07gMelJP.d.ts +125 -0
  20. package/dist/control-api-BWD4eua5.d.cts +27 -0
  21. package/dist/control-api-d-82Sgpr.d.ts +27 -0
  22. package/dist/credential/api/index.cjs +655 -0
  23. package/dist/credential/api/index.cjs.map +1 -0
  24. package/dist/credential/api/index.d.cts +93 -0
  25. package/dist/credential/api/index.d.ts +93 -0
  26. package/dist/credential/api/index.js +630 -0
  27. package/dist/credential/api/index.js.map +1 -0
  28. package/dist/credential/index.cjs +1286 -0
  29. package/dist/credential/index.cjs.map +1 -0
  30. package/dist/credential/index.d.cts +246 -0
  31. package/dist/credential/index.d.ts +246 -0
  32. package/dist/credential/index.js +1263 -0
  33. package/dist/credential/index.js.map +1 -0
  34. package/dist/data-api-B-4h9_Vf.d.ts +166 -0
  35. package/dist/data-api-DsG-8JRQ.d.cts +166 -0
  36. package/dist/exception-DM9H2Rpo.d.cts +68 -0
  37. package/dist/exception-DM9H2Rpo.d.ts +68 -0
  38. package/dist/index.cjs +29281 -1427
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.d.cts +38 -4485
  41. package/dist/index.d.ts +38 -4485
  42. package/dist/index.js +29259 -1426
  43. package/dist/index.js.map +1 -1
  44. package/dist/integration/builtin/index.cjs +9399 -0
  45. package/dist/integration/builtin/index.cjs.map +1 -0
  46. package/dist/integration/builtin/index.d.cts +692 -0
  47. package/dist/integration/builtin/index.d.ts +692 -0
  48. package/dist/integration/builtin/index.js +9363 -0
  49. package/dist/integration/builtin/index.js.map +1 -0
  50. package/dist/integration/index.cjs +9524 -0
  51. package/dist/integration/index.cjs.map +1 -0
  52. package/dist/integration/index.d.cts +98 -0
  53. package/dist/integration/index.d.ts +98 -0
  54. package/dist/integration/index.js +9481 -0
  55. package/dist/integration/index.js.map +1 -0
  56. package/dist/integration/mastra/index.cjs +9383 -0
  57. package/dist/integration/mastra/index.cjs.map +1 -0
  58. package/dist/integration/mastra/index.d.cts +186 -0
  59. package/dist/integration/mastra/index.d.ts +186 -0
  60. package/dist/integration/mastra/index.js +9348 -0
  61. package/dist/integration/mastra/index.js.map +1 -0
  62. package/dist/model/index.cjs +2392 -0
  63. package/dist/model/index.cjs.map +1 -0
  64. package/dist/model/index.d.cts +97 -0
  65. package/dist/model/index.d.ts +97 -0
  66. package/dist/model/index.js +2368 -0
  67. package/dist/model/index.js.map +1 -0
  68. package/dist/model--I90nCqy.d.cts +66 -0
  69. package/dist/model--I90nCqy.d.ts +66 -0
  70. package/dist/model-BV7A6Trb.d.cts +512 -0
  71. package/dist/model-DGBy-o_L.d.cts +176 -0
  72. package/dist/model-DGBy-o_L.d.ts +176 -0
  73. package/dist/model-RiiiZnou.d.ts +512 -0
  74. package/dist/model-service-D-P2FZNi.d.ts +540 -0
  75. package/dist/model-service-VpzBb7rV.d.cts +540 -0
  76. package/dist/resource-CQovFUeh.d.cts +44 -0
  77. package/dist/resource-DnE_DEka.d.ts +44 -0
  78. package/dist/sandbox/index.cjs +3557 -0
  79. package/dist/sandbox/index.cjs.map +1 -0
  80. package/dist/sandbox/index.d.cts +1598 -0
  81. package/dist/sandbox/index.d.ts +1598 -0
  82. package/dist/sandbox/index.js +3532 -0
  83. package/dist/sandbox/index.js.map +1 -0
  84. package/dist/server/adapter/index.cjs +24886 -0
  85. package/dist/server/adapter/index.cjs.map +1 -0
  86. package/dist/server/adapter/index.d.cts +68 -0
  87. package/dist/server/adapter/index.d.ts +68 -0
  88. package/dist/server/adapter/index.js +24883 -0
  89. package/dist/server/adapter/index.js.map +1 -0
  90. package/dist/server/core/index.cjs +313 -0
  91. package/dist/server/core/index.cjs.map +1 -0
  92. package/dist/server/core/index.d.cts +58 -0
  93. package/dist/server/core/index.d.ts +58 -0
  94. package/dist/server/core/index.js +309 -0
  95. package/dist/server/core/index.js.map +1 -0
  96. package/dist/server/index.cjs +25098 -0
  97. package/dist/server/index.cjs.map +1 -0
  98. package/dist/server/index.d.cts +73 -0
  99. package/dist/server/index.d.ts +73 -0
  100. package/dist/server/index.js +25067 -0
  101. package/dist/server/index.js.map +1 -0
  102. package/dist/server/protocol/index.cjs +1057 -0
  103. package/dist/server/protocol/index.cjs.map +1 -0
  104. package/dist/server/protocol/index.d.cts +135 -0
  105. package/dist/server/protocol/index.d.ts +135 -0
  106. package/dist/server/protocol/index.js +1053 -0
  107. package/dist/server/protocol/index.js.map +1 -0
  108. package/dist/tool-CG0LY-ov.d.cts +155 -0
  109. package/dist/tool-JJHam0ms.d.ts +155 -0
  110. package/dist/toolset/api/index.cjs +754 -0
  111. package/dist/toolset/api/index.cjs.map +1 -0
  112. package/dist/toolset/api/index.d.cts +207 -0
  113. package/dist/toolset/api/index.d.ts +207 -0
  114. package/dist/toolset/api/index.js +727 -0
  115. package/dist/toolset/api/index.js.map +1 -0
  116. package/dist/toolset/index.cjs +1945 -0
  117. package/dist/toolset/index.cjs.map +1 -0
  118. package/dist/toolset/index.d.cts +182 -0
  119. package/dist/toolset/index.d.ts +182 -0
  120. package/dist/toolset/index.js +1920 -0
  121. package/dist/toolset/index.js.map +1 -0
  122. package/dist/toolset-BYDvhwRp.d.cts +394 -0
  123. package/dist/toolset-CSRsJxCb.d.ts +394 -0
  124. package/dist/utils/index.cjs +994 -0
  125. package/dist/utils/index.cjs.map +1 -0
  126. package/dist/utils/index.d.cts +30 -0
  127. package/dist/utils/index.d.ts +30 -0
  128. package/dist/utils/index.js +951 -0
  129. package/dist/utils/index.js.map +1 -0
  130. package/package.json +65 -13
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/log.ts","../../src/utils/config.ts","../../src/utils/exception.ts","../../src/utils/model.ts","../../src/utils/control-api.ts","../../src/agent-runtime/api/control.ts","../../src/utils/data-api.ts","../../src/agent-runtime/api/data.ts","../../src/utils/resource.ts","../../src/agent-runtime/endpoint.ts","../../src/agent-runtime/model.ts","../../src/agent-runtime/runtime.ts","../../src/agent-runtime/client.ts","../../src/utils/version-check.ts","../../src/agent-runtime/index.ts"],"names":["fp","config","$AgentRun","$AgentRun2","path","ControlAPI","nodePath","fs","AgentRuntimeClient","params","init_model"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Logging utilities for AgentRun SDK\n *\n * 此模块提供日志功能。\n * This module provides logging utilities.\n */\n\nexport type LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\nconst LOG_LEVELS: Record<LogLevel, number> = {\n debug: 0,\n info: 1,\n warn: 2,\n error: 3,\n};\n// concise ANSI color codes we need\nconst COLORS = {\n reset: '\\x1b[0m',\n bright: '\\x1b[1m',\n dim: '\\x1b[2m',\n italic: '\\x1b[3m',\n blue: '\\x1b[34m',\n cyan: '\\x1b[36m',\n yellow: '\\x1b[33m',\n red: '\\x1b[31m',\n};\n\nclass Logger {\n private level: LogLevel = 'info';\n // match Python logger name\n private prefix = 'agentrun-logger';\n\n setLevel(level: LogLevel): void {\n this.level = level;\n }\n\n private shouldLog(level: LogLevel): boolean {\n return LOG_LEVELS[level] >= LOG_LEVELS[this.level];\n }\n\n private getColor(level: LogLevel): string {\n switch (level) {\n case 'debug':\n return COLORS.cyan;\n case 'info':\n return COLORS.blue;\n case 'warn':\n return COLORS.yellow;\n case 'error':\n return COLORS.red;\n default:\n return COLORS.reset;\n }\n }\n\n // format timestamp like Python: YYYY-MM-DD HH:mm:ss,SSS\n private formatTimestamp(d = new Date()): string {\n const pad = (n: number, sz = 2) => n.toString().padStart(sz, '0');\n const year = d.getFullYear();\n const month = pad(d.getMonth() + 1);\n const day = pad(d.getDate());\n const hour = pad(d.getHours());\n const minute = pad(d.getMinutes());\n const second = pad(d.getSeconds());\n const ms = pad(d.getMilliseconds(), 3);\n return `${year}-${month}-${day} ${hour}:${minute}:${second},${ms}`;\n }\n\n // attempt to infer caller file and line by parsing Error.stack\n // helper: parse a single stack frame into {filepath, line, functionName}\n private parseFrame(frame: string) {\n const m = frame.match(/^(?:at\\s+)?(?:(.+?)\\s+\\()?(.*?):(\\d+):(\\d+)\\)?$/);\n if (!m) return null;\n return {\n functionName: m[1] ? m[1].trim() : undefined,\n filepath: m[2],\n line: parseInt(m[3], 10),\n };\n }\n\n // get caller by fixed stack offset (used in public log methods)\n private getCallerByOffset(): { filepath?: string; line?: number } {\n const err = new Error();\n const stack = err.stack;\n if (!stack) return {};\n const lines = stack.split('\\n').map(l => l.trim());\n // try the requested offset, if absent try next few frames\n\n for (let i = 3; i < lines.length; i++) {\n let parsed = this.parseFrame(lines[i]);\n // fallback: try extract /path:line:col substring\n if (!parsed) {\n const m = lines[i].match(/(\\/[^:\\s]+:\\d+:\\d+)/);\n if (m) {\n const parts = m[1].split(':');\n parts.pop(); // col\n const ln = Number(parts.pop());\n const fp = parts.join(':');\n parsed = { filepath: fp, line: ln, functionName: undefined } as any;\n }\n }\n if (!parsed) continue;\n const fp = parsed.filepath;\n if (\n fp.includes('node_modules') ||\n fp.includes('internal') ||\n fp.includes('<anonymous>') ||\n fp.includes('native')\n )\n continue;\n // skip logger internal frames\n return { filepath: parsed.filepath, line: parsed.line };\n }\n // fallback: scan all frames and return first project frame\n const cwd = process.cwd();\n for (let i = 0; i < lines.length; i++) {\n let parsed = this.parseFrame(lines[i]);\n if (!parsed) {\n const m = lines[i].match(/(\\/[^:\\s]+:\\d+:\\d+)/);\n if (m) {\n const parts = m[1].split(':');\n parts.pop(); // col\n const ln = Number(parts.pop());\n const fp = parts.join(':');\n parsed = { filepath: fp, line: ln, functionName: undefined } as any;\n }\n }\n if (!parsed) continue;\n const fp = parsed.filepath;\n if (\n fp.includes('node_modules') ||\n fp.includes('internal') ||\n fp.includes('<anonymous>') ||\n fp.includes('native')\n )\n continue;\n if (fp.includes('/src/utils/log.ts')) continue;\n if (fp.startsWith(cwd)) return { filepath: parsed.filepath, line: parsed.line };\n }\n // final fallback: first non-node_modules parsed frame\n for (let i = 0; i < lines.length; i++) {\n let parsed = this.parseFrame(lines[i]);\n if (!parsed) {\n const m = lines[i].match(/(\\/[^:\\s]+:\\d+:\\d+)/);\n if (m) {\n const parts = m[1].split(':');\n parts.pop(); // col\n const ln = Number(parts.pop());\n const fp = parts.join(':');\n parsed = { filepath: fp, line: ln, functionName: undefined } as any;\n }\n }\n if (!parsed) continue;\n const fp = parsed.filepath;\n if (\n fp.includes('node_modules') ||\n fp.includes('internal') ||\n fp.includes('<anonymous>') ||\n fp.includes('native')\n )\n continue;\n if (fp.includes('/src/utils/log.ts')) continue;\n return { filepath: parsed.filepath, line: parsed.line };\n }\n return {};\n }\n\n private formatMessage(\n level: LogLevel,\n message: string,\n filepath?: string,\n line?: number\n ): string {\n const timestamp = this.formatTimestamp();\n const color = this.getColor(level);\n const reset = COLORS.reset;\n\n // filepath/line should be provided by caller via getCallerByOffset;\n // if missing, leave blank\n\n const levelName = level === 'warn' ? 'WARNING' : level.toUpperCase();\n const levelStr = `${COLORS.bright}${color}${levelName}${reset}`;\n const nameStr = `${color}[${this.prefix}]${reset}`;\n const tsStr = `${color} ${timestamp}${reset}`;\n const pathInfo =\n filepath && line !== undefined\n ? ` ${COLORS.dim}${COLORS.italic}${filepath}:${line}${reset}`\n : '';\n const msg = level === 'debug' ? `${COLORS.dim}${message}${reset}` : message;\n\n return `\\n${levelStr} ${nameStr}${tsStr}${pathInfo}\\n${msg}\\n`;\n }\n\n debug(message: string, ...args: unknown[]): void {\n if (this.shouldLog('debug')) {\n const caller = this.getCallerByOffset();\n console.debug(this.formatMessage('debug', message, caller.filepath, caller.line), ...args);\n }\n }\n\n info(message: string, ...args: unknown[]): void {\n if (this.shouldLog('info')) {\n const caller = this.getCallerByOffset();\n console.info(this.formatMessage('info', message, caller.filepath, caller.line), ...args);\n }\n }\n\n warn(message: string, ...args: unknown[]): void {\n if (this.shouldLog('warn')) {\n const caller = this.getCallerByOffset();\n console.warn(this.formatMessage('warn', message, caller.filepath, caller.line), ...args);\n }\n }\n\n error(message: string, ...args: unknown[]): void {\n if (this.shouldLog('error')) {\n const caller = this.getCallerByOffset();\n console.error(this.formatMessage('error', message, caller.filepath, caller.line), ...args);\n }\n }\n}\n\nexport const logger = new Logger();\nif (\n ![undefined, null, '', 'False', 'FALSE', 'false', '0'].includes(process.env['AGENTRUN_SDK_DEBUG'])\n) {\n logger.setLevel('debug');\n\n if (!(globalThis as any)._AGENTRUN_DEBUG_LOGGED) {\n logger.warn('启用 AgentRun SDK 调试日志, 移除 AGENTRUN_SDK_DEBUG 环境变量以关闭');\n (globalThis as any)._AGENTRUN_DEBUG_LOGGED = true;\n }\n} else {\n logger.setLevel('info');\n}\n","/**\n * Configuration Management Module\n *\n * 此模块提供 AgentRun SDK 的全局配置管理功能。\n * This module provides global configuration management for AgentRun SDK.\n */\n\nimport * as dotenv from 'dotenv';\n\n// Load environment variables\ndotenv.config();\n\n/**\n * Get environment variable with fallback keys\n */\nfunction getEnvWithDefault(defaultValue: string, ...keys: string[]): string {\n for (const key of keys) {\n const value = process.env[key];\n if (value !== undefined && value !== '') {\n return value;\n }\n }\n return defaultValue;\n}\n\n/**\n * Configuration options for AgentRun SDK\n */\nexport interface ConfigOptions {\n /**\n * Access Key ID for authentication.\n * Read from AGENTRUN_ACCESS_KEY_ID or ALIBABA_CLOUD_ACCESS_KEY_ID if not provided.\n */\n accessKeyId?: string;\n\n /**\n * Access Key Secret for authentication.\n * Read from AGENTRUN_ACCESS_KEY_SECRET or ALIBABA_CLOUD_ACCESS_KEY_SECRET if not provided.\n */\n accessKeySecret?: string;\n\n /**\n * Security token for STS authentication.\n * Read from AGENTRUN_SECURITY_TOKEN or ALIBABA_CLOUD_SECURITY_TOKEN if not provided.\n */\n securityToken?: string;\n\n /**\n * Account ID.\n * Read from AGENTRUN_ACCOUNT_ID or FC_ACCOUNT_ID if not provided.\n */\n accountId?: string;\n\n /**\n * Custom token for data API calls.\n */\n token?: string;\n\n /**\n * Region ID. Defaults to cn-hangzhou.\n * Read from AGENTRUN_REGION or FC_REGION if not provided.\n */\n regionId?: string;\n\n /**\n * Request timeout in milliseconds. Defaults to 600000 (10 minutes).\n */\n timeout?: number;\n\n /**\n * Read timeout in milliseconds. Defaults to 100000000.\n */\n readTimeout?: number;\n\n /**\n * Custom control API endpoint.\n * Read from AGENTRUN_CONTROL_ENDPOINT if not provided.\n */\n controlEndpoint?: string;\n\n /**\n * Custom data API endpoint.\n * Read from AGENTRUN_DATA_ENDPOINT if not provided.\n */\n dataEndpoint?: string;\n\n /**\n * Custom DevS API endpoint.\n * Read from DEVS_ENDPOINT if not provided.\n */\n devsEndpoint?: string;\n\n /**\n * Custom request headers.\n */\n headers?: Record<string, string>;\n}\n\n/**\n * AgentRun SDK Global Configuration Class\n *\n * 用于管理账号凭证和客户端配置。\n * Used for managing account credentials and client configuration.\n *\n * @example\n * ```typescript\n * // Create config from parameters\n * const config = new Config({\n * accountId: 'your-account-id',\n * accessKeyId: 'your-key-id',\n * accessKeySecret: 'your-secret',\n * });\n *\n * // Or read from environment variables\n * const config = new Config();\n * ```\n */\nexport class Config {\n private _accessKeyId: string;\n private _accessKeySecret: string;\n private _securityToken: string;\n private _accountId: string;\n private _token?: string;\n private _regionId: string;\n private _timeout: number;\n private _readTimeout: number;\n private _controlEndpoint: string;\n private _dataEndpoint: string;\n private _devsEndpoint: string;\n private _headers: Record<string, string>;\n\n constructor(options: ConfigOptions = {}) {\n this._accessKeyId =\n options.accessKeyId ??\n getEnvWithDefault('', 'AGENTRUN_ACCESS_KEY_ID', 'ALIBABA_CLOUD_ACCESS_KEY_ID');\n\n this._accessKeySecret =\n options.accessKeySecret ??\n getEnvWithDefault('', 'AGENTRUN_ACCESS_KEY_SECRET', 'ALIBABA_CLOUD_ACCESS_KEY_SECRET');\n\n this._securityToken =\n options.securityToken ??\n getEnvWithDefault('', 'AGENTRUN_SECURITY_TOKEN', 'ALIBABA_CLOUD_SECURITY_TOKEN');\n\n this._accountId =\n options.accountId ?? getEnvWithDefault('', 'AGENTRUN_ACCOUNT_ID', 'FC_ACCOUNT_ID');\n\n this._token = options.token;\n\n this._regionId =\n options.regionId ?? getEnvWithDefault('cn-hangzhou', 'AGENTRUN_REGION', 'FC_REGION');\n\n this._timeout = options.timeout ?? 600000;\n this._readTimeout = options.readTimeout ?? 100000000;\n\n this._controlEndpoint =\n options.controlEndpoint ?? getEnvWithDefault('', 'AGENTRUN_CONTROL_ENDPOINT');\n\n this._dataEndpoint = options.dataEndpoint ?? getEnvWithDefault('', 'AGENTRUN_DATA_ENDPOINT');\n\n this._devsEndpoint = options.devsEndpoint ?? getEnvWithDefault('', 'DEVS_ENDPOINT');\n\n this._headers = options.headers ?? {};\n }\n\n /**\n * Create a new Config by merging multiple configs.\n * Later configs take precedence.\n */\n static withConfigs(...configs: (Config | undefined)[]): Config {\n return new Config().update(...configs);\n }\n\n /**\n * Update this config with values from other configs.\n * Non-undefined values from later configs take precedence.\n */\n update(...configs: (Config | undefined)[]): Config {\n for (const config of configs) {\n if (!config) continue;\n\n if (config._accessKeyId) this._accessKeyId = config._accessKeyId;\n if (config._accessKeySecret) this._accessKeySecret = config._accessKeySecret;\n if (config._securityToken) this._securityToken = config._securityToken;\n if (config._accountId) this._accountId = config._accountId;\n if (config._token) this._token = config._token;\n if (config._regionId) this._regionId = config._regionId;\n if (config._timeout) this._timeout = config._timeout;\n if (config._readTimeout) this._readTimeout = config._readTimeout;\n if (config._controlEndpoint) this._controlEndpoint = config._controlEndpoint;\n if (config._dataEndpoint) this._dataEndpoint = config._dataEndpoint;\n if (config._devsEndpoint) this._devsEndpoint = config._devsEndpoint;\n if (config._headers && Object.keys(config._headers).length > 0) {\n this._headers = { ...this._headers, ...config._headers };\n }\n }\n return this;\n }\n\n get accessKeyId(): string {\n return this._accessKeyId;\n }\n\n get accessKeySecret(): string {\n return this._accessKeySecret;\n }\n\n get securityToken(): string {\n return this._securityToken;\n }\n\n get accountId(): string {\n if (!this._accountId) {\n throw new Error(\n 'Account ID is not set. Please add AGENTRUN_ACCOUNT_ID environment variable or set it in code.'\n );\n }\n return this._accountId;\n }\n\n get token(): string | undefined {\n return this._token;\n }\n\n get regionId(): string {\n return this._regionId || 'cn-hangzhou';\n }\n\n get timeout(): number {\n return this._timeout || 600000;\n }\n\n get readTimeout(): number {\n return this._readTimeout || 100000000;\n }\n\n get controlEndpoint(): string {\n if (this._controlEndpoint) {\n return this._controlEndpoint;\n }\n return `https://agentrun.${this.regionId}.aliyuncs.com`;\n }\n\n get dataEndpoint(): string {\n if (this._dataEndpoint) {\n return this._dataEndpoint;\n }\n return `https://${this.accountId}.agentrun-data.${this.regionId}.aliyuncs.com`;\n }\n\n get devsEndpoint(): string {\n if (this._devsEndpoint) {\n return this._devsEndpoint;\n }\n return `https://devs.${this.regionId}.aliyuncs.com`;\n }\n\n get headers(): Record<string, string> {\n return this._headers;\n }\n}\n","/**\n * Exception classes for AgentRun SDK\n *\n * 此模块定义 AgentRun SDK 的异常类。\n * This module defines exception classes for AgentRun SDK.\n */\n\n/**\n * Base error class for AgentRun SDK\n */\nexport class AgentRunError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'AgentRunError';\n Object.setPrototypeOf(this, AgentRunError.prototype);\n }\n}\n\n/**\n * HTTP error with status code and request ID\n */\nexport class HTTPError extends AgentRunError {\n readonly statusCode: number;\n readonly requestId?: string;\n readonly errorCode?: string;\n\n constructor(\n statusCode: number,\n message: string,\n options?: {\n requestId?: string;\n errorCode?: string;\n }\n ) {\n super(message);\n this.name = 'HTTPError';\n this.statusCode = statusCode;\n this.requestId = options?.requestId;\n this.errorCode = options?.errorCode;\n Object.setPrototypeOf(this, HTTPError.prototype);\n }\n\n /**\n * Convert HTTP error to resource-specific error based on status code\n */\n toResourceError(resourceType: string, resourceId?: string): HTTPError {\n if (this.statusCode == 404) return new ResourceNotExistError(resourceType, resourceId);\n else if (this.statusCode == 409) return new ResourceAlreadyExistError(resourceType, resourceId);\n else if (\n (this.statusCode == 400 || this.statusCode == 500) &&\n this.message.includes('already exists')\n )\n return new ResourceAlreadyExistError(resourceType, resourceId);\n else return this;\n }\n}\n\n/**\n * Client-side error (4xx status codes)\n */\nexport class ClientError extends HTTPError {\n constructor(\n statusCode: number,\n message: string,\n options?: {\n requestId?: string;\n errorCode?: string;\n }\n ) {\n super(statusCode, message, options);\n this.name = 'ClientError';\n Object.setPrototypeOf(this, ClientError.prototype);\n }\n}\n\n/**\n * Server-side error (5xx status codes)\n */\nexport class ServerError extends HTTPError {\n constructor(\n statusCode: number,\n message: string,\n options?: {\n requestId?: string;\n errorCode?: string;\n }\n ) {\n super(statusCode, message, options);\n this.name = 'ServerError';\n Object.setPrototypeOf(this, ServerError.prototype);\n }\n}\n\n/**\n * Resource not found error\n */\nexport class ResourceNotExistError extends ClientError {\n readonly resourceType: string;\n readonly resourceId?: string;\n\n constructor(\n resourceType: string,\n resourceId?: string,\n options?: {\n requestId?: string;\n }\n ) {\n const message = resourceId\n ? `${resourceType} '${resourceId}' does not exist`\n : `${resourceType} does not exist`;\n super(404, message, options);\n this.name = 'ResourceNotExistError';\n this.resourceType = resourceType;\n this.resourceId = resourceId;\n Object.setPrototypeOf(this, ResourceNotExistError.prototype);\n }\n}\n\n/**\n * Resource already exists error\n */\nexport class ResourceAlreadyExistError extends ClientError {\n readonly resourceType: string;\n readonly resourceId?: string;\n\n constructor(\n resourceType: string,\n resourceId?: string,\n options?: {\n requestId?: string;\n }\n ) {\n const message = resourceId\n ? `${resourceType} '${resourceId}' already exists`\n : `${resourceType} already exists`;\n super(409, message, options);\n this.name = 'ResourceAlreadyExistError';\n this.resourceType = resourceType;\n this.resourceId = resourceId;\n Object.setPrototypeOf(this, ResourceAlreadyExistError.prototype);\n }\n}\n","/**\n * Common data models for AgentRun SDK\n *\n * 此模块定义通用的数据模型。\n * This module defines common data models.\n */\n\n/**\n * Resource status enum\n */\nexport type Status =\n | 'CREATING'\n | 'CREATE_FAILED'\n | 'READY'\n | 'UPDATING'\n | 'UPDATE_FAILED'\n | 'DELETING'\n | 'DELETE_FAILED';\n\nexport const Status = {\n CREATING: 'CREATING' as Status,\n CREATE_FAILED: 'CREATE_FAILED' as Status,\n READY: 'READY' as Status,\n UPDATING: 'UPDATING' as Status,\n UPDATE_FAILED: 'UPDATE_FAILED' as Status,\n DELETING: 'DELETING' as Status,\n DELETE_FAILED: 'DELETE_FAILED' as Status,\n};\n\nexport function isFinalStatus(status?: Status) {\n return [\n undefined,\n null,\n '',\n ...(['READY', 'CREATE_FAILED', 'UPDATE_FAILED', 'DELETE_FAILED'] as Status[]),\n ].includes(status);\n}\n\n/**\n * Network mode enum\n */\nexport type NetworkMode = 'PUBLIC' | 'PRIVATE' | 'PUBLIC_AND_PRIVATE';\n\nexport const NetworkMode = {\n PUBLIC: 'PUBLIC' as NetworkMode,\n PRIVATE: 'PRIVATE' as NetworkMode,\n PUBLIC_AND_PRIVATE: 'PUBLIC_AND_PRIVATE' as NetworkMode,\n};\n\n/**\n * Pageable input for list operations\n */\nexport interface PageableInput {\n pageNumber?: number;\n pageSize?: number;\n}\n\n/**\n * Network configuration\n */\nexport interface NetworkConfig {\n networkMode?: NetworkMode;\n vpcId?: string;\n vSwitchIds?: string[];\n securityGroupId?: string;\n}\n\n/**\n * Helper to convert camelCase to snake_case\n */\nexport function toSnakeCase(str: string): string {\n return str.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);\n}\n\n/**\n * Helper to convert snake_case to camelCase\n */\nexport function toCamelCase(str: string): string {\n return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\n}\n\n/**\n * Convert object keys from camelCase to snake_case\n */\nexport function toSnakeCaseKeys<T extends Record<string, unknown>>(\n obj: T\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(obj)) {\n const snakeKey = toSnakeCase(key);\n if (value !== null && typeof value === 'object' && !Array.isArray(value)) {\n result[snakeKey] = toSnakeCaseKeys(value as Record<string, unknown>);\n } else if (Array.isArray(value)) {\n result[snakeKey] = value.map(item =>\n typeof item === 'object' && item !== null\n ? toSnakeCaseKeys(item as Record<string, unknown>)\n : item\n );\n } else {\n result[snakeKey] = value;\n }\n }\n return result;\n}\n\n/**\n * Convert object keys from snake_case to camelCase\n */\nexport function toCamelCaseKeys<T extends Record<string, unknown>>(\n obj: T\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(obj)) {\n const camelKey = toCamelCase(key);\n if (value !== null && typeof value === 'object' && !Array.isArray(value)) {\n result[camelKey] = toCamelCaseKeys(value as Record<string, unknown>);\n } else if (Array.isArray(value)) {\n result[camelKey] = value.map(item =>\n typeof item === 'object' && item !== null\n ? toCamelCaseKeys(item as Record<string, unknown>)\n : item\n );\n } else {\n result[camelKey] = value;\n }\n }\n return result;\n}\n\n/**\n * Remove undefined values from object\n */\nexport function removeUndefined<T extends Record<string, unknown>>(obj: T): Partial<T> {\n const result: Partial<T> = {};\n for (const [key, value] of Object.entries(obj)) {\n if (value !== undefined) {\n (result as Record<string, unknown>)[key] = value;\n }\n }\n return result;\n}\n","/**\n * Control API Base Module\n *\n * 此模块定义控制链路 API 的基类。\n * This module defines the base class for control API.\n */\n\nimport * as $AgentRun from '@alicloud/agentrun20250910';\nimport * as $OpenApi from '@alicloud/openapi-client';\n\nimport { Config } from './config';\n\n// Handle ESM/CJS interop for Client class\nconst $AgentRunClient =\n // @ts-expect-error - ESM interop: default.default exists when imported as ESM namespace\n $AgentRun.default?.default ?? $AgentRun.default ?? $AgentRun;\n\ntype Client = InstanceType<typeof $AgentRunClient>;\n\n/**\n * Base class for Control API clients\n *\n * 提供控制链路和 DevS API 客户端的获取功能。\n * Provides functionality to get control API and DevS API clients.\n */\nexport class ControlAPI {\n protected config?: Config;\n\n constructor(config?: Config) {\n this.config = config;\n }\n\n /**\n * Get the underlying AgentRun client instance\n */\n getClient(config?: Config): Client {\n const cfg = Config.withConfigs(this.config, config);\n let endpoint = cfg.controlEndpoint;\n\n // Remove protocol prefix\n if (endpoint.startsWith('http://') || endpoint.startsWith('https://')) {\n endpoint = endpoint.split('://')[1];\n }\n\n const openApiConfig = new $OpenApi.Config({\n accessKeyId: cfg.accessKeyId,\n accessKeySecret: cfg.accessKeySecret,\n securityToken: cfg.securityToken || undefined,\n regionId: cfg.regionId,\n endpoint: endpoint,\n connectTimeout: cfg.timeout,\n readTimeout: cfg.readTimeout,\n });\n\n return new $AgentRunClient(openApiConfig);\n }\n}\n\n// Re-export the AgentRun models for use in generated code\nexport { $AgentRun };\n","/**\n * This file is auto generated by the code generation script.\n * Do not modify this file manually.\n * Use the `bun run codegen` command to regenerate.\n *\n * 当前文件为自动生成的控制 API 客户端代码。请勿手动修改此文件。\n * 使用 `bun run codegen` 命令重新生成。\n */\n\n// Source: agent_runtime_control_api.yaml\n\nimport * as $AgentRun from '@alicloud/agentrun20250910';\nimport * as $Util from '@alicloud/tea-util';\n\nimport { Config } from '../../utils/config';\nimport { ControlAPI } from '../../utils/control-api';\nimport { ClientError, ServerError } from '../../utils/exception';\nimport { logger } from '../../utils/log';\n\n/**\n * Agent Runtime Control API\n */\nexport class AgentRuntimeControlAPI extends ControlAPI {\n constructor(config?: Config) {\n super(config);\n }\n\n /**\n * Create Agent Runtime\n *\n * @param params - Method parameters\n * @param params.input - Agent Runtime configuration\n * @param params.headers - Custom request headers\n * @param params.config - Optional config override\n * @returns Created Runtime object\n */\n createAgentRuntime = async (params: {\n input: $AgentRun.CreateAgentRuntimeInput;\n headers?: Record<string, string>;\n config?: Config;\n }): Promise<$AgentRun.AgentRuntime> => {\n const { input, headers, config } = params;\n\n try {\n const client = this.getClient(config);\n const runtime = new $Util.RuntimeOptions({});\n\n const response = await client.createAgentRuntimeWithOptions(\n new $AgentRun.CreateAgentRuntimeRequest({ body: input }),\n headers ?? {},\n runtime\n );\n\n logger.debug(\n `request api createAgentRuntime, request Request ID: ${response.body?.requestId}\\n request: ${JSON.stringify([input])}\\n response: ${JSON.stringify(response.body?.data)}`\n );\n\n return response.body?.data as $AgentRun.AgentRuntime;\n } catch (error: unknown) {\n if (error && typeof error === 'object' && 'statusCode' in error) {\n const e = error as { statusCode: number; message: string; data?: { requestId?: string } };\n const statusCode = e.statusCode;\n const message = e.message || 'Unknown error';\n const requestId = e.data?.requestId;\n\n if (statusCode >= 400 && statusCode < 500) {\n throw new ClientError(statusCode, message, { requestId });\n } else if (statusCode >= 500) {\n throw new ServerError(statusCode, message, { requestId });\n }\n }\n throw error;\n }\n };\n\n /**\n * Delete Agent Runtime\n *\n * @param params - Method parameters\n * @param params.agentId - Agent Runtime ID\n * @param params.headers - Custom request headers\n * @param params.config - Optional config override\n * @returns Deleted Runtime object\n */\n deleteAgentRuntime = async (params: {\n agentId: string;\n headers?: Record<string, string>;\n config?: Config;\n }): Promise<$AgentRun.AgentRuntime> => {\n const { agentId, headers, config } = params;\n\n try {\n const client = this.getClient(config);\n const runtime = new $Util.RuntimeOptions({});\n\n const response = await client.deleteAgentRuntimeWithOptions(agentId, headers ?? {}, runtime);\n\n logger.debug(\n `request api deleteAgentRuntime, request Request ID: ${response.body?.requestId}\\n request: ${JSON.stringify([agentId])}\\n response: ${JSON.stringify(response.body?.data)}`\n );\n\n return response.body?.data as $AgentRun.AgentRuntime;\n } catch (error: unknown) {\n if (error && typeof error === 'object' && 'statusCode' in error) {\n const e = error as { statusCode: number; message: string; data?: { requestId?: string } };\n const statusCode = e.statusCode;\n const message = e.message || 'Unknown error';\n const requestId = e.data?.requestId;\n\n if (statusCode >= 400 && statusCode < 500) {\n throw new ClientError(statusCode, message, { requestId });\n } else if (statusCode >= 500) {\n throw new ServerError(statusCode, message, { requestId });\n }\n }\n throw error;\n }\n };\n\n /**\n * Update Agent Runtime\n *\n * @param params - Method parameters\n * @param params.agentId - Agent Runtime ID\n * @param params.input - Agent Runtime configuration\n * @param params.headers - Custom request headers\n * @param params.config - Optional config override\n * @returns Updated Runtime object\n */\n updateAgentRuntime = async (params: {\n agentId: string;\n input: $AgentRun.UpdateAgentRuntimeInput;\n headers?: Record<string, string>;\n config?: Config;\n }): Promise<$AgentRun.AgentRuntime> => {\n const { agentId, input, headers, config } = params;\n\n try {\n const client = this.getClient(config);\n const runtime = new $Util.RuntimeOptions({});\n\n const response = await client.updateAgentRuntimeWithOptions(\n agentId,\n new $AgentRun.UpdateAgentRuntimeRequest({ body: input }),\n headers ?? {},\n runtime\n );\n\n logger.debug(\n `request api updateAgentRuntime, request Request ID: ${response.body?.requestId}\\n request: ${JSON.stringify([agentId, input])}\\n response: ${JSON.stringify(response.body?.data)}`\n );\n\n return response.body?.data as $AgentRun.AgentRuntime;\n } catch (error: unknown) {\n if (error && typeof error === 'object' && 'statusCode' in error) {\n const e = error as { statusCode: number; message: string; data?: { requestId?: string } };\n const statusCode = e.statusCode;\n const message = e.message || 'Unknown error';\n const requestId = e.data?.requestId;\n\n if (statusCode >= 400 && statusCode < 500) {\n throw new ClientError(statusCode, message, { requestId });\n } else if (statusCode >= 500) {\n throw new ServerError(statusCode, message, { requestId });\n }\n }\n throw error;\n }\n };\n\n /**\n * Get Agent Runtime\n *\n * @param params - Method parameters\n * @param params.agentId - Agent Runtime ID\n * @param params.request - Get request options\n * @param params.headers - Custom request headers\n * @param params.config - Optional config override\n * @returns Runtime object\n */\n getAgentRuntime = async (params: {\n agentId: string;\n request?: $AgentRun.GetAgentRuntimeRequest;\n headers?: Record<string, string>;\n config?: Config;\n }): Promise<$AgentRun.AgentRuntime> => {\n const { agentId, request, headers, config } = params;\n\n try {\n const client = this.getClient(config);\n const runtime = new $Util.RuntimeOptions({});\n\n const response = await client.getAgentRuntimeWithOptions(\n agentId,\n request ?? new $AgentRun.GetAgentRuntimeRequest({}),\n headers ?? {},\n runtime\n );\n\n logger.debug(\n `request api getAgentRuntime, request Request ID: ${response.body?.requestId}\\n request: ${JSON.stringify([agentId, request])}\\n response: ${JSON.stringify(response.body?.data)}`\n );\n\n return response.body?.data as $AgentRun.AgentRuntime;\n } catch (error: unknown) {\n if (error && typeof error === 'object' && 'statusCode' in error) {\n const e = error as { statusCode: number; message: string; data?: { requestId?: string } };\n const statusCode = e.statusCode;\n const message = e.message || 'Unknown error';\n const requestId = e.data?.requestId;\n\n if (statusCode >= 400 && statusCode < 500) {\n throw new ClientError(statusCode, message, { requestId });\n } else if (statusCode >= 500) {\n throw new ServerError(statusCode, message, { requestId });\n }\n }\n throw error;\n }\n };\n\n /**\n * List Agent Runtimes\n *\n * @param params - Method parameters\n * @param params.input - List options\n * @param params.headers - Custom request headers\n * @param params.config - Optional config override\n * @returns List of Runtime objects\n */\n listAgentRuntimes = async (params: {\n input: $AgentRun.ListAgentRuntimesRequest;\n headers?: Record<string, string>;\n config?: Config;\n }): Promise<$AgentRun.ListAgentRuntimesOutput> => {\n const { input, headers, config } = params;\n\n try {\n const client = this.getClient(config);\n const runtime = new $Util.RuntimeOptions({});\n\n const response = await client.listAgentRuntimesWithOptions(input, headers ?? {}, runtime);\n\n logger.debug(\n `request api listAgentRuntimes, request Request ID: ${response.body?.requestId}\\n request: ${JSON.stringify([input])}\\n response: ${JSON.stringify(response.body?.data)}`\n );\n\n return response.body?.data as $AgentRun.ListAgentRuntimesOutput;\n } catch (error: unknown) {\n if (error && typeof error === 'object' && 'statusCode' in error) {\n const e = error as { statusCode: number; message: string; data?: { requestId?: string } };\n const statusCode = e.statusCode;\n const message = e.message || 'Unknown error';\n const requestId = e.data?.requestId;\n\n if (statusCode >= 400 && statusCode < 500) {\n throw new ClientError(statusCode, message, { requestId });\n } else if (statusCode >= 500) {\n throw new ServerError(statusCode, message, { requestId });\n }\n }\n throw error;\n }\n };\n\n /**\n * Create Agent Runtime Endpoint\n *\n * @param params - Method parameters\n * @param params.agentId - Agent Runtime ID\n * @param params.input - Endpoint configuration\n * @param params.headers - Custom request headers\n * @param params.config - Optional config override\n * @returns Created Endpoint object\n */\n createAgentRuntimeEndpoint = async (params: {\n agentId: string;\n input: $AgentRun.CreateAgentRuntimeEndpointInput;\n headers?: Record<string, string>;\n config?: Config;\n }): Promise<$AgentRun.AgentRuntimeEndpoint> => {\n const { agentId, input, headers, config } = params;\n\n try {\n const client = this.getClient(config);\n const runtime = new $Util.RuntimeOptions({});\n\n const response = await client.createAgentRuntimeEndpointWithOptions(\n agentId,\n new $AgentRun.CreateAgentRuntimeEndpointRequest({ body: input }),\n headers ?? {},\n runtime\n );\n\n logger.debug(\n `request api createAgentRuntimeEndpoint, request Request ID: ${response.body?.requestId}\\n request: ${JSON.stringify([agentId, input])}\\n response: ${JSON.stringify(response.body?.data)}`\n );\n\n return response.body?.data as $AgentRun.AgentRuntimeEndpoint;\n } catch (error: unknown) {\n if (error && typeof error === 'object' && 'statusCode' in error) {\n const e = error as { statusCode: number; message: string; data?: { requestId?: string } };\n const statusCode = e.statusCode;\n const message = e.message || 'Unknown error';\n const requestId = e.data?.requestId;\n\n if (statusCode >= 400 && statusCode < 500) {\n throw new ClientError(statusCode, message, { requestId });\n } else if (statusCode >= 500) {\n throw new ServerError(statusCode, message, { requestId });\n }\n }\n throw error;\n }\n };\n\n /**\n * Delete Agent Runtime Endpoint\n *\n * @param params - Method parameters\n * @param params.agentId - Agent Runtime ID\n * @param params.endpointId - Endpoint ID\n * @param params.headers - Custom request headers\n * @param params.config - Optional config override\n * @returns Deleted Endpoint object\n */\n deleteAgentRuntimeEndpoint = async (params: {\n agentId: string;\n endpointId: string;\n headers?: Record<string, string>;\n config?: Config;\n }): Promise<$AgentRun.AgentRuntimeEndpoint> => {\n const { agentId, endpointId, headers, config } = params;\n\n try {\n const client = this.getClient(config);\n const runtime = new $Util.RuntimeOptions({});\n\n const response = await client.deleteAgentRuntimeEndpointWithOptions(\n agentId,\n endpointId,\n headers ?? {},\n runtime\n );\n\n logger.debug(\n `request api deleteAgentRuntimeEndpoint, request Request ID: ${response.body?.requestId}\\n request: ${JSON.stringify([agentId, endpointId])}\\n response: ${JSON.stringify(response.body?.data)}`\n );\n\n return response.body?.data as $AgentRun.AgentRuntimeEndpoint;\n } catch (error: unknown) {\n if (error && typeof error === 'object' && 'statusCode' in error) {\n const e = error as { statusCode: number; message: string; data?: { requestId?: string } };\n const statusCode = e.statusCode;\n const message = e.message || 'Unknown error';\n const requestId = e.data?.requestId;\n\n if (statusCode >= 400 && statusCode < 500) {\n throw new ClientError(statusCode, message, { requestId });\n } else if (statusCode >= 500) {\n throw new ServerError(statusCode, message, { requestId });\n }\n }\n throw error;\n }\n };\n\n /**\n * Update Agent Runtime Endpoint\n *\n * @param params - Method parameters\n * @param params.agentId - Agent Runtime ID\n * @param params.endpointId - Endpoint ID\n * @param params.input - Endpoint configuration\n * @param params.headers - Custom request headers\n * @param params.config - Optional config override\n * @returns Updated Endpoint object\n */\n updateAgentRuntimeEndpoint = async (params: {\n agentId: string;\n endpointId: string;\n input: $AgentRun.UpdateAgentRuntimeEndpointInput;\n headers?: Record<string, string>;\n config?: Config;\n }): Promise<$AgentRun.AgentRuntimeEndpoint> => {\n const { agentId, endpointId, input, headers, config } = params;\n\n try {\n const client = this.getClient(config);\n const runtime = new $Util.RuntimeOptions({});\n\n const response = await client.updateAgentRuntimeEndpointWithOptions(\n agentId,\n endpointId,\n new $AgentRun.UpdateAgentRuntimeEndpointRequest({ body: input }),\n headers ?? {},\n runtime\n );\n\n logger.debug(\n `request api updateAgentRuntimeEndpoint, request Request ID: ${response.body?.requestId}\\n request: ${JSON.stringify([agentId, endpointId, input])}\\n response: ${JSON.stringify(response.body?.data)}`\n );\n\n return response.body?.data as $AgentRun.AgentRuntimeEndpoint;\n } catch (error: unknown) {\n if (error && typeof error === 'object' && 'statusCode' in error) {\n const e = error as { statusCode: number; message: string; data?: { requestId?: string } };\n const statusCode = e.statusCode;\n const message = e.message || 'Unknown error';\n const requestId = e.data?.requestId;\n\n if (statusCode >= 400 && statusCode < 500) {\n throw new ClientError(statusCode, message, { requestId });\n } else if (statusCode >= 500) {\n throw new ServerError(statusCode, message, { requestId });\n }\n }\n throw error;\n }\n };\n\n /**\n * Get Agent Runtime Endpoint\n *\n * @param params - Method parameters\n * @param params.agentId - Agent Runtime ID\n * @param params.endpointId - Endpoint ID\n * @param params.headers - Custom request headers\n * @param params.config - Optional config override\n * @returns Endpoint object\n */\n getAgentRuntimeEndpoint = async (params: {\n agentId: string;\n endpointId: string;\n headers?: Record<string, string>;\n config?: Config;\n }): Promise<$AgentRun.AgentRuntimeEndpoint> => {\n const { agentId, endpointId, headers, config } = params;\n\n try {\n const client = this.getClient(config);\n const runtime = new $Util.RuntimeOptions({});\n\n const response = await client.getAgentRuntimeEndpointWithOptions(\n agentId,\n endpointId,\n headers ?? {},\n runtime\n );\n\n logger.debug(\n `request api getAgentRuntimeEndpoint, request Request ID: ${response.body?.requestId}\\n request: ${JSON.stringify([agentId, endpointId])}\\n response: ${JSON.stringify(response.body?.data)}`\n );\n\n return response.body?.data as $AgentRun.AgentRuntimeEndpoint;\n } catch (error: unknown) {\n if (error && typeof error === 'object' && 'statusCode' in error) {\n const e = error as { statusCode: number; message: string; data?: { requestId?: string } };\n const statusCode = e.statusCode;\n const message = e.message || 'Unknown error';\n const requestId = e.data?.requestId;\n\n if (statusCode >= 400 && statusCode < 500) {\n throw new ClientError(statusCode, message, { requestId });\n } else if (statusCode >= 500) {\n throw new ServerError(statusCode, message, { requestId });\n }\n }\n throw error;\n }\n };\n\n /**\n * List Agent Runtime Endpoints\n *\n * @param params - Method parameters\n * @param params.agentId - Agent Runtime ID\n * @param params.input - List options\n * @param params.headers - Custom request headers\n * @param params.config - Optional config override\n * @returns List of Endpoint objects\n */\n listAgentRuntimeEndpoints = async (params: {\n agentId: string;\n input: $AgentRun.ListAgentRuntimeEndpointsRequest;\n headers?: Record<string, string>;\n config?: Config;\n }): Promise<$AgentRun.ListAgentRuntimeEndpointsOutput> => {\n const { agentId, input, headers, config } = params;\n\n try {\n const client = this.getClient(config);\n const runtime = new $Util.RuntimeOptions({});\n\n const response = await client.listAgentRuntimeEndpointsWithOptions(\n agentId,\n input,\n headers ?? {},\n runtime\n );\n\n logger.debug(\n `request api listAgentRuntimeEndpoints, request Request ID: ${response.body?.requestId}\\n request: ${JSON.stringify([agentId, input])}\\n response: ${JSON.stringify(response.body?.data)}`\n );\n\n return response.body?.data as $AgentRun.ListAgentRuntimeEndpointsOutput;\n } catch (error: unknown) {\n if (error && typeof error === 'object' && 'statusCode' in error) {\n const e = error as { statusCode: number; message: string; data?: { requestId?: string } };\n const statusCode = e.statusCode;\n const message = e.message || 'Unknown error';\n const requestId = e.data?.requestId;\n\n if (statusCode >= 400 && statusCode < 500) {\n throw new ClientError(statusCode, message, { requestId });\n } else if (statusCode >= 500) {\n throw new ServerError(statusCode, message, { requestId });\n }\n }\n throw error;\n }\n };\n\n /**\n * List Agent Runtime Versions\n *\n * @param params - Method parameters\n * @param params.agentId - Agent Runtime ID\n * @param params.input - List options\n * @param params.headers - Custom request headers\n * @param params.config - Optional config override\n * @returns List of Version objects\n */\n listAgentRuntimeVersions = async (params: {\n agentId: string;\n input: $AgentRun.ListAgentRuntimeVersionsRequest;\n headers?: Record<string, string>;\n config?: Config;\n }): Promise<$AgentRun.ListAgentRuntimeVersionsOutput> => {\n const { agentId, input, headers, config } = params;\n\n try {\n const client = this.getClient(config);\n const runtime = new $Util.RuntimeOptions({});\n\n const response = await client.listAgentRuntimeVersionsWithOptions(\n agentId,\n input,\n headers ?? {},\n runtime\n );\n\n logger.debug(\n `request api listAgentRuntimeVersions, request Request ID: ${response.body?.requestId}\\n request: ${JSON.stringify([agentId, input])}\\n response: ${JSON.stringify(response.body?.data)}`\n );\n\n return response.body?.data as $AgentRun.ListAgentRuntimeVersionsOutput;\n } catch (error: unknown) {\n if (error && typeof error === 'object' && 'statusCode' in error) {\n const e = error as { statusCode: number; message: string; data?: { requestId?: string } };\n const statusCode = e.statusCode;\n const message = e.message || 'Unknown error';\n const requestId = e.data?.requestId;\n\n if (statusCode >= 400 && statusCode < 500) {\n throw new ClientError(statusCode, message, { requestId });\n } else if (statusCode >= 500) {\n throw new ServerError(statusCode, message, { requestId });\n }\n }\n throw error;\n }\n };\n}\n","/**\n * AgentRun Data API Client\n *\n * 用于与 AgentRun Data API 交互的 HTTP 客户端。\n * HTTP client for interacting with the AgentRun Data API.\n */\n\nimport * as http from 'http';\nimport * as https from 'https';\nimport * as fs from 'fs';\nimport * as nodePath from 'path';\nimport { URL } from 'url';\n\nimport { Config } from './config';\nimport { ClientError } from './exception';\nimport { logger } from './log';\n\n/**\n * Resource type enumeration\n */\nexport enum ResourceType {\n Runtime = 'runtime',\n LiteLLM = 'litellm',\n Tool = 'tool',\n Template = 'template',\n Sandbox = 'sandbox',\n}\n\n/**\n * Data API response interface\n */\nexport interface DataAPIResponse {\n [key: string]: unknown;\n}\n\n/**\n * File download result\n */\nexport interface FileDownloadResult {\n savedPath: string;\n size: number;\n}\n\n/**\n * AgentRun Data API Client\n *\n * This client provides methods for making HTTP requests to the AgentRun Data API\n * with automatic URL construction, JSON handling, and error management.\n */\nexport class DataAPI {\n private resourceName: string;\n private resourceType: ResourceType;\n private accessToken: string | null = null;\n private config: Config;\n private namespace: string;\n\n /**\n * Initialize the Data API Client.\n *\n * @param resourceName - Resource name for access token\n * @param resourceType - Resource type for access token\n * @param config - Configuration options\n * @param namespace - API namespace (default: \"agents\")\n */\n constructor(\n resourceName: string,\n resourceType: ResourceType,\n config?: Config,\n namespace: string = 'agents'\n ) {\n this.resourceName = resourceName;\n this.resourceType = resourceType;\n this.config = Config.withConfigs(config);\n this.namespace = namespace;\n\n // Check for provided access token\n const token = this.config.token;\n if (token) {\n logger.debug(`Using provided access token from config`);\n this.accessToken = token;\n }\n }\n\n /**\n * Get the base URL for API requests.\n */\n private getBaseUrl(): string {\n return this.config.dataEndpoint;\n }\n\n /**\n * Construct full URL with the given path and query parameters.\n *\n * @param path - API path (may include query string)\n * @param query - Query parameters to add/merge\n * @returns Complete URL string with query parameters\n */\n withPath(path: string, query?: Record<string, unknown>): string {\n // Remove leading slash if present\n path = path.replace(/^\\//, '');\n\n const parts = [this.getBaseUrl(), this.namespace, path]\n .filter(Boolean)\n .map(part => part.replace(/^\\/|\\/$/g, ''));\n\n const baseUrl = parts.join('/');\n\n if (!query || Object.keys(query).length === 0) {\n return baseUrl;\n }\n\n const urlObj = new URL(baseUrl);\n const existingParams = urlObj.searchParams;\n\n for (const key in query) {\n if (Object.prototype.hasOwnProperty.call(query, key)) {\n const value = query[key];\n if (Array.isArray(value)) {\n value.forEach(v => existingParams.append(key, String(v)));\n } else if (value !== undefined && value !== null) {\n existingParams.set(key, String(value));\n }\n }\n }\n\n urlObj.search = existingParams.toString();\n return urlObj.toString();\n }\n\n /**\n * Authenticate and prepare headers for the request.\n *\n * @param url - Request URL\n * @param headers - Request headers\n * @param query - Query parameters\n * @param config - Optional config override\n * @returns Tuple of [url, headers, query]\n */\n private async auth(\n url: string,\n headers: Record<string, string>,\n query?: Record<string, unknown>,\n config?: Config\n ): Promise<[string, Record<string, string>, Record<string, unknown> | undefined]> {\n const cfg = Config.withConfigs(this.config, config);\n\n // Fetch access token if not already available\n if (this.accessToken === null && this.resourceName && this.resourceType && !cfg.token) {\n try {\n // Dynamically import to avoid circular dependencies\n const { ControlAPI } = await import('./control-api');\n const $AgentRun = await import('@alicloud/agentrun20250910');\n\n const cli = new ControlAPI(this.config).getClient();\n\n const input =\n this.resourceType === ResourceType.Sandbox\n ? new $AgentRun.GetAccessTokenRequest({\n resourceId: this.resourceName,\n resourceType: this.resourceType,\n })\n : new $AgentRun.GetAccessTokenRequest({\n resourceName: this.resourceName,\n resourceType: this.resourceType,\n });\n\n const resp = await cli.getAccessToken(input);\n this.accessToken = resp.body?.data?.accessToken || null;\n\n logger.debug(\n `Fetched access token for resource ${this.resourceName} of type ${this.resourceType}`\n );\n } catch (e) {\n logger.warn(\n `Failed to get access token for ${this.resourceType}(${this.resourceName}): ${e}`\n );\n }\n }\n\n // Merge headers with authentication\n const authHeaders = {\n 'Agentrun-Access-Token': cfg.token || this.accessToken || '',\n ...cfg.headers,\n ...headers,\n };\n\n return [url, authHeaders, query];\n }\n\n /**\n * Prepare the HTTP request.\n */\n private async prepareRequest(\n method: string,\n url: string,\n data?: Record<string, unknown> | string | Buffer,\n headers?: Record<string, string>,\n query?: Record<string, unknown>,\n config?: Config\n ): Promise<{\n method: string;\n url: string;\n headers: Record<string, string>;\n body?: string | Buffer;\n }> {\n const reqHeaders: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'User-Agent': 'AgentRunDataClient/1.0',\n };\n\n const cfg = Config.withConfigs(this.config, config);\n Object.assign(reqHeaders, cfg.headers);\n if (headers) {\n Object.assign(reqHeaders, headers);\n }\n\n // Apply authentication\n const [authUrl, authHeaders, authQuery] = await this.auth(url, reqHeaders, query, cfg);\n\n // Add query parameters to URL\n let finalUrl = authUrl;\n if (authQuery && Object.keys(authQuery).length > 0) {\n const urlObj = new URL(authUrl);\n for (const key in authQuery) {\n if (Object.prototype.hasOwnProperty.call(authQuery, key)) {\n const value = authQuery[key];\n if (value !== undefined && value !== null) {\n urlObj.searchParams.set(key, String(value));\n }\n }\n }\n finalUrl = urlObj.toString();\n }\n\n // Prepare request body\n let body: string | Buffer | undefined;\n if (data !== undefined) {\n if (Buffer.isBuffer(data)) {\n body = data;\n } else if (typeof data === 'object') {\n body = JSON.stringify(data);\n } else {\n body = data;\n }\n }\n\n logger.debug(`${method} ${finalUrl} headers=${JSON.stringify(authHeaders)}`);\n\n return { method, url: finalUrl, headers: authHeaders, body };\n }\n\n /**\n * Make an HTTP request.\n */\n private async makeRequest(\n method: string,\n path: string,\n data?: Record<string, unknown> | string | Buffer,\n query?: Record<string, unknown>,\n headers?: Record<string, string>,\n config?: Config\n ): Promise<DataAPIResponse> {\n const fullUrl = this.withPath(path, query);\n const {\n method: reqMethod,\n url: reqUrl,\n headers: reqHeaders,\n body: reqBody,\n } = await this.prepareRequest(method, fullUrl, data, headers, undefined, config);\n\n const client = reqUrl.startsWith('https') ? https : http;\n const urlObj = new URL(reqUrl);\n\n const options: http.RequestOptions = {\n hostname: urlObj.hostname,\n port: urlObj.port || (reqUrl.startsWith('https') ? 443 : 80),\n path: urlObj.pathname + urlObj.search,\n method: reqMethod,\n headers: reqHeaders,\n timeout: this.config.timeout,\n };\n\n return new Promise((resolve, reject) => {\n const req = client.request(options, res => {\n let responseData = '';\n res.on('data', chunk => (responseData += chunk));\n res.on('end', () => {\n logger.debug(`Response: ${responseData}`);\n\n if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {\n try {\n resolve(responseData ? JSON.parse(responseData) : {});\n } catch (e) {\n const errorMsg = `Failed to parse JSON response: ${e}`;\n logger.error(errorMsg);\n reject(new ClientError(res.statusCode || 0, errorMsg));\n }\n } else {\n const errorMsg = responseData || res.statusMessage || 'Unknown error';\n reject(new ClientError(res.statusCode || 0, errorMsg));\n }\n });\n });\n\n req.on('error', e => {\n reject(new ClientError(0, `Request error: ${e.message}`));\n });\n\n req.on('timeout', () => {\n req.destroy();\n reject(new ClientError(0, 'Request timeout'));\n });\n\n if (reqBody) {\n req.write(reqBody);\n }\n req.end();\n });\n }\n\n /**\n * Make a GET request.\n *\n * @param path - API path\n * @param query - Query parameters\n * @param headers - Additional headers\n * @param config - Optional config override\n */\n async get(\n path: string,\n query?: Record<string, unknown>,\n headers?: Record<string, string>,\n config?: Config\n ): Promise<DataAPIResponse> {\n return this.makeRequest('GET', path, undefined, query, headers, config);\n }\n\n /**\n * Make a POST request.\n *\n * @param path - API path\n * @param data - Request body\n * @param query - Query parameters\n * @param headers - Additional headers\n * @param config - Optional config override\n */\n async post(\n path: string,\n data?: Record<string, unknown> | string | Buffer,\n query?: Record<string, unknown>,\n headers?: Record<string, string>,\n config?: Config\n ): Promise<DataAPIResponse> {\n return this.makeRequest('POST', path, data, query, headers, config);\n }\n\n /**\n * Make a PUT request.\n *\n * @param path - API path\n * @param data - Request body\n * @param query - Query parameters\n * @param headers - Additional headers\n * @param config - Optional config override\n */\n async put(\n path: string,\n data?: Record<string, unknown> | string | Buffer,\n query?: Record<string, unknown>,\n headers?: Record<string, string>,\n config?: Config\n ): Promise<DataAPIResponse> {\n return this.makeRequest('PUT', path, data, query, headers, config);\n }\n\n /**\n * Make a PATCH request.\n *\n * @param path - API path\n * @param data - Request body\n * @param query - Query parameters\n * @param headers - Additional headers\n * @param config - Optional config override\n */\n async patch(\n path: string,\n data?: Record<string, unknown> | string | Buffer,\n query?: Record<string, unknown>,\n headers?: Record<string, string>,\n config?: Config\n ): Promise<DataAPIResponse> {\n return this.makeRequest('PATCH', path, data, query, headers, config);\n }\n\n /**\n * Make a DELETE request.\n *\n * @param path - API path\n * @param query - Query parameters\n * @param headers - Additional headers\n * @param config - Optional config override\n */\n async delete(\n path: string,\n query?: Record<string, unknown>,\n headers?: Record<string, string>,\n config?: Config\n ): Promise<DataAPIResponse> {\n return this.makeRequest('DELETE', path, undefined, query, headers, config);\n }\n\n /**\n * Upload a file using multipart/form-data.\n *\n * @param path - API path\n * @param localFilePath - Local file path to upload\n * @param targetFilePath - Target file path on the server\n * @param formData - Additional form data fields\n * @param query - Query parameters\n * @param headers - Additional headers\n * @param config - Optional config override\n */\n async postFile(\n path: string,\n localFilePath: string,\n targetFilePath: string,\n formData?: Record<string, string>,\n query?: Record<string, unknown>,\n headers?: Record<string, string>,\n config?: Config\n ): Promise<DataAPIResponse> {\n const fullUrl = this.withPath(path, query);\n const { url: reqUrl, headers: reqHeaders } = await this.prepareRequest(\n 'POST',\n fullUrl,\n undefined,\n headers,\n undefined,\n config\n );\n\n const client = reqUrl.startsWith('https') ? https : http;\n const urlObj = new URL(reqUrl);\n\n return new Promise((resolve, reject) => {\n const boundary = `----WebKitFormBoundary${Math.random().toString(36).substring(2)}`;\n const contentHeaders = {\n ...reqHeaders,\n 'Content-Type': `multipart/form-data; boundary=${boundary}`,\n };\n\n const options: http.RequestOptions = {\n hostname: urlObj.hostname,\n port: urlObj.port || (reqUrl.startsWith('https') ? 443 : 80),\n path: urlObj.pathname + urlObj.search,\n method: 'POST',\n headers: contentHeaders,\n timeout: this.config.timeout,\n };\n\n const req = client.request(options, res => {\n let responseData = '';\n res.on('data', chunk => (responseData += chunk));\n res.on('end', () => {\n if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {\n try {\n resolve(responseData ? JSON.parse(responseData) : {});\n } catch (e) {\n logger.error(`Failed to parse JSON response: ${e}`);\n reject(new ClientError(res.statusCode || 0, `Failed to parse JSON: ${e}`));\n }\n } else {\n reject(new ClientError(res.statusCode || 0, responseData || 'Unknown error'));\n }\n });\n });\n\n req.on('error', e => {\n reject(new ClientError(0, `Request error: ${e.message}`));\n });\n\n // Helper to write form fields\n const appendField = (name: string, value: string) => {\n req.write(`--${boundary}\\r\\n`);\n req.write(`Content-Disposition: form-data; name=\"${name}\"\\r\\n`);\n req.write('\\r\\n');\n req.write(`${value}\\r\\n`);\n };\n\n // Write form data fields\n if (formData) {\n for (const key in formData) {\n if (Object.prototype.hasOwnProperty.call(formData, key)) {\n appendField(key, formData[key]);\n }\n }\n }\n\n // Add target path field\n appendField('path', targetFilePath);\n\n // Write file\n const filename = nodePath.basename(localFilePath);\n req.write(`--${boundary}\\r\\n`);\n req.write(`Content-Disposition: form-data; name=\"file\"; filename=\"${filename}\"\\r\\n`);\n req.write('Content-Type: application/octet-stream\\r\\n');\n req.write('\\r\\n');\n\n const fileStream = fs.createReadStream(localFilePath);\n fileStream.pipe(req, { end: false });\n\n fileStream.on('end', () => {\n req.write(`\\r\\n--${boundary}--\\r\\n`);\n req.end();\n });\n\n fileStream.on('error', e => {\n reject(new ClientError(0, `File stream error: ${e.message}`));\n });\n });\n }\n\n /**\n * Download a file and save it to local path.\n *\n * @param path - API path\n * @param savePath - Local file path to save the downloaded file\n * @param query - Query parameters\n * @param headers - Additional headers\n * @param config - Optional config override\n */\n async getFile(\n path: string,\n savePath: string,\n query?: Record<string, unknown>,\n headers?: Record<string, string>,\n config?: Config\n ): Promise<FileDownloadResult> {\n const fullUrl = this.withPath(path, query);\n const { url: reqUrl, headers: reqHeaders } = await this.prepareRequest(\n 'GET',\n fullUrl,\n undefined,\n headers,\n undefined,\n config\n );\n\n const client = reqUrl.startsWith('https') ? https : http;\n const urlObj = new URL(reqUrl);\n\n return new Promise((resolve, reject) => {\n const options: http.RequestOptions = {\n hostname: urlObj.hostname,\n port: urlObj.port || (reqUrl.startsWith('https') ? 443 : 80),\n path: urlObj.pathname + urlObj.search,\n method: 'GET',\n headers: reqHeaders,\n timeout: this.config.timeout,\n };\n\n const req = client.request(options, res => {\n if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {\n const fileStream = fs.createWriteStream(savePath);\n let downloadedSize = 0;\n\n res.on('data', chunk => {\n fileStream.write(chunk);\n downloadedSize += chunk.length;\n });\n\n res.on('end', () => {\n fileStream.end();\n resolve({ savedPath: savePath, size: downloadedSize });\n });\n\n res.on('error', e => {\n fileStream.end();\n reject(new ClientError(0, `Response error: ${e.message}`));\n });\n } else {\n let errorData = '';\n res.on('data', chunk => (errorData += chunk));\n res.on('end', () => {\n reject(new ClientError(res.statusCode || 0, errorData || 'Download failed'));\n });\n }\n });\n\n req.on('error', e => {\n reject(new ClientError(0, `Request error: ${e.message}`));\n });\n\n req.end();\n });\n }\n\n /**\n * Download a video file and save it to local path.\n *\n * @param path - API path\n * @param savePath - Local file path to save the downloaded video\n * @param query - Query parameters\n * @param headers - Additional headers\n * @param config - Optional config override\n */\n async getVideo(\n path: string,\n savePath: string,\n query?: Record<string, unknown>,\n headers?: Record<string, string>,\n config?: Config\n ): Promise<FileDownloadResult> {\n // Video download is the same as file download\n return this.getFile(path, savePath, query, headers, config);\n }\n}\n","/**\n * Agent Runtime Data API\n *\n * 此模块定义 Agent Runtime 的数据 API,用于调用 Agent Runtime 实例。\n * This module defines the Data API for Agent Runtime, used to invoke Agent Runtime instances.\n */\n\nimport type { ChatCompletionMessageParam } from 'openai/resources';\nimport { Config } from '../../utils/config';\nimport { DataAPI, ResourceType } from '../../utils/data-api';\n\n/**\n * Invoke arguments for OpenAI-compatible API\n */\nexport interface InvokeArgs {\n /** Chat messages */\n messages: ChatCompletionMessageParam[];\n /** Whether to stream the response */\n stream?: boolean;\n /** Optional config override */\n config?: Config;\n}\n\n/**\n * Agent Runtime Data API for invoking agent runtime through OpenAI-compatible API\n */\nexport class AgentRuntimeDataAPI extends DataAPI {\n constructor(\n agentRuntimeName: string,\n agentRuntimeEndpointName: string = 'Default',\n config?: Config\n ) {\n super(\n agentRuntimeName,\n ResourceType.Runtime,\n config,\n `agent-runtimes/${agentRuntimeName}/endpoints/${agentRuntimeEndpointName}/invocations`\n );\n }\n\n /**\n * Invoke agent runtime using OpenAI-compatible API\n */\n async invokeOpenai(args: InvokeArgs) {\n const { messages, stream = false, config } = args;\n\n // Merge configs\n const cfg = Config.withConfigs(this.getConfig(), config);\n const apiBase = this.withPath('openai/v1');\n\n // Get authenticated headers\n const [, headers] = await this.getAuthHeaders(apiBase, {}, cfg);\n\n // Use dynamic import to avoid bundling OpenAI SDK if not used\n const { default: OpenAI } = await import('openai');\n\n // Create OpenAI client with custom base URL and auth headers\n const client = new OpenAI({\n apiKey: '', // Empty API key, we use custom headers for auth\n baseURL: apiBase,\n defaultHeaders: headers,\n timeout: cfg.timeout,\n });\n\n return client.chat.completions.create({\n model: this.getResourceName(),\n messages,\n stream,\n });\n }\n\n // Expose protected methods for use in this subclass\n private getConfig(): Config {\n return (this as any).config;\n }\n\n private getResourceName(): string {\n return (this as any).resourceName;\n }\n\n private async getAuthHeaders(\n url: string,\n headers: Record<string, string>,\n config?: Config\n ): Promise<[string, Record<string, string>]> {\n const [authUrl, authHeaders] = await (this as any).auth(url, headers, undefined, config);\n return [authUrl, authHeaders];\n }\n}\n","/**\n资源基类模板 / Resource Base Template\n\n此模板用于生成资源对象的基类代码。\nThis template is used to generate base class code for resource objects.\n*/\n\nimport { Config } from './config';\nimport { ResourceNotExistError } from './exception';\nimport { logger } from './log';\nimport { isFinalStatus, PageableInput, Status } from './model';\n\n/**\n * 更新对象属性的辅助函数 / Helper function to update object properties\n *\n * 只复制数据属性,跳过方法和私有属性\n * Only copies data properties, skips methods and private properties\n *\n * @param target - 目标对象 / Target object\n * @param source - 源对象 / Source object\n */\nexport function updateObjectProperties(target: any, source: any): void {\n for (const key in source) {\n if (\n Object.prototype.hasOwnProperty.call(source, key) &&\n typeof source[key] !== 'function' &&\n !key.startsWith('_') // 跳过私有属性\n ) {\n target[key] = source[key];\n }\n }\n}\n\nexport interface WithUniqIdCallback {\n uniqIdCallback(): string | undefined;\n}\n\nexport interface ParamsWithConfig {\n config?: Config;\n}\n\nexport abstract class ResourceBase {\n public status?: Status;\n protected _config?: Config;\n\n abstract get(params?: ParamsWithConfig): Promise<any>;\n abstract delete(params?: ParamsWithConfig): Promise<any>;\n\n // static async list(params?: {\n // input?: PageableInput;\n // config?: Config;\n // }): Promise<WithUniqIdCallback[]> {\n // return [];\n // }\n\n waitUntil = async (params: {\n checkFinishedCallback: (resource: ResourceBase) => boolean | Promise<boolean>;\n intervalSeconds?: number;\n timeoutSeconds?: number;\n }): Promise<ResourceBase> => {\n const { checkFinishedCallback, intervalSeconds = 5, timeoutSeconds = 300 } = params;\n\n const startTime = Date.now();\n while (true) {\n if (await checkFinishedCallback(this)) return this;\n\n if (Date.now() - startTime >= timeoutSeconds * 1000) {\n throw new Error('Timeout waiting for resource to reach desired state');\n }\n\n await new Promise(resolve => setTimeout(resolve, intervalSeconds * 1000));\n }\n };\n\n waitUntilReadyOrFailed = async (params?: {\n callback?: (resource: ResourceBase) => void | Promise<void>;\n intervalSeconds?: number;\n timeoutSeconds?: number;\n }) => {\n const { callback, intervalSeconds = 5, timeoutSeconds = 300 } = params ?? {};\n\n async function checkFinishedCallback(resource: ResourceBase) {\n await resource.refresh();\n if (callback) await callback(resource);\n logger.debug(`Resource status: ${(resource as any).status}`);\n\n return isFinalStatus(resource.status);\n }\n\n return await this.waitUntil({\n checkFinishedCallback,\n intervalSeconds,\n timeoutSeconds,\n });\n };\n\n deleteAndWaitUntilFinished = async (params?: {\n callback?: (resource: ResourceBase) => void | Promise<void>;\n intervalSeconds?: number;\n timeoutSeconds?: number;\n }) => {\n const { callback, intervalSeconds = 5, timeoutSeconds = 300 } = params ?? {};\n\n try {\n await this.delete();\n } catch (error) {\n if (error instanceof ResourceNotExistError) return;\n }\n\n async function checkFinishedCallback(resource: ResourceBase) {\n try {\n await resource.refresh();\n if (callback) await callback(resource);\n } catch (error) {\n // Assuming that an error during refresh indicates the resource no longer exists\n if (error instanceof ResourceNotExistError) return true;\n if (resource.status === Status.DELETING) return false;\n\n throw Error(`Resource status is ${resource.status}`);\n }\n\n return false;\n }\n\n return await this.waitUntil({\n checkFinishedCallback,\n intervalSeconds,\n timeoutSeconds,\n });\n };\n\n refresh = async (params?: ParamsWithConfig) => await this.get(params);\n\n /**\n * 更新实例自身的属性 / Update instance properties\n *\n * @param source - 源对象 / Source object\n */\n updateSelf(source: any): void {\n updateObjectProperties(this, source);\n }\n\n setConfig = (config: Config) => {\n this._config = config;\n return this;\n };\n}\n\nexport function listAllResourcesFunction<\n ListParams extends { input?: PageableInput; config?: Config },\n ListResult extends WithUniqIdCallback,\n>(list: (params?: ListParams) => Promise<ListResult[]>) {\n return async (\n params?: Omit<NonNullable<ListParams['input']>, 'pageNumber' | 'pageSize'> & {\n config?: Config;\n }\n ) => {\n const { config, ...restParams } = params ?? {};\n\n const allResults: ListResult[] = [];\n let page = 1;\n const pageSize = 50;\n while (true) {\n const pageResults = await list({\n input: {\n ...restParams,\n pageNumber: page,\n pageSize: pageSize,\n },\n config,\n } as ListParams);\n\n page += 1;\n allResults.push(...pageResults);\n if (pageResults.length < pageSize) break;\n }\n\n const resultSet = new Set<string>();\n const results: any[] = [];\n for (const item of allResults) {\n const uniqId = item.uniqIdCallback() || '';\n if (!resultSet.has(uniqId) && uniqId) {\n resultSet.add(uniqId);\n results.push(item);\n }\n }\n\n return results;\n };\n}\n","/**\n * Agent Runtime Endpoint Resource\n *\n * 此模块定义 Agent Runtime Endpoint 资源类。\n * This module defines the Agent Runtime Endpoint resource class.\n */\n\nimport { Config } from '../utils/config';\nimport { listAllResourcesFunction, ResourceBase, updateObjectProperties } from '../utils/resource';\nimport { PageableInput, Status } from '../utils/model';\n\nimport { AgentRuntimeDataAPI, InvokeArgs } from './api/data';\nimport {\n AgentRuntimeEndpointCreateInput,\n AgentRuntimeEndpointUpdateInput,\n AgentRuntimeEndpointListInput,\n AgentRuntimeEndpointData,\n AgentRuntimeEndpointRoutingConfig,\n} from './model';\nimport { KeyOf } from 'zod/v4/core/util.cjs';\n\n/**\n * Agent Runtime Endpoint resource class\n */\nexport class AgentRuntimeEndpoint extends ResourceBase implements AgentRuntimeEndpointData {\n // System properties\n agentRuntimeEndpointArn?: string;\n agentRuntimeEndpointId?: string;\n agentRuntimeEndpointName?: string;\n agentRuntimeId?: string;\n description?: string;\n endpointPublicUrl?: string;\n resourceName?: string;\n routingConfiguration?: AgentRuntimeEndpointRoutingConfig;\n declare status?: Status;\n statusReason?: string;\n tags?: string[];\n targetVersion?: string;\n\n protected _config?: Config;\n private _dataApi?: AgentRuntimeDataAPI;\n private _agentRuntimeName?: string;\n\n constructor(data?: any, config?: Config) {\n super();\n if (data) {\n updateObjectProperties(this, data);\n }\n this._config = config;\n }\n\n uniqIdCallback = () => this.agentRuntimeEndpointId;\n\n private static getClient() {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const { AgentRuntimeClient } = require('./client');\n return new AgentRuntimeClient();\n }\n\n /**\n * Create an endpoint by Agent Runtime ID\n */\n static async create(params: {\n agentRuntimeId: string;\n input: AgentRuntimeEndpointCreateInput;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> {\n const { agentRuntimeId, input, config } = params;\n return await AgentRuntimeEndpoint.getClient().createEndpoint({\n agentRuntimeId,\n input,\n config,\n });\n }\n\n /**\n * Delete an endpoint by ID\n */\n static async delete(params: {\n agentRuntimeId: string;\n endpointId: string;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> {\n const { agentRuntimeId, endpointId, config } = params;\n return await AgentRuntimeEndpoint.getClient().deleteEndpoint({\n agentRuntimeId,\n endpointId,\n config,\n });\n }\n\n /**\n * Update an endpoint by ID\n */\n static async update(params: {\n agentRuntimeId: string;\n endpointId: string;\n input: AgentRuntimeEndpointUpdateInput;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> {\n const { agentRuntimeId, endpointId, input, config } = params;\n return await AgentRuntimeEndpoint.getClient().updateEndpoint({\n agentRuntimeId,\n endpointId,\n input,\n config,\n });\n }\n\n /**\n * Get an endpoint by ID\n */\n static async get(params: {\n agentRuntimeId: string;\n endpointId: string;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> {\n const { agentRuntimeId, endpointId, config } = params;\n return await AgentRuntimeEndpoint.getClient().getEndpoint({\n agentRuntimeId,\n endpointId,\n config,\n });\n }\n\n /**\n * List endpoints by Agent Runtime ID\n */\n static async list(params: {\n agentRuntimeId: string;\n input?: AgentRuntimeEndpointListInput;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint[]> {\n const { agentRuntimeId, input, config } = params;\n return await AgentRuntimeEndpoint.getClient().listEndpoints({\n agentRuntimeId,\n input,\n config,\n });\n }\n\n static listAll = async (\n params: {\n agentRuntimeId: string;\n config?: Config;\n } & Omit<AgentRuntimeEndpointListInput, KeyOf<PageableInput>>\n ) => {\n const { agentRuntimeId, ...restParams } = params;\n\n return await listAllResourcesFunction(\n (params?: { input?: AgentRuntimeEndpointListInput; config?: Config }) =>\n this.list({ ...params, agentRuntimeId })\n )(restParams);\n };\n\n get = async (params?: { config?: Config }) => {\n return await AgentRuntimeEndpoint.get({\n agentRuntimeId: this.agentRuntimeId!,\n endpointId: this.agentRuntimeEndpointId!,\n config: params?.config,\n });\n };\n\n /**\n * Delete this endpoint\n */\n delete = async (params?: { config?: Config }): Promise<AgentRuntimeEndpoint> => {\n const config = params?.config;\n if (!this.agentRuntimeId || !this.agentRuntimeEndpointId) {\n throw new Error(\n 'agentRuntimeId and agentRuntimeEndpointId are required to delete an endpoint'\n );\n }\n\n const result = await AgentRuntimeEndpoint.delete({\n agentRuntimeId: this.agentRuntimeId,\n endpointId: this.agentRuntimeEndpointId,\n config: config ?? this._config,\n });\n\n updateObjectProperties(this, result);\n return this;\n };\n\n /**\n * Update this endpoint\n */\n update = async (params: {\n input: AgentRuntimeEndpointUpdateInput;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> => {\n const { input, config } = params;\n if (!this.agentRuntimeId || !this.agentRuntimeEndpointId) {\n throw new Error(\n 'agentRuntimeId and agentRuntimeEndpointId are required to update an endpoint'\n );\n }\n\n const result = await AgentRuntimeEndpoint.update({\n agentRuntimeId: this.agentRuntimeId,\n endpointId: this.agentRuntimeEndpointId,\n input,\n config: config ?? this._config,\n });\n\n updateObjectProperties(this, result);\n return this;\n };\n\n /**\n * Refresh this endpoint's data\n */\n refresh = async (params?: { config?: Config }): Promise<AgentRuntimeEndpoint> => {\n const config = params?.config;\n if (!this.agentRuntimeId || !this.agentRuntimeEndpointId) {\n throw new Error(\n 'agentRuntimeId and agentRuntimeEndpointId are required to refresh an endpoint'\n );\n }\n\n const result = await AgentRuntimeEndpoint.get({\n agentRuntimeId: this.agentRuntimeId,\n endpointId: this.agentRuntimeEndpointId,\n config: config ?? this._config,\n });\n\n updateObjectProperties(this, result);\n return this;\n };\n\n /**\n * Invoke agent runtime using OpenAI-compatible API through this endpoint\n *\n * This method provides an OpenAI-compatible interface to invoke the agent runtime\n * through this specific endpoint.\n *\n * @param args - Invocation arguments\n * @returns OpenAI chat completion response\n *\n * @example\n * ```typescript\n * const endpoint = await AgentRuntimeEndpoint.get({\n * agentRuntimeId: \"runtime-id\",\n * endpointId: \"endpoint-id\"\n * });\n * const response = await endpoint.invokeOpenai({\n * messages: [{ role: \"user\", content: \"Hello\" }],\n * stream: false\n * });\n * ```\n */\n invokeOpenai = async (args: InvokeArgs) => {\n const { messages, stream, config } = args;\n\n // Merge configs\n const cfg = Config.withConfigs(this._config, config);\n\n // Create Data API client if not already created\n if (!this._dataApi) {\n // Get agent runtime name if not available\n if (!this._agentRuntimeName && this.agentRuntimeId) {\n const client = AgentRuntimeEndpoint.getClient();\n const runtime = await client.get({\n id: this.agentRuntimeId,\n config: cfg,\n });\n this._agentRuntimeName = runtime.agentRuntimeName;\n }\n\n if (!this._agentRuntimeName) {\n throw new Error('Unable to determine agent runtime name for this endpoint');\n }\n\n this._dataApi = new AgentRuntimeDataAPI(\n this._agentRuntimeName,\n this.agentRuntimeEndpointName || '',\n cfg\n );\n }\n\n return this._dataApi.invokeOpenai({\n messages,\n stream,\n config: cfg,\n });\n };\n}\n","/**\n * Agent Runtime Data Models\n *\n * 此模块定义 Agent Runtime 相关的所有数据模型、枚举和输入输出对象。\n * This module defines all data models, enums, and input/output objects related to Agent Runtime.\n */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport * as crc64Lib from 'crc64-ecma182.js';\n\nimport { Status } from '../utils/model';\nimport type { NetworkConfig, PageableInput } from '../utils/model';\n\n/**\n * Agent Runtime artifact type\n */\nexport type AgentRuntimeArtifact = 'Code' | 'Container';\n\nexport const AgentRuntimeArtifact = {\n CODE: 'Code' as AgentRuntimeArtifact,\n CONTAINER: 'Container' as AgentRuntimeArtifact,\n};\n\n/**\n * Agent Runtime language\n */\nexport type AgentRuntimeLanguage =\n | 'python3.10'\n | 'python3.12'\n | 'nodejs18'\n | 'nodejs20'\n | 'java8'\n | 'java11';\n\nexport const AgentRuntimeLanguage = {\n PYTHON310: 'python3.10' as AgentRuntimeLanguage,\n PYTHON312: 'python3.12' as AgentRuntimeLanguage,\n NODEJS18: 'nodejs18' as AgentRuntimeLanguage,\n NODEJS20: 'nodejs20' as AgentRuntimeLanguage,\n JAVA8: 'java8' as AgentRuntimeLanguage,\n JAVA11: 'java11' as AgentRuntimeLanguage,\n};\n\n/**\n * Agent Runtime protocol type\n */\nexport type AgentRuntimeProtocolType = 'HTTP' | 'MCP';\n\nexport const AgentRuntimeProtocolType = {\n HTTP: 'HTTP' as AgentRuntimeProtocolType,\n MCP: 'MCP' as AgentRuntimeProtocolType,\n};\n\n/**\n * Agent Runtime code configuration\n */\nexport interface AgentRuntimeCode {\n /** CRC-64 checksum of the code package */\n checksum?: string;\n /** Command to run in the runtime (e.g., [\"python\"]) */\n command?: string[];\n /** Programming language runtime */\n language?: AgentRuntimeLanguage;\n /** OSS bucket name */\n ossBucketName?: string;\n /** OSS object name */\n ossObjectName?: string;\n /** Base64 encoded ZIP file */\n zipFile?: string;\n}\n\n/**\n * Create AgentRuntimeCode from a ZIP file\n */\nexport async function codeFromZipFile(\n language: AgentRuntimeLanguage,\n command: string[],\n zipFilePath: string\n): Promise<AgentRuntimeCode> {\n const data = await fs.promises.readFile(zipFilePath);\n\n // Calculate CRC-64 checksum (same as Python's crcmod with CRC-64-ECMA182)\n const checksum = crc64Lib.crc64(data);\n\n return {\n language,\n command,\n zipFile: data.toString('base64'),\n checksum: checksum,\n };\n}\n\n/**\n * Create AgentRuntimeCode from OSS\n */\nexport function codeFromOss(\n language: AgentRuntimeLanguage,\n command: string[],\n bucket: string,\n object: string\n): AgentRuntimeCode {\n return {\n language,\n command,\n ossBucketName: bucket,\n ossObjectName: object,\n };\n}\n\n/**\n * Create AgentRuntimeCode from a file or directory\n */\nexport async function codeFromFile(\n language: AgentRuntimeLanguage,\n command: string[],\n filePath: string\n): Promise<AgentRuntimeCode> {\n const archiver = await import('archiver').catch(() => null);\n\n if (!archiver) {\n throw new Error(\n 'archiver package is required for codeFromFile. Install it with: npm install archiver'\n );\n }\n\n const stats = await fs.promises.stat(filePath);\n const zipFilePath = path.join(path.dirname(filePath), `${Date.now()}.zip`);\n\n // Create ZIP archive\n const output = fs.createWriteStream(zipFilePath);\n const archive = archiver.default('zip', { zlib: { level: 9 } });\n\n await new Promise<void>((resolve, reject) => {\n output.on('close', resolve);\n archive.on('error', reject);\n archive.pipe(output);\n\n if (stats.isDirectory()) {\n archive.directory(filePath, false);\n } else {\n archive.file(filePath, { name: path.basename(filePath) });\n }\n\n archive.finalize();\n });\n\n const code = await codeFromZipFile(language, command, zipFilePath);\n\n // Clean up temp file\n await fs.promises.unlink(zipFilePath);\n\n return code;\n}\n\n/**\n * Agent Runtime container configuration\n */\nexport interface AgentRuntimeContainer {\n /** Command to run in the runtime */\n command?: string[];\n /** Container image address */\n image?: string;\n}\n\n/**\n * Agent Runtime health check configuration\n */\nexport interface AgentRuntimeHealthCheckConfig {\n /** Failure threshold before marking unhealthy */\n failureThreshold?: number;\n /** HTTP GET URL for health check */\n httpGetUrl?: string;\n /** Initial delay before first health check (seconds) */\n initialDelaySeconds?: number;\n /** Health check interval (seconds) */\n periodSeconds?: number;\n /** Success threshold before marking healthy */\n successThreshold?: number;\n /** Health check timeout (seconds) */\n timeoutSeconds?: number;\n}\n\n/**\n * Agent Runtime log configuration\n */\nexport interface AgentRuntimeLogConfig {\n /** SLS project name */\n project: string;\n /** SLS logstore name */\n logstore: string;\n}\n\n/**\n * Agent Runtime protocol configuration\n */\nexport interface AgentRuntimeProtocolConfig {\n /** Protocol type */\n type?: AgentRuntimeProtocolType;\n}\n\n/**\n * Endpoint routing weight configuration\n */\nexport interface AgentRuntimeEndpointRoutingWeight {\n /** Version identifier */\n version?: string;\n /** Weight value */\n weight?: number;\n}\n\n/**\n * Endpoint routing configuration\n */\nexport interface AgentRuntimeEndpointRoutingConfig {\n /** Version weights list */\n versionWeights?: AgentRuntimeEndpointRoutingWeight[];\n}\n\n/**\n * Agent Runtime create input\n */\nexport interface AgentRuntimeCreateInput {\n /** Agent Runtime name */\n agentRuntimeName?: string;\n /** Artifact type (Code or Container) */\n artifactType?: AgentRuntimeArtifact;\n /** Code configuration */\n codeConfiguration?: AgentRuntimeCode;\n /** Container configuration */\n containerConfiguration?: AgentRuntimeContainer;\n /** CPU cores */\n cpu?: number;\n /** Credential name */\n credentialName?: string;\n /** Description */\n description?: string;\n /** Environment variables */\n environmentVariables?: Record<string, string>;\n /** Execution role ARN */\n executionRoleArn?: string;\n /** Health check configuration */\n healthCheckConfiguration?: AgentRuntimeHealthCheckConfig;\n /** Log configuration */\n logConfiguration?: AgentRuntimeLogConfig;\n /** Memory in MB */\n memory?: number;\n /** Network configuration */\n networkConfiguration?: NetworkConfig;\n /** Port number */\n port?: number;\n /** Protocol configuration */\n protocolConfiguration?: AgentRuntimeProtocolConfig;\n /** Session concurrency limit per instance */\n sessionConcurrencyLimitPerInstance?: number;\n /** Session idle timeout in seconds */\n sessionIdleTimeoutSeconds?: number;\n /** Tags */\n tags?: string[];\n}\n\n/**\n * Agent Runtime update input\n */\nexport interface AgentRuntimeUpdateInput {\n /** Agent Runtime name */\n agentRuntimeName?: string;\n /** Artifact type (Code or Container) */\n artifactType?: AgentRuntimeArtifact;\n /** Code configuration */\n codeConfiguration?: AgentRuntimeCode;\n /** Container configuration */\n containerConfiguration?: AgentRuntimeContainer;\n /** CPU cores */\n cpu?: number;\n /** Credential name */\n credentialName?: string;\n /** Description */\n description?: string;\n /** Environment variables */\n environmentVariables?: Record<string, string>;\n /** Execution role ARN */\n executionRoleArn?: string;\n /** Health check configuration */\n healthCheckConfiguration?: AgentRuntimeHealthCheckConfig;\n /** Log configuration */\n logConfiguration?: AgentRuntimeLogConfig;\n /** Memory in MB */\n memory?: number;\n /** Network configuration */\n networkConfiguration?: NetworkConfig;\n /** Port number */\n port?: number;\n /** Protocol configuration */\n protocolConfiguration?: AgentRuntimeProtocolConfig;\n /** Session concurrency limit per instance */\n sessionConcurrencyLimitPerInstance?: number;\n /** Session idle timeout in seconds */\n sessionIdleTimeoutSeconds?: number;\n /** Tags */\n tags?: string[];\n}\n\n/**\n * Agent Runtime list input\n */\nexport interface AgentRuntimeListInput extends PageableInput {\n /** Filter by name */\n agentRuntimeName?: string;\n /** Filter by tags (comma separated) */\n tags?: string;\n /** Search mode */\n searchMode?: string;\n}\n\n/**\n * Agent Runtime endpoint create input\n */\nexport interface AgentRuntimeEndpointCreateInput {\n /** Endpoint name */\n agentRuntimeEndpointName?: string;\n /** Description */\n description?: string;\n /** Routing configuration */\n routingConfiguration?: AgentRuntimeEndpointRoutingConfig;\n /** Tags */\n tags?: string[];\n /** Target version */\n targetVersion?: string;\n}\n\n/**\n * Agent Runtime endpoint update input\n */\nexport interface AgentRuntimeEndpointUpdateInput {\n /** Endpoint name */\n agentRuntimeEndpointName?: string;\n /** Description */\n description?: string;\n /** Routing configuration */\n routingConfiguration?: AgentRuntimeEndpointRoutingConfig;\n /** Tags */\n tags?: string[];\n /** Target version */\n targetVersion?: string;\n}\n\n/**\n * Agent Runtime endpoint list input\n */\nexport interface AgentRuntimeEndpointListInput extends PageableInput {\n /** Filter by endpoint name */\n endpointName?: string;\n /** Search mode */\n searchMode?: string;\n}\n\n/**\n * Agent Runtime version\n */\nexport interface AgentRuntimeVersion {\n /** Agent Runtime ARN */\n agentRuntimeArn?: string;\n /** Agent Runtime ID */\n agentRuntimeId?: string;\n /** Agent Runtime name */\n agentRuntimeName?: string;\n /** Version number */\n agentRuntimeVersion?: string;\n /** Version description */\n description?: string;\n /** Last update timestamp */\n lastUpdatedAt?: string;\n}\n\n/**\n * Agent Runtime version list input\n */\nexport interface AgentRuntimeVersionListInput extends PageableInput {}\n\n/**\n * Agent Runtime data (internal representation from API)\n */\nexport interface AgentRuntimeData {\n agentRuntimeArn?: string;\n agentRuntimeId?: string;\n agentRuntimeName?: string;\n agentRuntimeVersion?: string;\n artifactType?: string;\n codeConfiguration?: AgentRuntimeCode;\n containerConfiguration?: AgentRuntimeContainer;\n cpu?: number;\n createdAt?: string;\n credentialName?: string;\n description?: string;\n environmentVariables?: Record<string, string>;\n executionRoleArn?: string;\n healthCheckConfiguration?: AgentRuntimeHealthCheckConfig;\n lastUpdatedAt?: string;\n logConfiguration?: AgentRuntimeLogConfig;\n memory?: number;\n networkConfiguration?: NetworkConfig;\n port?: number;\n protocolConfiguration?: AgentRuntimeProtocolConfig;\n resourceName?: string;\n sessionConcurrencyLimitPerInstance?: number;\n sessionIdleTimeoutSeconds?: number;\n status?: Status;\n statusReason?: string;\n tags?: string[];\n}\n\n/**\n * Agent Runtime endpoint data (internal representation from API)\n */\nexport interface AgentRuntimeEndpointData {\n agentRuntimeEndpointArn?: string;\n agentRuntimeEndpointId?: string;\n agentRuntimeEndpointName?: string;\n agentRuntimeId?: string;\n description?: string;\n endpointPublicUrl?: string;\n resourceName?: string;\n routingConfiguration?: AgentRuntimeEndpointRoutingConfig;\n status?: Status;\n statusReason?: string;\n tags?: string[];\n targetVersion?: string;\n}\n\nexport { Status, NetworkConfig };\n","/**\n * Agent Runtime Resource\n *\n * 此模块定义 Agent Runtime 资源类。\n * This module defines the Agent Runtime resource class.\n */\n\nimport { Config } from '../utils/config';\nimport { Status } from '../utils/model';\nimport { listAllResourcesFunction, ResourceBase, updateObjectProperties } from '../utils/resource';\nimport type { NetworkConfig } from '../utils/model';\n\nimport { AgentRuntimeDataAPI, InvokeArgs } from './api/data';\nimport { AgentRuntimeEndpoint } from './endpoint';\nimport {\n AgentRuntimeCode,\n AgentRuntimeContainer,\n AgentRuntimeCreateInput,\n AgentRuntimeData,\n AgentRuntimeEndpointCreateInput,\n AgentRuntimeEndpointUpdateInput,\n AgentRuntimeHealthCheckConfig,\n AgentRuntimeListInput,\n AgentRuntimeLogConfig,\n AgentRuntimeProtocolConfig,\n AgentRuntimeUpdateInput,\n AgentRuntimeVersion,\n AgentRuntimeVersionListInput,\n} from './model';\n\n/**\n * Agent Runtime resource class\n */\nexport class AgentRuntime extends ResourceBase implements AgentRuntimeData {\n // System properties\n agentRuntimeArn?: string;\n agentRuntimeId?: string;\n agentRuntimeName?: string;\n agentRuntimeVersion?: string;\n artifactType?: string;\n codeConfiguration?: AgentRuntimeCode;\n containerConfiguration?: AgentRuntimeContainer;\n cpu?: number;\n createdAt?: string;\n credentialName?: string;\n description?: string;\n environmentVariables?: Record<string, string>;\n executionRoleArn?: string;\n healthCheckConfiguration?: AgentRuntimeHealthCheckConfig;\n lastUpdatedAt?: string;\n logConfiguration?: AgentRuntimeLogConfig;\n memory?: number;\n networkConfiguration?: NetworkConfig;\n port?: number;\n protocolConfiguration?: AgentRuntimeProtocolConfig;\n resourceName?: string;\n sessionConcurrencyLimitPerInstance?: number;\n sessionIdleTimeoutSeconds?: number;\n declare status?: Status;\n statusReason?: string;\n tags?: string[];\n\n protected _config?: Config;\n private _dataApiCache: Record<string, AgentRuntimeDataAPI> = {};\n\n constructor(data?: any, config?: Config) {\n super();\n\n if (data) {\n updateObjectProperties(this, data);\n }\n this._config = config;\n }\n\n uniqIdCallback = () => this.agentRuntimeId;\n\n private static getClient() {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const { AgentRuntimeClient } = require('./client');\n return new AgentRuntimeClient();\n }\n\n /**\n * Create a new Agent Runtime\n */\n static async create(params: {\n input: AgentRuntimeCreateInput;\n config?: Config;\n }): Promise<AgentRuntime> {\n const { input, config } = params;\n return await AgentRuntime.getClient().create({ input, config });\n }\n\n /**\n * Delete an Agent Runtime by ID\n */\n static async delete(params: { id: string; config?: Config }): Promise<AgentRuntime> {\n const { id, config } = params;\n return await AgentRuntime.getClient().delete({ id, config });\n }\n\n /**\n * Update an Agent Runtime by ID\n */\n static async update(params: {\n id: string;\n input: AgentRuntimeUpdateInput;\n config?: Config;\n }): Promise<AgentRuntime> {\n const { id, input, config } = params;\n return await AgentRuntime.getClient().update({ id, input, config });\n }\n\n /**\n * Get an Agent Runtime by ID\n */\n static async get(params: { id: string; config?: Config }): Promise<AgentRuntime> {\n const { id, config } = params;\n return await AgentRuntime.getClient().get({ id, config });\n }\n\n /**\n * List Agent Runtimes\n */\n static async list(params?: {\n input?: AgentRuntimeListInput;\n config?: Config;\n }): Promise<AgentRuntime[]> {\n const { input, config } = params ?? {};\n return await AgentRuntime.getClient().list({ input, config });\n }\n\n static listAll = listAllResourcesFunction(this.list);\n\n /**\n * List Agent Runtime versions by ID\n */\n static async listVersionsById(params: {\n agentRuntimeId: string;\n input?: AgentRuntimeVersionListInput;\n config?: Config;\n }): Promise<AgentRuntimeVersion[]> {\n const { agentRuntimeId, input, config } = params;\n const client = AgentRuntime.getClient();\n return await client.listVersions({ agentRuntimeId, input, config });\n }\n\n /**\n * Delete this runtime\n */\n delete = async (params?: { config?: Config }): Promise<AgentRuntime> => {\n const config = params?.config;\n if (!this.agentRuntimeId) {\n throw new Error('agentRuntimeId is required to delete an Agent Runtime');\n }\n\n const result = await AgentRuntime.delete({\n id: this.agentRuntimeId,\n config: config ?? this._config,\n });\n updateObjectProperties(this, result);\n return this;\n };\n\n /**\n * Update this runtime\n */\n update = async (params: {\n input: AgentRuntimeUpdateInput;\n config?: Config;\n }): Promise<AgentRuntime> => {\n const { input, config } = params;\n if (!this.agentRuntimeId) {\n throw new Error('agentRuntimeId is required to update an Agent Runtime');\n }\n\n const result = await AgentRuntime.update({\n id: this.agentRuntimeId,\n input,\n config: config ?? this._config,\n });\n updateObjectProperties(this, result);\n return this;\n };\n\n /**\n * Refresh this runtime's data\n */\n get = async (params?: { config?: Config }): Promise<AgentRuntime> => {\n const config = params?.config;\n if (!this.agentRuntimeId) {\n throw new Error('agentRuntimeId is required to refresh an Agent Runtime');\n }\n\n const result = await AgentRuntime.get({\n id: this.agentRuntimeId,\n config: config ?? this._config,\n });\n updateObjectProperties(this, result);\n return this;\n };\n\n /**\n * Create an endpoint for this runtime\n */\n createEndpoint = async (params: {\n input: AgentRuntimeEndpointCreateInput;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> => {\n const { input, config } = params;\n if (!this.agentRuntimeId) {\n throw new Error('agentRuntimeId is required to create an endpoint');\n }\n\n return AgentRuntimeEndpoint.create({\n agentRuntimeId: this.agentRuntimeId,\n input,\n config: config ?? this._config,\n });\n };\n\n /**\n * Delete an endpoint from this runtime\n */\n deleteEndpoint = async (params: {\n endpointId: string;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> => {\n const { endpointId, config } = params;\n if (!this.agentRuntimeId) {\n throw new Error('agentRuntimeId is required to delete an endpoint');\n }\n\n return AgentRuntimeEndpoint.delete({\n agentRuntimeId: this.agentRuntimeId,\n endpointId,\n config: config ?? this._config,\n });\n };\n\n /**\n * Update an endpoint of this runtime\n */\n updateEndpoint = async (params: {\n endpointId: string;\n input: AgentRuntimeEndpointUpdateInput;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> => {\n const { endpointId, input, config } = params;\n if (!this.agentRuntimeId) {\n throw new Error('agentRuntimeId is required to update an endpoint');\n }\n\n return AgentRuntimeEndpoint.update({\n agentRuntimeId: this.agentRuntimeId,\n endpointId,\n input,\n config: config ?? this._config,\n });\n };\n\n /**\n * Get an endpoint of this runtime\n */\n getEndpoint = async (params: {\n endpointId: string;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> => {\n const { endpointId, config } = params;\n if (!this.agentRuntimeId) {\n throw new Error('agentRuntimeId is required to get an endpoint');\n }\n\n return AgentRuntimeEndpoint.get({\n agentRuntimeId: this.agentRuntimeId,\n endpointId,\n config: config ?? this._config,\n });\n };\n\n /**\n * List endpoints of this runtime\n */\n listEndpoints = async (params?: { config?: Config }): Promise<AgentRuntimeEndpoint[]> => {\n const config = params?.config;\n if (!this.agentRuntimeId) {\n throw new Error('agentRuntimeId is required to list endpoints');\n }\n\n return AgentRuntimeEndpoint.list({\n agentRuntimeId: this.agentRuntimeId,\n config: config ?? this._config,\n });\n };\n\n /**\n * List versions of this runtime\n */\n listVersions = async (params?: { config?: Config }): Promise<AgentRuntimeVersion[]> => {\n const config = params?.config;\n if (!this.agentRuntimeId) {\n throw new Error('agentRuntimeId is required to list versions');\n }\n\n return AgentRuntime.listVersionsById({\n agentRuntimeId: this.agentRuntimeId,\n config: config ?? this._config,\n });\n };\n\n /**\n * Invoke agent runtime using OpenAI-compatible API\n *\n * This method provides an OpenAI-compatible interface to invoke the agent runtime.\n * It creates a Data API client and forwards the invocation request.\n *\n * @param args - Invocation arguments\n * @returns OpenAI chat completion response\n *\n * @example\n * ```typescript\n * const runtime = await AgentRuntime.get({ id: \"runtime-id\" });\n * const response = await runtime.invokeOpenai({\n * agentRuntimeEndpointName: \"Default\",\n * messages: [{ role: \"user\", content: \"Hello\" }],\n * stream: false\n * });\n * ```\n */\n invokeOpenai = async (args: InvokeArgs & { agentRuntimeEndpointName?: string }) => {\n const { agentRuntimeEndpointName = 'Default', messages, stream, config } = args;\n\n if (!this.agentRuntimeName) {\n throw new Error('agentRuntimeName is required to invoke OpenAI');\n }\n\n // Merge configs\n const cfg = Config.withConfigs(this._config, config);\n\n // Create or reuse Data API client\n if (!this._dataApiCache[agentRuntimeEndpointName]) {\n this._dataApiCache[agentRuntimeEndpointName] = new AgentRuntimeDataAPI(\n this.agentRuntimeName,\n agentRuntimeEndpointName,\n cfg\n );\n }\n\n return this._dataApiCache[agentRuntimeEndpointName].invokeOpenai({\n messages,\n stream,\n config: cfg,\n });\n };\n}\n","/**\n * Agent Runtime Client\n *\n * 此模块提供 Agent Runtime 的客户端 API。\n * This module provides the client API for Agent Runtime.\n */\n\nimport * as $AgentRun from '@alicloud/agentrun20250910';\nimport { Config } from '../utils/config';\nimport { HTTPError } from '../utils/exception';\nimport { NetworkMode } from '../utils/model';\n\nimport { AgentRuntimeControlAPI } from './api/control';\nimport { AgentRuntimeDataAPI, InvokeArgs } from './api/data';\nimport { AgentRuntimeEndpoint } from './endpoint';\nimport {\n AgentRuntimeArtifact,\n AgentRuntimeCreateInput,\n AgentRuntimeEndpointCreateInput,\n AgentRuntimeEndpointListInput,\n AgentRuntimeEndpointUpdateInput,\n AgentRuntimeListInput,\n AgentRuntimeUpdateInput,\n AgentRuntimeVersion,\n AgentRuntimeVersionListInput,\n} from './model';\nimport { AgentRuntime } from './runtime';\n\n/**\n * Agent Runtime Client\n *\n * 提供 Agent Runtime 的创建、删除、更新、查询和端点管理功能。\n * Provides create, delete, update, query and endpoint management functions for Agent Runtime.\n */\nexport class AgentRuntimeClient {\n private config?: Config;\n private controlApi: AgentRuntimeControlAPI;\n\n constructor(config?: Config) {\n this.config = config;\n this.controlApi = new AgentRuntimeControlAPI(config);\n }\n\n /**\n * Create an Agent Runtime\n */\n create = async (params: {\n input: AgentRuntimeCreateInput;\n config?: Config;\n }): Promise<AgentRuntime> => {\n const { input, config } = params;\n const cfg = Config.withConfigs(this.config, config);\n\n try {\n // Set default network configuration\n if (!input.networkConfiguration) {\n input.networkConfiguration = {};\n }\n\n // Auto-detect artifact type\n if (!input.artifactType) {\n if (input.codeConfiguration) {\n input.artifactType = AgentRuntimeArtifact.CODE;\n } else if (input.containerConfiguration) {\n input.artifactType = AgentRuntimeArtifact.CONTAINER;\n } else {\n throw new Error('Either codeConfiguration or containerConfiguration must be provided');\n }\n }\n\n const result = await this.controlApi.createAgentRuntime({\n input: new $AgentRun.CreateAgentRuntimeInput({\n ...input,\n codeConfiguration: input.codeConfiguration\n ? new $AgentRun.CodeConfiguration({\n ...input.codeConfiguration,\n })\n : undefined,\n containerConfiguration: input.containerConfiguration\n ? new $AgentRun.ContainerConfiguration({\n ...input.containerConfiguration,\n })\n : undefined,\n networkConfiguration: input.networkConfiguration\n ? new $AgentRun.NetworkConfiguration({\n networkMode: input.networkConfiguration.networkMode || NetworkMode.PUBLIC,\n securityGroupId: input.networkConfiguration.securityGroupId,\n vpcId: input.networkConfiguration.vpcId,\n vswitchIds: input.networkConfiguration.vSwitchIds,\n })\n : undefined,\n }),\n config: cfg,\n });\n\n return new AgentRuntime(result, cfg);\n } catch (error) {\n if (error instanceof HTTPError) {\n throw error.toResourceError('AgentRuntime', input.agentRuntimeName);\n }\n throw error;\n }\n };\n\n /**\n * Delete an Agent Runtime\n */\n delete = async (params: { id: string; config?: Config }): Promise<AgentRuntime> => {\n const { id, config } = params;\n const cfg = Config.withConfigs(this.config, config);\n\n try {\n // First delete all endpoints\n const endpoints = await this.listEndpoints({\n agentRuntimeId: id,\n config: cfg,\n });\n for (const endpoint of endpoints) {\n await endpoint.delete({ config: cfg });\n }\n\n // Wait for all endpoints to be deleted\n let remaining = await this.listEndpoints({\n agentRuntimeId: id,\n config: cfg,\n });\n while (remaining.length > 0) {\n await new Promise(resolve => setTimeout(resolve, 1000));\n remaining = await this.listEndpoints({\n agentRuntimeId: id,\n config: cfg,\n });\n }\n\n const result = await this.controlApi.deleteAgentRuntime({\n agentId: id,\n config: cfg,\n });\n\n return new AgentRuntime(result, cfg);\n } catch (error) {\n if (error instanceof HTTPError) {\n throw error.toResourceError('AgentRuntime', id);\n }\n throw error;\n }\n };\n\n /**\n * Update an Agent Runtime\n */\n update = async (params: {\n id: string;\n input: AgentRuntimeUpdateInput;\n config?: Config;\n }): Promise<AgentRuntime> => {\n const { id, input, config } = params;\n const cfg = Config.withConfigs(this.config, config);\n\n try {\n const result = await this.controlApi.updateAgentRuntime({\n agentId: id,\n input: new $AgentRun.UpdateAgentRuntimeInput({\n ...input,\n codeConfiguration: input.codeConfiguration\n ? new $AgentRun.CodeConfiguration({\n ...input.codeConfiguration,\n })\n : undefined,\n containerConfiguration: input.containerConfiguration\n ? new $AgentRun.ContainerConfiguration({\n ...input.containerConfiguration,\n })\n : undefined,\n }),\n config: cfg,\n });\n\n return new AgentRuntime(result, cfg);\n } catch (error) {\n if (error instanceof HTTPError) {\n throw error.toResourceError('AgentRuntime', id);\n }\n throw error;\n }\n };\n\n /**\n * Get an Agent Runtime\n */\n get = async (params: { id: string; config?: Config }): Promise<AgentRuntime> => {\n const { id, config } = params;\n const cfg = Config.withConfigs(this.config, config);\n\n try {\n const result = await this.controlApi.getAgentRuntime({\n agentId: id,\n config: cfg,\n });\n return new AgentRuntime(result, cfg);\n } catch (error) {\n if (error instanceof HTTPError) {\n throw error.toResourceError('AgentRuntime', id);\n }\n throw error;\n }\n };\n\n /**\n * List Agent Runtimes\n */\n list = async (params?: {\n input?: AgentRuntimeListInput;\n config?: Config;\n }): Promise<AgentRuntime[]> => {\n const { input, config } = params ?? {};\n const cfg = Config.withConfigs(this.config, config);\n const request = new $AgentRun.ListAgentRuntimesRequest({\n ...input,\n });\n const result = await this.controlApi.listAgentRuntimes({\n input: request,\n config: cfg,\n });\n return (result.items || []).map(item => new AgentRuntime(item, cfg));\n };\n\n // /**\n // * List all Agent Runtimes (with pagination)\n // */\n // listAll = async (params?: {\n // options?: {\n // agentRuntimeName?: string;\n // tags?: string;\n // searchMode?: string;\n // };\n // config?: Config;\n // }): Promise<AgentRuntime[]> => {\n // const { options, config } = params ?? {};\n // return AgentRuntime.listAll(options, config ?? this.config);\n // };\n\n /**\n * Create an endpoint for an Agent Runtime\n */\n createEndpoint = async (params: {\n agentRuntimeId: string;\n input: AgentRuntimeEndpointCreateInput;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> => {\n const { agentRuntimeId, input, config } = params;\n const cfg = Config.withConfigs(this.config, config);\n\n try {\n // Set default targetVersion to \"LATEST\" if not provided (same as Python SDK)\n const targetVersion = input.targetVersion || 'LATEST';\n\n const result = await this.controlApi.createAgentRuntimeEndpoint({\n agentId: agentRuntimeId,\n input: new $AgentRun.CreateAgentRuntimeEndpointInput({\n ...input,\n targetVersion,\n }),\n config: cfg,\n });\n\n return new AgentRuntimeEndpoint(result, cfg);\n } catch (error) {\n if (error instanceof HTTPError) {\n throw error.toResourceError(\n 'AgentRuntimeEndpoint',\n `${agentRuntimeId}/${input.agentRuntimeEndpointName}`\n );\n }\n throw error;\n }\n };\n\n /**\n * Delete an endpoint\n */\n deleteEndpoint = async (params: {\n agentRuntimeId: string;\n endpointId: string;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> => {\n const { agentRuntimeId, endpointId, config } = params;\n const cfg = Config.withConfigs(this.config, config);\n\n try {\n const result = await this.controlApi.deleteAgentRuntimeEndpoint({\n agentId: agentRuntimeId,\n endpointId,\n config: cfg,\n });\n return new AgentRuntimeEndpoint(result, cfg);\n } catch (error) {\n if (error instanceof HTTPError) {\n throw error.toResourceError('AgentRuntimeEndpoint', `${agentRuntimeId}/${endpointId}`);\n }\n throw error;\n }\n };\n\n /**\n * Update an endpoint\n */\n updateEndpoint = async (params: {\n agentRuntimeId: string;\n endpointId: string;\n input: AgentRuntimeEndpointUpdateInput;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> => {\n const { agentRuntimeId, endpointId, input, config } = params;\n const cfg = Config.withConfigs(this.config, config);\n\n try {\n const result = await this.controlApi.updateAgentRuntimeEndpoint({\n agentId: agentRuntimeId,\n endpointId,\n input: new $AgentRun.UpdateAgentRuntimeEndpointInput({\n ...input,\n }),\n config: cfg,\n });\n return new AgentRuntimeEndpoint(result, cfg);\n } catch (error) {\n if (error instanceof HTTPError) {\n throw error.toResourceError('AgentRuntimeEndpoint', `${agentRuntimeId}/${endpointId}`);\n }\n throw error;\n }\n };\n\n /**\n * Get an endpoint\n */\n getEndpoint = async (params: {\n agentRuntimeId: string;\n endpointId: string;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint> => {\n const { agentRuntimeId, endpointId, config } = params;\n const cfg = Config.withConfigs(this.config, config);\n\n try {\n const result = await this.controlApi.getAgentRuntimeEndpoint({\n agentId: agentRuntimeId,\n endpointId,\n config: cfg,\n });\n return new AgentRuntimeEndpoint(result, cfg);\n } catch (error) {\n if (error instanceof HTTPError) {\n throw error.toResourceError('AgentRuntimeEndpoint', `${agentRuntimeId}/${endpointId}`);\n }\n throw error;\n }\n };\n\n /**\n * List endpoints for an Agent Runtime\n */\n listEndpoints = async (params: {\n agentRuntimeId: string;\n input?: AgentRuntimeEndpointListInput;\n config?: Config;\n }): Promise<AgentRuntimeEndpoint[]> => {\n const { agentRuntimeId, input, config } = params;\n const cfg = Config.withConfigs(this.config, config);\n\n try {\n const request = new $AgentRun.ListAgentRuntimeEndpointsRequest({\n ...input,\n });\n const result = await this.controlApi.listAgentRuntimeEndpoints({\n agentId: agentRuntimeId,\n input: request,\n config: cfg,\n });\n return (result.items || []).map(item => new AgentRuntimeEndpoint(item, cfg));\n } catch (error) {\n if (error instanceof HTTPError) {\n throw error.toResourceError('AgentRuntime', agentRuntimeId);\n }\n throw error;\n }\n };\n\n /**\n * List versions for an Agent Runtime\n */\n listVersions = async (params: {\n agentRuntimeId: string;\n input?: AgentRuntimeVersionListInput;\n config?: Config;\n }): Promise<AgentRuntimeVersion[]> => {\n const { agentRuntimeId, input, config } = params;\n const cfg = Config.withConfigs(this.config, config);\n const versions: AgentRuntimeVersion[] = [];\n let page = 1;\n const pageSize = 50;\n\n while (true) {\n const request = new $AgentRun.ListAgentRuntimeVersionsRequest({\n ...input,\n pageNumber: input?.pageNumber ?? page,\n pageSize: input?.pageSize ?? pageSize,\n });\n const result = await this.controlApi.listAgentRuntimeVersions({\n agentId: agentRuntimeId,\n input: request,\n config: cfg,\n });\n\n if (result.items) {\n for (const item of result.items) {\n versions.push({\n agentRuntimeArn: item.agentRuntimeArn,\n agentRuntimeId: item.agentRuntimeId,\n agentRuntimeName: item.agentRuntimeName,\n agentRuntimeVersion: item.agentRuntimeVersion,\n description: item.description,\n lastUpdatedAt: item.lastUpdatedAt,\n });\n }\n }\n\n if (!result.items || result.items.length < pageSize) {\n break;\n }\n\n page++;\n }\n\n // Deduplicate\n const seen = new Set<string>();\n return versions.filter(v => {\n if (!v.agentRuntimeVersion || seen.has(v.agentRuntimeVersion)) {\n return false;\n }\n seen.add(v.agentRuntimeVersion);\n return true;\n });\n };\n\n /**\n * Invoke agent runtime using OpenAI-compatible API\n *\n * This method provides an OpenAI-compatible interface to invoke the agent runtime.\n *\n * @param params - Parameters including agent runtime name, endpoint name, and invocation args\n * @returns OpenAI chat completion response\n *\n * @example\n * ```typescript\n * const client = new AgentRuntimeClient();\n * const response = await client.invokeOpenai({\n * agentRuntimeName: \"my-runtime\",\n * agentRuntimeEndpointName: \"Default\",\n * messages: [{ role: \"user\", content: \"Hello\" }],\n * stream: false\n * });\n * ```\n */\n invokeOpenai = async (\n params: {\n agentRuntimeName: string;\n agentRuntimeEndpointName?: string;\n } & InvokeArgs\n ) => {\n const {\n agentRuntimeName,\n agentRuntimeEndpointName = 'Default',\n messages,\n stream,\n config,\n } = params;\n\n // Merge configs\n const cfg = Config.withConfigs(this.config, config);\n\n // Create Data API client\n const dataApi = new AgentRuntimeDataAPI(agentRuntimeName, agentRuntimeEndpointName, cfg);\n\n return dataApi.invokeOpenai({\n messages,\n stream,\n config: cfg,\n });\n };\n}\n","// Version check utility to ensure warning is only shown once globally\ndeclare const __VERSION__: string;\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : '0.0.0-dev';\nimport { logger } from './log';\n\nif (\n !process.env.DISABLE_BREAKING_CHANGES_WARNING &&\n !(globalThis as any)._AGENTRUN_VERSION_WARNING_SHOWN\n) {\n (globalThis as any)._AGENTRUN_VERSION_WARNING_SHOWN = true;\n logger.warn(\n `当前您正在使用 AgentRun Python SDK 版本 ${VERSION}。早期版本通常包含许多新功能,这些功能\\x1b[1;33m 可能引入不兼容的变更 \\x1b[0m。为避免潜在问题,我们强烈建议\\x1b[1;32m 将依赖锁定为此版本 \\x1b[0m。\nYou are currently using AgentRun Python SDK version ${VERSION}. Early versions often include many new features, which\\x1b[1;33m may introduce breaking changes\\x1b[0m. To avoid potential issues, we strongly recommend \\x1b[1;32mpinning the dependency to this version\\x1b[0m.\n\\x1b[2;3m pip install 'agentrun-sdk==${VERSION}' \\x1b[0m\n\n增加\\x1b[2;3m DISABLE_BREAKING_CHANGES_WARNING=1 \\x1b[0m到您的环境变量以关闭此警告。\nAdd\\x1b[2;3m DISABLE_BREAKING_CHANGES_WARNING=1 \\x1b[0mto your environment variables to disable this warning.\n \nReleases:\\x1b[2;3m https://github.com/Serverless-Devs/agentrun-sdk-python/releases\\x1b[0m`\n );\n}\n","/**\n * Agent Runtime module exports\n */\n\nimport '@/utils/version-check';\n\nexport { AgentRuntimeClient } from './client';\nexport { AgentRuntime } from './runtime';\nexport { AgentRuntimeEndpoint } from './endpoint';\nexport { AgentRuntimeControlAPI } from './api/control';\nexport { AgentRuntimeDataAPI } from './api/data';\n\nexport {\n AgentRuntimeArtifact,\n AgentRuntimeLanguage,\n AgentRuntimeProtocolType,\n codeFromFile,\n codeFromOss,\n codeFromZipFile,\n} from './model';\n\nexport type {\n AgentRuntimeCode,\n AgentRuntimeContainer,\n AgentRuntimeHealthCheckConfig,\n AgentRuntimeLogConfig,\n AgentRuntimeProtocolConfig,\n AgentRuntimeEndpointRoutingConfig,\n AgentRuntimeEndpointRoutingWeight,\n AgentRuntimeCreateInput,\n AgentRuntimeUpdateInput,\n AgentRuntimeListInput,\n AgentRuntimeEndpointCreateInput,\n AgentRuntimeEndpointUpdateInput,\n AgentRuntimeEndpointListInput,\n AgentRuntimeVersion,\n AgentRuntimeVersionListInput,\n AgentRuntimeData,\n AgentRuntimeEndpointData,\n} from './model';\n\nexport type { InvokeArgs } from './api/data';\n"]}
@@ -0,0 +1,59 @@
1
+ import { AgentInvoker } from './server/core/index.js';
2
+ import { e as ProtocolRequest, f as ProtocolResponse } from './model-DGBy-o_L.js';
3
+
4
+ /**
5
+ * Protocol Handler Base
6
+ *
7
+ * Abstract base class for protocol handlers.
8
+ * Each protocol (OpenAI, AG-UI, etc.) implements this interface.
9
+ */
10
+
11
+ /**
12
+ * Route definition for protocol handler
13
+ */
14
+ interface RouteDefinition {
15
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE';
16
+ path: string;
17
+ handler: (req: ProtocolRequest, invoker: AgentInvoker) => Promise<ProtocolResponse>;
18
+ }
19
+ /**
20
+ * Protocol Handler abstract base class
21
+ *
22
+ * Responsibilities:
23
+ * - Define protocol routes
24
+ * - Parse protocol-specific requests to AgentRequest
25
+ * - Format AgentEvent stream to protocol-specific response
26
+ */
27
+ declare abstract class ProtocolHandler {
28
+ /**
29
+ * Protocol name identifier
30
+ */
31
+ abstract readonly name: string;
32
+ /**
33
+ * Get protocol route prefix
34
+ */
35
+ abstract getPrefix(): string;
36
+ /**
37
+ * Get all routes supported by this protocol
38
+ */
39
+ abstract getRoutes(): RouteDefinition[];
40
+ /**
41
+ * Check if a request matches this protocol
42
+ */
43
+ matches(req: ProtocolRequest): boolean;
44
+ /**
45
+ * Handle a request
46
+ */
47
+ handle(req: ProtocolRequest, invoker: AgentInvoker): Promise<ProtocolResponse>;
48
+ /**
49
+ * Create error response
50
+ */
51
+ protected createErrorResponse(error: unknown, status?: number): ProtocolResponse;
52
+ /**
53
+ * Match path with simple pattern matching
54
+ * Supports exact match and prefix match with trailing slash
55
+ */
56
+ private matchPath;
57
+ }
58
+
59
+ export { ProtocolHandler as P, type RouteDefinition as R };
@@ -0,0 +1,59 @@
1
+ import { AgentInvoker } from './server/core/index.cjs';
2
+ import { e as ProtocolRequest, f as ProtocolResponse } from './model-DGBy-o_L.cjs';
3
+
4
+ /**
5
+ * Protocol Handler Base
6
+ *
7
+ * Abstract base class for protocol handlers.
8
+ * Each protocol (OpenAI, AG-UI, etc.) implements this interface.
9
+ */
10
+
11
+ /**
12
+ * Route definition for protocol handler
13
+ */
14
+ interface RouteDefinition {
15
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE';
16
+ path: string;
17
+ handler: (req: ProtocolRequest, invoker: AgentInvoker) => Promise<ProtocolResponse>;
18
+ }
19
+ /**
20
+ * Protocol Handler abstract base class
21
+ *
22
+ * Responsibilities:
23
+ * - Define protocol routes
24
+ * - Parse protocol-specific requests to AgentRequest
25
+ * - Format AgentEvent stream to protocol-specific response
26
+ */
27
+ declare abstract class ProtocolHandler {
28
+ /**
29
+ * Protocol name identifier
30
+ */
31
+ abstract readonly name: string;
32
+ /**
33
+ * Get protocol route prefix
34
+ */
35
+ abstract getPrefix(): string;
36
+ /**
37
+ * Get all routes supported by this protocol
38
+ */
39
+ abstract getRoutes(): RouteDefinition[];
40
+ /**
41
+ * Check if a request matches this protocol
42
+ */
43
+ matches(req: ProtocolRequest): boolean;
44
+ /**
45
+ * Handle a request
46
+ */
47
+ handle(req: ProtocolRequest, invoker: AgentInvoker): Promise<ProtocolResponse>;
48
+ /**
49
+ * Create error response
50
+ */
51
+ protected createErrorResponse(error: unknown, status?: number): ProtocolResponse;
52
+ /**
53
+ * Match path with simple pattern matching
54
+ * Supports exact match and prefix match with trailing slash
55
+ */
56
+ private matchPath;
57
+ }
58
+
59
+ export { ProtocolHandler as P, type RouteDefinition as R };