@kanyun-ai-infra/agenthub 0.3.0 → 0.4.0
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.
- package/README.md +14 -2
- package/dist/index.cjs +144 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +500 -1
- package/dist/index.d.ts +500 -1
- package/dist/index.js +141 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,6 +54,16 @@ await agenthub.agents.create({
|
|
|
54
54
|
defaults: {
|
|
55
55
|
model: "claude-opus-4-7",
|
|
56
56
|
systemPrompt: "You are the Acme support agent.",
|
|
57
|
+
agentPackage: {
|
|
58
|
+
format: "claude_code",
|
|
59
|
+
source: {
|
|
60
|
+
kind: "oss",
|
|
61
|
+
url: "https://bucket.oss-cn-beijing.aliyuncs.com/pilot/agent-packages/support-bot.tar.gz",
|
|
62
|
+
sha256: "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
63
|
+
sizeBytes: 4096,
|
|
64
|
+
},
|
|
65
|
+
entryCommand: "报告",
|
|
66
|
+
},
|
|
57
67
|
},
|
|
58
68
|
});
|
|
59
69
|
|
|
@@ -126,6 +136,7 @@ Agents 和 runtime templates 都是 **project-scoped**。Version 必须在同一
|
|
|
126
136
|
| `create({ slug, displayName, description?, defaultRuntimeTemplateRefName? })` | 创建 Project。slug 重复时返回 `409 PROJECT_SLUG_CONFLICT`。 |
|
|
127
137
|
| `list()` | 列出 token 有效 scope 内的 Project。 |
|
|
128
138
|
| `get(projectId)` | 查询单个 Project。 |
|
|
139
|
+
| `delete(projectId)` | 软删(停用)Project:清空 owner / members、关闭集成。**owner-only**(需 `project:settings`)。系统项目不可删。返回 `{ action: "deactivated", projectId }`。 |
|
|
129
140
|
|
|
130
141
|
### `agenthub.agents`(别名 `agenthub.workloads`)
|
|
131
142
|
|
|
@@ -137,8 +148,8 @@ Agents 和 runtime templates 都是 **project-scoped**。Version 必须在同一
|
|
|
137
148
|
| `applyRevisionManifest({ projectId, agentSlug \| workloadSlug, manifest, dryRun? })` | 高级 / GitOps:apply raw version manifest。两个 slug 拼写都接受(互斥)。 |
|
|
138
149
|
|
|
139
150
|
`create` / `publishVersion` 的 `req` 结构和 managed-agent 全部配置项(`model` /
|
|
140
|
-
`systemPrompt` / `enabledSkills` / `enabledMcpServers` / `
|
|
141
|
-
`runtime` / `startup` 等),见
|
|
151
|
+
`systemPrompt` / `enabledSkills` / `enabledMcpServers` / `agentPackage` /
|
|
152
|
+
`agentOptions` 安全约束 / `runtime` / `startup` 等),见
|
|
142
153
|
[`specs/features/agenthub-sdk.md`](../../specs/features/agenthub-sdk.md)
|
|
143
154
|
的 "Managed-Agent Configuration"、"Workload API Contract"、"Revision Publish Contract" 章节。
|
|
144
155
|
|
|
@@ -157,6 +168,7 @@ Agents 和 runtime templates 都是 **project-scoped**。Version 必须在同一
|
|
|
157
168
|
| `create({ projectId, agentId, versionId?, configValues?, metadata?, idempotencyKey?, resources?, ... })` | 启动 Session。省略 `versionId` 时使用 Agent 默认 Version。`agentId`/`versionId` 也可写成 `workloadId`/`revisionId`(互斥)。`resources` 注入 Model A 只读输入文件(见下)。返回 `{ sessionId, status }`。 |
|
|
158
169
|
| `get(sessionId)` | 读取 Session 快照(`{ session: { id, status, ... } }`,字段为服务端原样返回)。 |
|
|
159
170
|
| `wait(sessionId, { intervalMs?, timeoutMs?, signal? })` | 轮询到 `status === "ready"`;遇到 `failed` 或超时会抛错。 |
|
|
171
|
+
| `releaseSandbox(sessionId)` | 释放 Session 当前 sandbox(保留 session,下一轮 turn 自动 revive 到新 sandbox)。需 `runs:create`。返回 `{ released, sandboxId, sandboxDestroyed, destroyError? }`;`sandboxDestroyed:false` 不代表失败(watcher 会兜底销毁)。 |
|
|
160
172
|
|
|
161
173
|
Session `status` 取值为 `created`、`provisioning`、`starting`、`ready`、`failed`。
|
|
162
174
|
|
package/dist/index.cjs
CHANGED
|
@@ -28,11 +28,13 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
|
|
|
28
28
|
var index_exports = {};
|
|
29
29
|
__export(index_exports, {
|
|
30
30
|
AGENTHUB_SDK_USER_AGENT: () => AGENTHUB_SDK_USER_AGENT,
|
|
31
|
+
AgentPackageSchema: () => AgentPackageSchema,
|
|
31
32
|
AgentsResource: () => WorkloadsResource,
|
|
32
33
|
CreatePlatformProjectRequestSchema: () => CreatePlatformProjectRequestSchema,
|
|
33
34
|
CreatePlatformSessionRequestSchema: () => CreatePlatformSessionRequestSchema,
|
|
34
35
|
CreatePlatformSessionResponseSchema: () => CreatePlatformSessionResponseSchema,
|
|
35
36
|
CreatePlatformWorkloadRequestSchema: () => CreatePlatformWorkloadRequestSchema,
|
|
37
|
+
DeletePlatformProjectResponseSchema: () => DeletePlatformProjectResponseSchema,
|
|
36
38
|
FilesResource: () => FilesResource,
|
|
37
39
|
ListPlatformProjectsResponseSchema: () => ListPlatformProjectsResponseSchema,
|
|
38
40
|
PILOT_WORKLOAD_MANIFEST_API_VERSION: () => PILOT_WORKLOAD_MANIFEST_API_VERSION,
|
|
@@ -49,6 +51,7 @@ __export(index_exports, {
|
|
|
49
51
|
PlatformWorkloadSchema: () => PlatformWorkloadSchema,
|
|
50
52
|
ProjectsResource: () => ProjectsResource,
|
|
51
53
|
PublishPlatformRevisionRequestSchema: () => PublishPlatformRevisionRequestSchema,
|
|
54
|
+
ReleaseSandboxResponseSchema: () => ReleaseSandboxResponseSchema,
|
|
52
55
|
SessionFileResourceSchema: () => SessionFileResourceSchema,
|
|
53
56
|
SessionResourcesSchema: () => SessionResourcesSchema,
|
|
54
57
|
SessionsResource: () => SessionsResource,
|
|
@@ -767,6 +770,13 @@ var CreateSessionRequestSchema = import_zod6.z.object({
|
|
|
767
770
|
idempotencyKey: import_zod6.z.string().min(1).optional(),
|
|
768
771
|
configValues: SessionConfigValuesSchema.optional(),
|
|
769
772
|
metadata: import_zod6.z.record(import_zod6.z.unknown()).optional(),
|
|
773
|
+
/**
|
|
774
|
+
* UI/BFF hint for managed-agent launchers: when true, an AgentHub route may
|
|
775
|
+
* try to lease a ready session from the session prewarming pool before
|
|
776
|
+
* falling back to normal session creation. Core create-session semantics
|
|
777
|
+
* remain unchanged; services that do not implement prewarming MUST ignore it.
|
|
778
|
+
*/
|
|
779
|
+
preferPrewarmed: import_zod6.z.boolean().optional(),
|
|
770
780
|
/**
|
|
771
781
|
* GAP1-B (rush-app v2 migration) — optional caller-supplied stable runtime
|
|
772
782
|
* claim name. Forwarded to the runtime provider's `create()` as the sandbox
|
|
@@ -957,6 +967,59 @@ var WORKLOAD_MANIFEST_MODEL_MAX_LENGTH = 255;
|
|
|
957
967
|
var WorkloadManifestModelSchema = import_zod4.z.string().min(1).max(WORKLOAD_MANIFEST_MODEL_MAX_LENGTH);
|
|
958
968
|
var WORKLOAD_MANIFEST_SYSTEM_PROMPT_MAX_LENGTH = 32768;
|
|
959
969
|
var WorkloadManifestSystemPromptSchema = import_zod4.z.string().min(1).max(WORKLOAD_MANIFEST_SYSTEM_PROMPT_MAX_LENGTH);
|
|
970
|
+
var AGENT_PACKAGE_MAX_SIZE_BYTES = 50 * 1024 * 1024;
|
|
971
|
+
var AGENT_PACKAGE_SOURCE_URL_MAX_LENGTH = 2048;
|
|
972
|
+
var SHA256_DIGEST_PATTERN = /^sha256:[0-9a-fA-F]{64}$/;
|
|
973
|
+
var OSS_AGENT_PACKAGE_HOST_PATTERN = /^[a-z0-9][a-z0-9-]*\.oss-[a-z0-9-]+(?:-internal)?\.aliyuncs\.com$/i;
|
|
974
|
+
function hasAsciiControlCharacter(value) {
|
|
975
|
+
for (let i = 0; i < value.length; i += 1) {
|
|
976
|
+
const code = value.charCodeAt(i);
|
|
977
|
+
if (code <= 31 || code === 127) return true;
|
|
978
|
+
}
|
|
979
|
+
return false;
|
|
980
|
+
}
|
|
981
|
+
function isApprovedAgentPackageUrl(value) {
|
|
982
|
+
let parsed;
|
|
983
|
+
try {
|
|
984
|
+
parsed = new URL(value);
|
|
985
|
+
} catch (e) {
|
|
986
|
+
return false;
|
|
987
|
+
}
|
|
988
|
+
if (parsed.protocol !== "https:") return false;
|
|
989
|
+
if (!OSS_AGENT_PACKAGE_HOST_PATTERN.test(parsed.hostname)) return false;
|
|
990
|
+
let key;
|
|
991
|
+
try {
|
|
992
|
+
key = decodeURIComponent(parsed.pathname.replace(/^\/+/, ""));
|
|
993
|
+
} catch (e) {
|
|
994
|
+
return false;
|
|
995
|
+
}
|
|
996
|
+
const segments = key.split("/");
|
|
997
|
+
if (segments.includes(".") || segments.includes("..")) return false;
|
|
998
|
+
if (!key.startsWith("pilot/agent-packages/")) return false;
|
|
999
|
+
return key.endsWith(".tar.gz") || key.endsWith(".tgz");
|
|
1000
|
+
}
|
|
1001
|
+
var ClaudeCodeAgentPackageEntryCommandSchema = import_zod4.z.string().min(1).max(100).refine((value) => value.trim() === value, {
|
|
1002
|
+
message: "entryCommand must not have leading or trailing whitespace"
|
|
1003
|
+
}).refine((value) => !hasAsciiControlCharacter(value), {
|
|
1004
|
+
message: "entryCommand must not contain control characters"
|
|
1005
|
+
}).refine((value) => value !== "." && value !== "..", {
|
|
1006
|
+
message: "entryCommand must be a command name, not a path segment"
|
|
1007
|
+
}).refine((value) => !value.includes("/") && !value.includes("\\"), {
|
|
1008
|
+
message: "entryCommand must not contain path separators"
|
|
1009
|
+
});
|
|
1010
|
+
var AgentPackageSourceSchema = import_zod4.z.object({
|
|
1011
|
+
kind: import_zod4.z.literal("oss"),
|
|
1012
|
+
url: import_zod4.z.string().url().max(AGENT_PACKAGE_SOURCE_URL_MAX_LENGTH).refine(isApprovedAgentPackageUrl, {
|
|
1013
|
+
message: "url must be an approved HTTPS OSS agent package URL"
|
|
1014
|
+
}),
|
|
1015
|
+
sha256: import_zod4.z.string().regex(SHA256_DIGEST_PATTERN, "sha256 must be sha256:<64 hex chars>"),
|
|
1016
|
+
sizeBytes: import_zod4.z.number().int().positive().max(AGENT_PACKAGE_MAX_SIZE_BYTES).optional()
|
|
1017
|
+
}).strict();
|
|
1018
|
+
var AgentPackageSchema = import_zod4.z.object({
|
|
1019
|
+
format: import_zod4.z.literal("claude_code"),
|
|
1020
|
+
source: AgentPackageSourceSchema,
|
|
1021
|
+
entryCommand: ClaudeCodeAgentPackageEntryCommandSchema.optional()
|
|
1022
|
+
}).strict();
|
|
960
1023
|
var AGENT_OPTIONS_MAX_TURNS = 200;
|
|
961
1024
|
var AGENT_OPTIONS_MAX_THINKING_TOKENS = 6e4;
|
|
962
1025
|
var AGENT_OPTIONS_MAX_BUDGET_USD = 50;
|
|
@@ -992,7 +1055,8 @@ var ManagedAgentProfileSnapshotSchema = import_zod4.z.object({
|
|
|
992
1055
|
enabledMcpServers: EnabledMcpEntryListSchema.optional(),
|
|
993
1056
|
configValues: SessionConfigValuesSchema.optional(),
|
|
994
1057
|
resources: SessionResourcesSchema.optional(),
|
|
995
|
-
agentOptions: AgentOptionsSchema.optional()
|
|
1058
|
+
agentOptions: AgentOptionsSchema.optional(),
|
|
1059
|
+
agentPackage: AgentPackageSchema.optional()
|
|
996
1060
|
}).strict();
|
|
997
1061
|
var ManagedAgentOverridesSchema = import_zod4.z.object({
|
|
998
1062
|
model: WorkloadManifestModelSchema.nullable().optional(),
|
|
@@ -1075,7 +1139,14 @@ var WorkloadManifestDefaultsSchema = import_zod4.z.object({
|
|
|
1075
1139
|
* `createClaudeCode({ defaultSettings })` by the agent-runtime
|
|
1076
1140
|
* claude-code provider. See `AgentOptionsSchema` above and issue #840.
|
|
1077
1141
|
*/
|
|
1078
|
-
agentOptions: AgentOptionsSchema.optional()
|
|
1142
|
+
agentOptions: AgentOptionsSchema.optional(),
|
|
1143
|
+
/**
|
|
1144
|
+
* Workload-level **default agent package**. The Revision snapshot freezes
|
|
1145
|
+
* this reference and the dispatch payload forwards it to the sandbox
|
|
1146
|
+
* agent-worker, which downloads, verifies, and materializes the Claude Code
|
|
1147
|
+
* package before the provider starts.
|
|
1148
|
+
*/
|
|
1149
|
+
agentPackage: AgentPackageSchema.optional()
|
|
1079
1150
|
}).strict();
|
|
1080
1151
|
var WORKLOAD_MANIFEST_UI_DISPLAY_NAME_MAX_LENGTH = 255;
|
|
1081
1152
|
var WORKLOAD_MANIFEST_UI_PROMPT_PLACEHOLDER_MAX_LENGTH = 500;
|
|
@@ -1826,6 +1897,8 @@ var OssCredentialSchema = import_zod22.z.object({
|
|
|
1826
1897
|
* client can compose multi-key flows by requesting fresh URLs).
|
|
1827
1898
|
*/
|
|
1828
1899
|
prefix: import_zod22.z.string().min(1),
|
|
1900
|
+
/** The object key this URL is scoped to. Omitted by legacy issuers. */
|
|
1901
|
+
key: import_zod22.z.string().min(1).optional(),
|
|
1829
1902
|
/**
|
|
1830
1903
|
* Pre-signed PUT URL for the Session's default artifact object key
|
|
1831
1904
|
* (`${prefix}artifact.bin` by convention). Phase 1 fallback in place
|
|
@@ -1840,6 +1913,15 @@ var OssCredentialSchema = import_zod22.z.object({
|
|
|
1840
1913
|
stsSecretAccessKey: import_zod22.z.string().optional(),
|
|
1841
1914
|
stsSessionToken: import_zod22.z.string().optional()
|
|
1842
1915
|
});
|
|
1916
|
+
var OssUploadRequestSchema = import_zod22.z.object({
|
|
1917
|
+
/**
|
|
1918
|
+
* Optional OSS object key to presign for upload. When omitted, the
|
|
1919
|
+
* broker preserves the legacy `${sessionPrefix}artifact.bin` behavior.
|
|
1920
|
+
* Callers may pass either a session-relative path or a fully-qualified
|
|
1921
|
+
* key under `pilot/sessions/<sessionId>/`.
|
|
1922
|
+
*/
|
|
1923
|
+
key: import_zod22.z.string().min(1).optional()
|
|
1924
|
+
}).strict();
|
|
1843
1925
|
var OssDownloadRequestSchema = import_zod22.z.object({
|
|
1844
1926
|
/** OSS object key the Worker wants to read (an input file's key). */
|
|
1845
1927
|
key: import_zod22.z.string().min(1)
|
|
@@ -1864,7 +1946,8 @@ var CredentialsBrokerErrorCodeSchema = import_zod22.z.enum([
|
|
|
1864
1946
|
"SESSION_TOKEN_REVOKED",
|
|
1865
1947
|
"SESSION_TOKEN_EXPIRED",
|
|
1866
1948
|
"POD_AGENT_TOKEN_INVALID",
|
|
1867
|
-
// 400 — request body invalid (oss
|
|
1949
|
+
// 400 — request body invalid (oss upload/download `key` missing/malformed)
|
|
1950
|
+
"OSS_UPLOAD_KEY_INVALID",
|
|
1868
1951
|
"OSS_DOWNLOAD_KEY_INVALID",
|
|
1869
1952
|
// 403 — authorization failures
|
|
1870
1953
|
"SESSION_TOKEN_SESSION_MISMATCH",
|
|
@@ -3924,7 +4007,8 @@ var ManagedAgentProfileSpecSchema = import_zod41.z.object({
|
|
|
3924
4007
|
// Agent-level default runtime files. The envelope is exactly the session
|
|
3925
4008
|
// resources contract so the same mount/download path handles both default
|
|
3926
4009
|
// files and caller-supplied per-session files.
|
|
3927
|
-
resources: SessionResourcesSchema.optional()
|
|
4010
|
+
resources: SessionResourcesSchema.optional(),
|
|
4011
|
+
agentPackage: AgentPackageSchema.optional()
|
|
3928
4012
|
}).strict();
|
|
3929
4013
|
var ManagedAgentProfileSchema = import_zod41.z.object({
|
|
3930
4014
|
apiVersion: PilotWorkloadManifestApiVersionSchema,
|
|
@@ -3950,6 +4034,10 @@ var CreatePlatformProjectRequestSchema = import_zod42.z.object({
|
|
|
3950
4034
|
var ListPlatformProjectsResponseSchema = import_zod42.z.object({
|
|
3951
4035
|
projects: import_zod42.z.array(PlatformProjectSchema)
|
|
3952
4036
|
}).strict();
|
|
4037
|
+
var DeletePlatformProjectResponseSchema = import_zod42.z.object({
|
|
4038
|
+
action: import_zod42.z.literal("deactivated"),
|
|
4039
|
+
projectId: import_zod42.z.string().uuid()
|
|
4040
|
+
}).strict();
|
|
3953
4041
|
var PlatformWorkloadDefaultsSchema = import_zod42.z.object({
|
|
3954
4042
|
workerContract: WorkloadManifestWorkerContractDefaultsSchema.optional(),
|
|
3955
4043
|
configValues: SessionConfigValuesSchema.optional(),
|
|
@@ -3957,7 +4045,8 @@ var PlatformWorkloadDefaultsSchema = import_zod42.z.object({
|
|
|
3957
4045
|
systemPrompt: import_zod42.z.string().min(1).max(32768).optional(),
|
|
3958
4046
|
enabledSkills: EnabledSkillEntryListSchema.optional(),
|
|
3959
4047
|
enabledMcpServers: EnabledMcpEntryListSchema.optional(),
|
|
3960
|
-
agentOptions: AgentOptionsSchema.optional()
|
|
4048
|
+
agentOptions: AgentOptionsSchema.optional(),
|
|
4049
|
+
agentPackage: AgentPackageSchema.optional()
|
|
3961
4050
|
}).strict();
|
|
3962
4051
|
var CreatePlatformWorkloadRequestSchema = import_zod42.z.object({
|
|
3963
4052
|
projectId: import_zod42.z.string().uuid(),
|
|
@@ -4016,6 +4105,12 @@ var GetPlatformSessionResponseSchema = import_zod42.z.object({
|
|
|
4016
4105
|
}).strict();
|
|
4017
4106
|
var CreatePlatformSessionRequestSchema = CreateSessionRequestSchema;
|
|
4018
4107
|
var CreatePlatformSessionResponseSchema = CreateSessionResponseSchema;
|
|
4108
|
+
var ReleaseSandboxResponseSchema = import_zod42.z.object({
|
|
4109
|
+
released: import_zod42.z.literal(true),
|
|
4110
|
+
sandboxId: import_zod42.z.string().nullable(),
|
|
4111
|
+
sandboxDestroyed: import_zod42.z.boolean(),
|
|
4112
|
+
destroyError: import_zod42.z.string().optional()
|
|
4113
|
+
}).strict();
|
|
4019
4114
|
var PlatformFileUploadResponseSchema = AttachmentMetaSchema.extend({
|
|
4020
4115
|
url: import_zod42.z.string()
|
|
4021
4116
|
});
|
|
@@ -4152,6 +4247,12 @@ var PilotCoderRunConfigV1Schema = import_zod43.z.object({
|
|
|
4152
4247
|
* means contracts must ship before control-worker starts populating it.
|
|
4153
4248
|
*/
|
|
4154
4249
|
agentOptions: AgentOptionsSchema.optional(),
|
|
4250
|
+
/**
|
|
4251
|
+
* Optional Claude Code agent package to install before the provider boots.
|
|
4252
|
+
* The reference is checksum-pinned and originates from the managed_agent
|
|
4253
|
+
* profile Revision snapshot / workload default.
|
|
4254
|
+
*/
|
|
4255
|
+
agentPackage: AgentPackageSchema.optional(),
|
|
4155
4256
|
/**
|
|
4156
4257
|
* P3 L3.3 — delivery-related fields populated by control-worker from
|
|
4157
4258
|
* `runs.*` / `agents.*` columns so the worker delivery loop can act
|
|
@@ -4625,6 +4726,22 @@ var ProjectsResource = class {
|
|
|
4625
4726
|
);
|
|
4626
4727
|
return PlatformProjectSchema.parse(response);
|
|
4627
4728
|
}
|
|
4729
|
+
/**
|
|
4730
|
+
* Soft-delete (deactivate) a project: null the owner, clear members, disable
|
|
4731
|
+
* integrations. Owner-only (the calling token must belong to the project
|
|
4732
|
+
* owner). System projects cannot be deleted. The row is kept for audit, so
|
|
4733
|
+
* the response `action` is always `"deactivated"`.
|
|
4734
|
+
*/
|
|
4735
|
+
async delete(projectId, options = {}) {
|
|
4736
|
+
const response = await this.client.request(
|
|
4737
|
+
`/api/projects/${encodeURIComponent(projectId)}`,
|
|
4738
|
+
{
|
|
4739
|
+
method: "DELETE",
|
|
4740
|
+
signal: options.signal
|
|
4741
|
+
}
|
|
4742
|
+
);
|
|
4743
|
+
return DeletePlatformProjectResponseSchema.parse(response);
|
|
4744
|
+
}
|
|
4628
4745
|
};
|
|
4629
4746
|
|
|
4630
4747
|
// src/agent-vocab.ts
|
|
@@ -4727,6 +4844,25 @@ var SessionsResource = class {
|
|
|
4727
4844
|
await sleep(intervalMs, options.signal);
|
|
4728
4845
|
}
|
|
4729
4846
|
}
|
|
4847
|
+
/**
|
|
4848
|
+
* Release the session's current sandbox while keeping the session alive — a
|
|
4849
|
+
* later turn transparently revives it onto a fresh sandbox. Use this to free
|
|
4850
|
+
* runtime resources for an idle-but-not-finished session without terminating
|
|
4851
|
+
* it. Idempotent at the sandbox layer (an already-gone sandbox still succeeds).
|
|
4852
|
+
*
|
|
4853
|
+
* `sandboxDestroyed: false` (with `destroyError`) is NOT a failure — the
|
|
4854
|
+
* session is still correctly reclaimed; see {@link ReleaseSandboxResponse}.
|
|
4855
|
+
*/
|
|
4856
|
+
async releaseSandbox(sessionId, options = {}) {
|
|
4857
|
+
const envelope = await this.client.request(
|
|
4858
|
+
`/api/sessions/${encodeURIComponent(sessionId)}/release-sandbox`,
|
|
4859
|
+
{
|
|
4860
|
+
method: "POST",
|
|
4861
|
+
signal: options.signal
|
|
4862
|
+
}
|
|
4863
|
+
);
|
|
4864
|
+
return ReleaseSandboxResponseSchema.parse(envelope?.data);
|
|
4865
|
+
}
|
|
4730
4866
|
};
|
|
4731
4867
|
function sleep(ms, signal) {
|
|
4732
4868
|
if (ms <= 0) return Promise.resolve();
|
|
@@ -5058,11 +5194,13 @@ function mergeSignals(...signals) {
|
|
|
5058
5194
|
// Annotate the CommonJS export names for ESM import in node:
|
|
5059
5195
|
0 && (module.exports = {
|
|
5060
5196
|
AGENTHUB_SDK_USER_AGENT,
|
|
5197
|
+
AgentPackageSchema,
|
|
5061
5198
|
AgentsResource,
|
|
5062
5199
|
CreatePlatformProjectRequestSchema,
|
|
5063
5200
|
CreatePlatformSessionRequestSchema,
|
|
5064
5201
|
CreatePlatformSessionResponseSchema,
|
|
5065
5202
|
CreatePlatformWorkloadRequestSchema,
|
|
5203
|
+
DeletePlatformProjectResponseSchema,
|
|
5066
5204
|
FilesResource,
|
|
5067
5205
|
ListPlatformProjectsResponseSchema,
|
|
5068
5206
|
PILOT_WORKLOAD_MANIFEST_API_VERSION,
|
|
@@ -5079,6 +5217,7 @@ function mergeSignals(...signals) {
|
|
|
5079
5217
|
PlatformWorkloadSchema,
|
|
5080
5218
|
ProjectsResource,
|
|
5081
5219
|
PublishPlatformRevisionRequestSchema,
|
|
5220
|
+
ReleaseSandboxResponseSchema,
|
|
5082
5221
|
SessionFileResourceSchema,
|
|
5083
5222
|
SessionResourcesSchema,
|
|
5084
5223
|
SessionsResource,
|