maoda-commander-tt 0.0.69 → 0.0.70

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.
@@ -608,7 +608,7 @@ function createAgentProgressReporter(options) {
608
608
  // src/commands/ai/ai-audio-command.ts
609
609
  import { resolve as resolve5 } from "node:path";
610
610
  import { Option as Option3 } from "commander";
611
- import { ok as ok26 } from "rockbed/error";
611
+ import { ok as ok27 } from "rockbed/error";
612
612
 
613
613
  // src/bedrock/cross-app-settings/file-cross-app-settings-writer.ts
614
614
  import { randomUUID } from "node:crypto";
@@ -2418,11 +2418,11 @@ function parseJimengAudioTaskId(taskId) {
2418
2418
 
2419
2419
  // src/modules/audio-generation/xyq-audio-generation-provider.ts
2420
2420
  import { Disposable as Disposable10 } from "rockbed/dispose";
2421
- import { err as err18, ok as ok23 } from "rockbed/error";
2421
+ import { err as err18, ok as ok24 } from "rockbed/error";
2422
2422
 
2423
2423
  // src/modules/xyq/xyq-client.ts
2424
2424
  import { createHash as createHash2 } from "node:crypto";
2425
- import { ok as ok21 } from "rockbed/error";
2425
+ import { ok as ok22 } from "rockbed/error";
2426
2426
 
2427
2427
  // src/modules/xyq/xyq-auth.ts
2428
2428
  import { ok as ok17 } from "rockbed/error";
@@ -2711,7 +2711,7 @@ function isRecord8(value) {
2711
2711
  // src/modules/xyq/xyq-session.ts
2712
2712
  import * as fs6 from "node:fs/promises";
2713
2713
  import { createHash, randomUUID as randomUUID8 } from "node:crypto";
2714
- import { ok as ok20 } from "rockbed/error";
2714
+ import { ok as ok21 } from "rockbed/error";
2715
2715
 
2716
2716
  // src/modules/xyq/xyq-asset-cache.ts
2717
2717
  import { randomUUID as randomUUID7 } from "node:crypto";
@@ -3062,6 +3062,150 @@ async function readXyqGenerationPpeHeaders(settingsReader) {
3062
3062
  });
3063
3063
  }
3064
3064
 
3065
+ // src/modules/xyq/xyq-image-results.ts
3066
+ import { ok as ok20 } from "rockbed/error";
3067
+ function collectXyqImageReferences(value) {
3068
+ const references = /* @__PURE__ */ new Map();
3069
+ collect(value, void 0, references, 0);
3070
+ return [...references.values()];
3071
+ }
3072
+ async function resolveXyqImageArtifacts(input) {
3073
+ const references = input.artifacts.flatMap((artifact) => artifact.images);
3074
+ if (references.length === 0) {
3075
+ return ok20(input.artifacts.map((artifact) => ({ ...artifact, images: [] })));
3076
+ }
3077
+ if (references.some((image) => !image.pippitAssetId)) {
3078
+ return invalidResult("XYQ \u56FE\u7247\u751F\u6210\u7ED3\u679C\u7F3A\u5C11 pippit_asset_id\uFF0C\u65E0\u6CD5\u67E5\u8BE2\u65E0\u6C34\u5370\u539F\u56FE");
3079
+ }
3080
+ const runExtra = parseRecord(input.run.extra);
3081
+ const projectId = normalize(input.thread.project_id) ?? normalize(input.run.project_id) ?? normalize(parseRecord(runExtra?.client_extra)?.project_id) ?? /^p(\d+)_/.exec(input.threadId)?.[1];
3082
+ if (!projectId) {
3083
+ return invalidResult("XYQ \u56FE\u7247\u4EFB\u52A1\u7F3A\u5C11 project_id\uFF0C\u65E0\u6CD5\u67E5\u8BE2\u65E0\u6C34\u5370\u539F\u56FE");
3084
+ }
3085
+ const pippitAssetIds = [...new Set(references.map((image) => image.pippitAssetId))];
3086
+ const response = await requestXyqJson(
3087
+ input.fetcher,
3088
+ `${XYQ_ORIGIN}/api/biz/v1/asset/query`,
3089
+ {
3090
+ method: "POST",
3091
+ headers: { ...input.headers, "content-type": "application/json" },
3092
+ body: JSON.stringify({ Base: { Client: "web" }, project_id: projectId, pippit_asset_ids: pippitAssetIds })
3093
+ },
3094
+ {
3095
+ requestFailedCode: XyqErrorCode.ImageQueryRequestFailed,
3096
+ responseInvalidCode: XyqErrorCode.ImageQueryResponseInvalid,
3097
+ operation: "\u67E5\u8BE2 XYQ \u56FE\u7247\u65E0\u6C34\u5370\u539F\u56FE"
3098
+ }
3099
+ );
3100
+ if (!response.ok) return response;
3101
+ const data = isRecord7(response.value.data) ? response.value.data : {};
3102
+ if (!Array.isArray(data.Assets)) {
3103
+ return invalidResult("XYQ \u56FE\u7247\u8D44\u4EA7\u54CD\u5E94\u7F3A\u5C11 Assets\uFF0C\u65E0\u6CD5\u83B7\u53D6\u65E0\u6C34\u5370\u539F\u56FE");
3104
+ }
3105
+ const urls = /* @__PURE__ */ new Map();
3106
+ for (const asset of data.Assets) {
3107
+ if (!isRecord7(asset) || asset.AssetType !== 1) continue;
3108
+ const id = normalize(asset.PippitAssetID);
3109
+ if (!id || !pippitAssetIds.includes(id)) continue;
3110
+ const image = isRecord7(asset.Image) ? asset.Image : {};
3111
+ const preview = isRecord7(image.not_watermark_preview) ? image.not_watermark_preview : {};
3112
+ const original = isRecord7(preview.previewinfo) ? preview.previewinfo : {};
3113
+ const url = httpUrl(original.preview_url);
3114
+ if (url) urls.set(id, url);
3115
+ }
3116
+ const missingId = pippitAssetIds.find((id) => !urls.has(id));
3117
+ if (missingId) {
3118
+ return invalidResult(`XYQ \u56FE\u7247\u8D44\u4EA7 ${missingId} \u7F3A\u5C11\u65E0\u6C34\u5370\u539F\u56FE\u5730\u5740`);
3119
+ }
3120
+ return ok20(input.artifacts.map((artifact) => ({
3121
+ ...artifact,
3122
+ images: artifact.images.map((image) => ({ ...image, downloadUrl: urls.get(image.pippitAssetId) }))
3123
+ })));
3124
+ }
3125
+ function collect(value, inheritedId, references, depth) {
3126
+ if (depth > 10) return;
3127
+ if (typeof value === "string") {
3128
+ const parsed = parseValue(value);
3129
+ if (parsed !== void 0) collect(parsed, inheritedId, references, depth + 1);
3130
+ return;
3131
+ }
3132
+ if (Array.isArray(value)) {
3133
+ for (const child of value) collect(child, inheritedId, references, depth + 1);
3134
+ return;
3135
+ }
3136
+ if (!isRecord7(value)) return;
3137
+ const pippitAssetId = normalize(value.pippit_asset_id ?? value.pippitAssetId) ?? inheritedId;
3138
+ for (const [key, child] of Object.entries(value)) {
3139
+ if (key === "image" || key === "images") collectExplicit(child, pippitAssetId, references, depth + 1);
3140
+ collect(child, pippitAssetId, references, depth + 1);
3141
+ }
3142
+ }
3143
+ function collectExplicit(value, inheritedId, references, depth) {
3144
+ if (depth > 10) return;
3145
+ if (typeof value === "string") {
3146
+ const parsed = parseValue(value);
3147
+ if (parsed !== void 0) collectExplicit(parsed, inheritedId, references, depth + 1);
3148
+ return;
3149
+ }
3150
+ if (Array.isArray(value)) {
3151
+ for (const child of value) collectExplicit(child, inheritedId, references, depth + 1);
3152
+ return;
3153
+ }
3154
+ if (!isRecord7(value)) return;
3155
+ const metadata = parseRecord(value.metadata) ?? {};
3156
+ const assetId = normalize(value.asset_id ?? value.assetId);
3157
+ const pippitAssetId = normalize(value.pippit_asset_id ?? value.pippitAssetId) ?? inheritedId;
3158
+ const agentUrl = normalize(value.url ?? value.download_url ?? value.downloadUrl);
3159
+ const sceneUrls = parseRecord(value.scene_urls ?? value.sceneUrls);
3160
+ if (!assetId && !pippitAssetId && !agentUrl && !sceneUrls) return;
3161
+ const width = number(metadata.width ?? value.width);
3162
+ const height = number(metadata.height ?? value.height);
3163
+ const name = normalize(value.name);
3164
+ const reference = {
3165
+ ...assetId ? { assetId } : {},
3166
+ ...pippitAssetId ? { pippitAssetId } : {},
3167
+ ...width !== void 0 ? { width } : {},
3168
+ ...height !== void 0 ? { height } : {},
3169
+ ...name ? { name } : {}
3170
+ };
3171
+ const identity = assetId ? `asset:${assetId}` : pippitAssetId ? `pippit:${pippitAssetId}` : `image:${references.size}`;
3172
+ references.set(identity, reference);
3173
+ }
3174
+ function invalidResult(message) {
3175
+ return xyqError(XyqErrorCode.ImageQueryResponseInvalid, message);
3176
+ }
3177
+ function httpUrl(value) {
3178
+ const normalized = typeof value === "string" ? value.trim() : "";
3179
+ try {
3180
+ const url = new URL(normalized);
3181
+ return url.protocol === "https:" || url.protocol === "http:" ? normalized : void 0;
3182
+ } catch {
3183
+ return void 0;
3184
+ }
3185
+ }
3186
+ function normalize(value) {
3187
+ if (typeof value !== "string" && typeof value !== "number") return void 0;
3188
+ return String(value).trim() || void 0;
3189
+ }
3190
+ function number(value) {
3191
+ if (value === void 0 || value === null || value === "") return void 0;
3192
+ const parsed = Number(value);
3193
+ return Number.isFinite(parsed) ? parsed : void 0;
3194
+ }
3195
+ function parseRecord(value) {
3196
+ const parsed = typeof value === "string" ? parseValue(value) : value;
3197
+ return isRecord7(parsed) ? parsed : void 0;
3198
+ }
3199
+ function parseValue(value) {
3200
+ const text = value.trim();
3201
+ if (!text.startsWith("{") && !text.startsWith("[")) return void 0;
3202
+ try {
3203
+ return JSON.parse(text);
3204
+ } catch {
3205
+ return void 0;
3206
+ }
3207
+ }
3208
+
3065
3209
  // src/modules/xyq/xyq-session.ts
3066
3210
  var ASSET_TYPE = {
3067
3211
  video: "1",
@@ -3141,7 +3285,7 @@ var XyqSession = class {
3141
3285
  }
3142
3286
  );
3143
3287
  if (!responseResult.ok) return responseResult;
3144
- return ok20({
3288
+ return ok21({
3145
3289
  taskId: `${XYQ_IMAGE_TASK_ID_PREFIX}${threadId}`,
3146
3290
  threadId,
3147
3291
  clientRunId,
@@ -3191,10 +3335,19 @@ var XyqSession = class {
3191
3335
  const runRecord = isRecord7(run) ? run : {};
3192
3336
  const serverRunId = normalizeString2(runRecord.run_id);
3193
3337
  const entryList = Array.isArray(runRecord.entry_list) ? runRecord.entry_list : [];
3194
- const artifacts = entryList.map(extractImageArtifact).filter((artifact) => artifact !== void 0);
3195
- const providerState = mapXyqRunState(toNumber(runRecord.state));
3196
- const state = hasUsableImageOutput(artifacts) ? "completed" : providerState;
3197
- return ok20({
3338
+ const artifactReferences = entryList.map(extractImageArtifact).filter((artifact) => artifact !== void 0);
3339
+ const state = mapXyqRunState(toNumber(runRecord.state));
3340
+ const artifactsResult = state === "completed" ? await resolveXyqImageArtifacts({
3341
+ fetcher: this._fetcher,
3342
+ headers: { ...this._headers(), ...ppeHeadersResult.value },
3343
+ threadId,
3344
+ thread,
3345
+ run: runRecord,
3346
+ artifacts: artifactReferences
3347
+ }) : ok21(artifactReferences.map((artifact) => ({ ...artifact, images: [] })));
3348
+ if (!artifactsResult.ok) return artifactsResult;
3349
+ const artifacts = artifactsResult.value;
3350
+ return ok21({
3198
3351
  taskId: `${XYQ_IMAGE_TASK_ID_PREFIX}${threadId}`,
3199
3352
  threadId,
3200
3353
  ...serverRunId ? { runId: serverRunId } : {},
@@ -3217,10 +3370,10 @@ var XyqSession = class {
3217
3370
  const result = await this.queryImage(input);
3218
3371
  if (!result.ok) return result;
3219
3372
  if (isTerminalXyqTaskState(result.value.state)) {
3220
- return ok20({ ...result.value, timedOut: false });
3373
+ return ok21({ ...result.value, timedOut: false });
3221
3374
  }
3222
3375
  const remainingMs = deadline - this._now();
3223
- if (remainingMs <= 0) return ok20({ ...result.value, timedOut: true });
3376
+ if (remainingMs <= 0) return ok21({ ...result.value, timedOut: true });
3224
3377
  try {
3225
3378
  await this._sleep(Math.min(result.value.retryAfterSeconds * 1e3, remainingMs), input.signal);
3226
3379
  } catch (caughtError) {
@@ -3268,7 +3421,7 @@ var XyqSession = class {
3268
3421
  "\u521B\u5EFA XYQ \u56FE\u7247\u753B\u5E03\u9879\u76EE\u6210\u529F\uFF0C\u4F46\u54CD\u5E94\u7F3A\u5C11 project_id \u6216 canvas_asset_id"
3269
3422
  );
3270
3423
  }
3271
- return ok20({ projectId, canvasAssetId });
3424
+ return ok21({ projectId, canvasAssetId });
3272
3425
  }
3273
3426
  async submitAudio(input) {
3274
3427
  const prompt = input.prompt.trim();
@@ -3329,7 +3482,7 @@ var XyqSession = class {
3329
3482
  if (!responseResult.ok) {
3330
3483
  return responseResult;
3331
3484
  }
3332
- return ok20({
3485
+ return ok21({
3333
3486
  taskId: createXyqTaskId(threadId),
3334
3487
  threadId,
3335
3488
  clientRunId,
@@ -3388,7 +3541,7 @@ var XyqSession = class {
3388
3541
  const providerState = mapXyqRunState(toNumber(runRecord.state));
3389
3542
  const state = hasUsableAudioOutput(artifacts) ? "completed" : providerState;
3390
3543
  const retryAfterSeconds = isTerminalXyqTaskState(state) ? 0 : 2;
3391
- return ok20({
3544
+ return ok21({
3392
3545
  taskId: createXyqTaskId(threadId),
3393
3546
  threadId,
3394
3547
  ...serverRunId ? { runId: serverRunId } : {},
@@ -3419,11 +3572,11 @@ var XyqSession = class {
3419
3572
  return result;
3420
3573
  }
3421
3574
  if (isTerminalXyqTaskState(result.value.state)) {
3422
- return ok20({ ...result.value, timedOut: false });
3575
+ return ok21({ ...result.value, timedOut: false });
3423
3576
  }
3424
3577
  const remainingMs = deadline - this._now();
3425
3578
  if (remainingMs <= 0) {
3426
- return ok20({ ...result.value, timedOut: true });
3579
+ return ok21({ ...result.value, timedOut: true });
3427
3580
  }
3428
3581
  try {
3429
3582
  await this._sleep(
@@ -3491,7 +3644,7 @@ var XyqSession = class {
3491
3644
  if (!responseResult.ok) {
3492
3645
  return responseResult;
3493
3646
  }
3494
- return ok20({
3647
+ return ok21({
3495
3648
  taskId: threadId,
3496
3649
  threadId,
3497
3650
  clientRunId,
@@ -3550,7 +3703,7 @@ var XyqSession = class {
3550
3703
  const providerState = mapXyqRunState(toNumber(runRecord.state));
3551
3704
  const state = hasUsableVideoOutput(artifacts) ? "completed" : providerState;
3552
3705
  const retryAfterSeconds = isTerminalXyqTaskState(state) ? 0 : VIDEO_POLL_INTERVAL_SECONDS;
3553
- return ok20({
3706
+ return ok21({
3554
3707
  taskId: threadId,
3555
3708
  threadId,
3556
3709
  ...serverRunId ? { runId: serverRunId } : {},
@@ -3582,11 +3735,11 @@ var XyqSession = class {
3582
3735
  return result;
3583
3736
  }
3584
3737
  if (isTerminalXyqTaskState(result.value.state)) {
3585
- return ok20({ ...result.value, timedOut: false });
3738
+ return ok21({ ...result.value, timedOut: false });
3586
3739
  }
3587
3740
  const remainingMs = deadline - this._now();
3588
3741
  if (remainingMs <= 0) {
3589
- return ok20({ ...result.value, timedOut: true });
3742
+ return ok21({ ...result.value, timedOut: true });
3590
3743
  }
3591
3744
  try {
3592
3745
  await this._sleep(
@@ -3638,7 +3791,7 @@ var XyqSession = class {
3638
3791
  if (!result.ok) {
3639
3792
  return result;
3640
3793
  }
3641
- return ok20({
3794
+ return ok21({
3642
3795
  ...result.value,
3643
3796
  metadata: {
3644
3797
  ...result.value.metadata,
@@ -3724,7 +3877,7 @@ var XyqSession = class {
3724
3877
  ...uploadData,
3725
3878
  ...preview
3726
3879
  });
3727
- return ok20({
3880
+ return ok21({
3728
3881
  ...camelizedAsset,
3729
3882
  assetId,
3730
3883
  pippitAssetId,
@@ -3772,7 +3925,7 @@ function normalizeImageInput(input) {
3772
3925
  }
3773
3926
  pippitAssetIds.push(id);
3774
3927
  }
3775
- return ok20({
3928
+ return ok21({
3776
3929
  prompt,
3777
3930
  pippitAssetIds,
3778
3931
  imageCount,
@@ -3963,7 +4116,7 @@ function normalizeVideoPartInput(input) {
3963
4116
  if (!audiosResult.ok) {
3964
4117
  return audiosResult;
3965
4118
  }
3966
- return ok20({
4119
+ return ok21({
3967
4120
  prompt,
3968
4121
  images: imagesResult.value,
3969
4122
  videos: videosResult.value,
@@ -3987,7 +4140,7 @@ function normalizeVideoAssetReferences(assets, label) {
3987
4140
  }
3988
4141
  normalized.push({ asset_id: assetId, pippit_asset_id: pippitAssetId });
3989
4142
  }
3990
- return ok20(normalized);
4143
+ return ok21(normalized);
3991
4144
  }
3992
4145
  function buildVideoPartRunExtra(clientRunId, messageId) {
3993
4146
  return {
@@ -4086,9 +4239,6 @@ function isTerminalXyqTaskState(state) {
4086
4239
  function hasUsableVideoOutput(artifacts) {
4087
4240
  return artifacts.some((artifact) => artifact.videos.length > 0);
4088
4241
  }
4089
- function hasUsableImageOutput(artifacts) {
4090
- return artifacts.some((artifact) => artifact.images.length > 0);
4091
- }
4092
4242
  function hasUsableAudioOutput(artifacts) {
4093
4243
  return artifacts.some((artifact) => artifact.audios.length > 0);
4094
4244
  }
@@ -4122,61 +4272,7 @@ function extractImageArtifact(entry) {
4122
4272
  if (!isRecord7(entry)) return void 0;
4123
4273
  const artifact = parseJsonRecord(entry.artifact);
4124
4274
  if (!artifact) return void 0;
4125
- return { images: deepCollectImageOutputs(artifact), raw: camelizeValue(artifact) };
4126
- }
4127
- function deepCollectImageOutputs(value) {
4128
- const results = /* @__PURE__ */ new Map();
4129
- collectImageOutputs(value, void 0, results, 0);
4130
- return [...results.values()];
4131
- }
4132
- function collectImageOutputs(value, inheritedPippitAssetId, results, depth) {
4133
- if (depth > 10) return;
4134
- if (typeof value === "string") {
4135
- const parsed = parseJsonValue(value);
4136
- if (parsed !== void 0) collectImageOutputs(parsed, inheritedPippitAssetId, results, depth + 1);
4137
- return;
4138
- }
4139
- if (Array.isArray(value)) {
4140
- for (const item of value) collectImageOutputs(item, inheritedPippitAssetId, results, depth + 1);
4141
- return;
4142
- }
4143
- if (!isRecord7(value)) return;
4144
- const pippitAssetId = normalizeString2(value.pippit_asset_id ?? value.pippitAssetId) ?? inheritedPippitAssetId;
4145
- for (const [key, child] of Object.entries(value)) {
4146
- if (key === "image" || key === "images") {
4147
- collectExplicitImage(child, pippitAssetId, results, depth + 1);
4148
- }
4149
- collectImageOutputs(child, pippitAssetId, results, depth + 1);
4150
- }
4151
- }
4152
- function collectExplicitImage(value, inheritedPippitAssetId, results, depth) {
4153
- if (depth > 10) return;
4154
- if (typeof value === "string") {
4155
- const parsed = parseJsonValue(value);
4156
- if (parsed !== void 0) collectExplicitImage(parsed, inheritedPippitAssetId, results, depth + 1);
4157
- return;
4158
- }
4159
- if (Array.isArray(value)) {
4160
- for (const item of value) collectExplicitImage(item, inheritedPippitAssetId, results, depth + 1);
4161
- return;
4162
- }
4163
- if (!isRecord7(value)) return;
4164
- const sceneUrls = isRecord7(value.scene_urls) ? value.scene_urls : isRecord7(value.sceneUrls) ? value.sceneUrls : {};
4165
- const downloadUrl = normalizeString2(value.url) ?? normalizeString2(sceneUrls.origin_url ?? sceneUrls.originUrl) ?? normalizeString2(sceneUrls.share_without_watermark ?? sceneUrls.shareWithoutWatermark) ?? normalizeString2(sceneUrls.download) ?? normalizeString2(value.download_url ?? value.downloadUrl) ?? normalizeString2(sceneUrls.preview_high ?? sceneUrls.previewHigh);
4166
- if (!downloadUrl) return;
4167
- const metadata = parseJsonRecord(value.metadata) ?? {};
4168
- const assetId = normalizeString2(value.asset_id ?? value.assetId);
4169
- const pippitAssetId = normalizeString2(value.pippit_asset_id ?? value.pippitAssetId) ?? inheritedPippitAssetId;
4170
- const output = {
4171
- downloadUrl,
4172
- ...assetId ? { assetId } : {},
4173
- ...pippitAssetId ? { pippitAssetId } : {},
4174
- ...toNumber(metadata.width ?? value.width) !== void 0 ? { width: toNumber(metadata.width ?? value.width) } : {},
4175
- ...toNumber(metadata.height ?? value.height) !== void 0 ? { height: toNumber(metadata.height ?? value.height) } : {},
4176
- ...normalizeString2(value.name) ? { name: normalizeString2(value.name) } : {}
4177
- };
4178
- const identity = assetId ? `asset:${assetId}` : pippitAssetId ? `pippit:${pippitAssetId}` : `url:${downloadUrl}`;
4179
- results.set(identity, output);
4275
+ return { images: collectXyqImageReferences(artifact), raw: camelizeValue(artifact) };
4180
4276
  }
4181
4277
  function deepCollectAudioOutputs(value) {
4182
4278
  const results = /* @__PURE__ */ new Map();
@@ -4481,7 +4577,7 @@ var XyqClient = class {
4481
4577
  if (!options.forceRefresh) {
4482
4578
  const session = this._sessions.get(fingerprint);
4483
4579
  if (session) {
4484
- return ok21(session);
4580
+ return ok22(session);
4485
4581
  }
4486
4582
  const pendingSession2 = this._pendingSessions.get(fingerprint);
4487
4583
  if (pendingSession2) {
@@ -4512,7 +4608,7 @@ var XyqClient = class {
4512
4608
  if (!forceRefresh) {
4513
4609
  const cached = await this._readCacheBestEffort();
4514
4610
  if (cached?.cookieFingerprint === fingerprint) {
4515
- return ok21(this._createSession(cookie, cached));
4611
+ return ok22(this._createSession(cookie, cached));
4516
4612
  }
4517
4613
  }
4518
4614
  const contextResult = await this._fetchSessionContext(cookie);
@@ -4529,7 +4625,7 @@ var XyqClient = class {
4529
4625
  if (this._activeFingerprint === fingerprint) {
4530
4626
  await this._writeCacheBestEffort(cacheRecord);
4531
4627
  }
4532
- return ok21(
4628
+ return ok22(
4533
4629
  new XyqSession(contextResult.value, this._fetcher, {
4534
4630
  settingsReader: this._settingsReader
4535
4631
  })
@@ -4582,7 +4678,7 @@ var XyqClient = class {
4582
4678
  "\u83B7\u53D6 XYQ workspace \u6210\u529F\uFF0C\u4F46\u672A\u627E\u5230 workspace_id"
4583
4679
  );
4584
4680
  }
4585
- return ok21({
4681
+ return ok22({
4586
4682
  cookies: { [XYQ_SESSION_COOKIE_NAME]: cookie },
4587
4683
  uid,
4588
4684
  workspaceId,
@@ -4638,7 +4734,7 @@ function findFirstAudioUrl(task) {
4638
4734
  }
4639
4735
 
4640
4736
  // src/modules/xyq-tasks/audio-task-runner.ts
4641
- import { err as err17, ok as ok22 } from "rockbed/error";
4737
+ import { err as err17, ok as ok23 } from "rockbed/error";
4642
4738
  async function createDefaultAudioSession() {
4643
4739
  return createDefaultXyqClient().createSession();
4644
4740
  }
@@ -4708,7 +4804,7 @@ var XyqAudioGenerationProvider = class extends Disposable10 {
4708
4804
  ...pippitAssetId ? { pippitAssetId } : {}
4709
4805
  });
4710
4806
  if (!submit.ok) return xyqAudioFailure(submit, stage, "submit");
4711
- return ok23({ taskId: submit.value.taskId, state: "submitted" });
4807
+ return ok24({ taskId: submit.value.taskId, state: "submitted" });
4712
4808
  } catch (caughtError) {
4713
4809
  return err18(1, toErrorMessage2(caughtError), { stage });
4714
4810
  }
@@ -4723,7 +4819,7 @@ var XyqAudioGenerationProvider = class extends Disposable10 {
4723
4819
  stage = "query";
4724
4820
  const result = await sessionResult.value.queryAudio({ threadId });
4725
4821
  if (!result.ok) return xyqAudioFailure(result, stage, "query", taskId);
4726
- return ok23(toAudioTaskResult(result.value));
4822
+ return ok24(toAudioTaskResult(result.value));
4727
4823
  } catch (caughtError) {
4728
4824
  return err18(1, toErrorMessage2(caughtError), { stage, taskId });
4729
4825
  }
@@ -4739,7 +4835,7 @@ var XyqAudioGenerationProvider = class extends Disposable10 {
4739
4835
  stage = "wait";
4740
4836
  const result = await sessionResult.value.waitAudio({ threadId, timeoutSeconds });
4741
4837
  if (!result.ok) return xyqAudioFailure(result, stage, "query", taskId);
4742
- return ok23(toAudioTaskResult(result.value));
4838
+ return ok24(toAudioTaskResult(result.value));
4743
4839
  } catch (caughtError) {
4744
4840
  return err18(1, toErrorMessage2(caughtError), { stage, taskId });
4745
4841
  }
@@ -4794,7 +4890,7 @@ function createDefaultAudioGenerationService(options = {}) {
4794
4890
 
4795
4891
  // src/commands/ai/ai-audio-status-command.ts
4796
4892
  import { Option } from "commander";
4797
- import { ok as ok24 } from "rockbed/error";
4893
+ import { ok as ok25 } from "rockbed/error";
4798
4894
 
4799
4895
  // src/commands/ai/ai-audio-task-output.ts
4800
4896
  function audioErrorStage(errorInfo, phase) {
@@ -4873,7 +4969,7 @@ var AiAudioStatusCommand = class extends BaseCommand {
4873
4969
  if (!result.ok) {
4874
4970
  return failFrom(result, audioFailureDetail(result.errorInfo, "query", { taskId }));
4875
4971
  }
4876
- return ok24(toAudioTaskOutput(result.value));
4972
+ return ok25(toAudioTaskOutput(result.value));
4877
4973
  } catch (caughtError) {
4878
4974
  return fail(1, caughtError instanceof Error ? caughtError.message : String(caughtError), {
4879
4975
  stage: "query",
@@ -4886,7 +4982,7 @@ var AiAudioStatusCommand = class extends BaseCommand {
4886
4982
  // src/commands/ai/ai-audio-wait-command.ts
4887
4983
  import { resolve as resolve4 } from "node:path";
4888
4984
  import { Option as Option2 } from "commander";
4889
- import { ok as ok25 } from "rockbed/error";
4985
+ import { ok as ok26 } from "rockbed/error";
4890
4986
  var AiAudioWaitCommand = class extends BaseCommand {
4891
4987
  constructor(_audioGenerationService = createDefaultAudioGenerationService()) {
4892
4988
  super();
@@ -4929,7 +5025,7 @@ var AiAudioWaitCommand = class extends BaseCommand {
4929
5025
  if (!result.ok) {
4930
5026
  return failFrom(result, audioFailureDetail(result.errorInfo, "wait", { taskId, outputPath }));
4931
5027
  }
4932
- return ok25(toAudioTaskOutput(result.value, { outputPath }));
5028
+ return ok26(toAudioTaskOutput(result.value, { outputPath }));
4933
5029
  }
4934
5030
  };
4935
5031
 
@@ -5024,7 +5120,7 @@ var AiAudioCommand = class extends BaseCommandGroup {
5024
5120
  }
5025
5121
  taskId = submitted.value.taskId;
5026
5122
  progress.dispose();
5027
- if (!shouldWait) return ok26(toAudioSubmitOutput(taskId));
5123
+ if (!shouldWait) return ok27(toAudioSubmitOutput(taskId));
5028
5124
  stage = "wait";
5029
5125
  const completed = await this._audioGenerationService.wait({
5030
5126
  taskId,
@@ -5034,7 +5130,7 @@ var AiAudioCommand = class extends BaseCommandGroup {
5034
5130
  if (!completed.ok) {
5035
5131
  return failFrom(completed, audioFailureDetail(completed.errorInfo, "wait", { taskId, outputPath }));
5036
5132
  }
5037
- return ok26(toAudioTaskOutput(completed.value, { outputPath }));
5133
+ return ok27(toAudioTaskOutput(completed.value, { outputPath }));
5038
5134
  } catch (caughtError) {
5039
5135
  return fail(1, caughtError instanceof Error ? caughtError.message : String(caughtError), {
5040
5136
  stage,
@@ -5052,14 +5148,14 @@ function appendAudioPath(value, previous) {
5052
5148
  // src/commands/ai/ai-image-command.ts
5053
5149
  import * as path10 from "node:path";
5054
5150
  import { Option as Option6 } from "commander";
5055
- import { ok as ok35 } from "rockbed/error";
5151
+ import { ok as ok36 } from "rockbed/error";
5056
5152
 
5057
5153
  // src/modules/image-generation/image-task-service.ts
5058
5154
  import * as path6 from "node:path";
5059
5155
  import { fileURLToPath } from "node:url";
5060
5156
  import { randomUUID as randomUUID9 } from "node:crypto";
5061
5157
  import { Disposable as Disposable11 } from "rockbed/dispose";
5062
- import { err as err19, ok as ok27 } from "rockbed/error";
5158
+ import { err as err19, ok as ok28 } from "rockbed/error";
5063
5159
  var ImageTaskService = class extends Disposable11 {
5064
5160
  _taskStore;
5065
5161
  _launchWorker;
@@ -5105,17 +5201,17 @@ var ImageTaskService = class extends Disposable11 {
5105
5201
  const record = await this._taskStore.read(taskId);
5106
5202
  const artifact = this._taskStore.artifactPath(taskId);
5107
5203
  if ((await validateImageArtifact(artifact)).ok) {
5108
- return ok27(toOutput(record, "completed", [{ localPath: artifact }]));
5204
+ return ok28(toOutput(record, "completed", [{ localPath: artifact }]));
5109
5205
  }
5110
5206
  if (record.state === "completed") {
5111
- return ok27({ ...toOutput(record, "unknown"), failReason: "\u4EFB\u52A1\u66FE\u5B8C\u6210\uFF0C\u4F46\u672C\u5730\u5F52\u6863\u56FE\u7247\u7F3A\u5931\u6216\u635F\u574F\uFF1B\u672A\u91CD\u65B0\u751F\u6210" });
5207
+ return ok28({ ...toOutput(record, "unknown"), failReason: "\u4EFB\u52A1\u66FE\u5B8C\u6210\uFF0C\u4F46\u672C\u5730\u5F52\u6863\u56FE\u7247\u7F3A\u5931\u6216\u635F\u574F\uFF1B\u672A\u91CD\u65B0\u751F\u6210" });
5112
5208
  }
5113
- if (record.state === "failed" || record.state === "unknown") return ok27(toOutput(record));
5114
- if (await this._isWorkerAlive(record)) return ok27({ ...toOutput(record), retryAfterSeconds: 1 });
5209
+ if (record.state === "failed" || record.state === "unknown") return ok28(toOutput(record));
5210
+ if (await this._isWorkerAlive(record)) return ok28({ ...toOutput(record), retryAfterSeconds: 1 });
5115
5211
  const latest = await this._taskStore.read(taskId);
5116
- if ((await validateImageArtifact(artifact)).ok) return ok27(toOutput(latest, "completed", [{ localPath: artifact }]));
5117
- if (latest.state === "failed") return ok27(toOutput(latest));
5118
- return ok27({ ...toOutput(latest, "unknown"), failReason: "\u65E0\u6CD5\u786E\u8BA4\u539F\u56FE\u7247 worker \u4ECD\u5728\u8FD0\u884C\uFF0C\u4E14\u672A\u53D1\u73B0\u5B8C\u6574\u5F52\u6863\u4EA7\u7269\uFF1B\u8BF7\u7A0D\u540E\u67E5\u8BE2\u539F\u4EFB\u52A1\uFF0C\u672A\u81EA\u52A8\u6062\u590D\u6216\u91CD\u65B0\u751F\u6210" });
5212
+ if ((await validateImageArtifact(artifact)).ok) return ok28(toOutput(latest, "completed", [{ localPath: artifact }]));
5213
+ if (latest.state === "failed") return ok28(toOutput(latest));
5214
+ return ok28({ ...toOutput(latest, "unknown"), failReason: "\u65E0\u6CD5\u786E\u8BA4\u539F\u56FE\u7247 worker \u4ECD\u5728\u8FD0\u884C\uFF0C\u4E14\u672A\u53D1\u73B0\u5B8C\u6574\u5F52\u6863\u4EA7\u7269\uFF1B\u8BF7\u7A0D\u540E\u67E5\u8BE2\u539F\u4EFB\u52A1\uFF0C\u672A\u81EA\u52A8\u6062\u590D\u6216\u91CD\u65B0\u751F\u6210" });
5119
5215
  } catch (error) {
5120
5216
  return taskError(error, taskId);
5121
5217
  }
@@ -5134,11 +5230,11 @@ var ImageTaskService = class extends Disposable11 {
5134
5230
  if (!localPath) return err19(1, "\u56FE\u7247\u4EFB\u52A1\u5DF2\u5B8C\u6210\uFF0C\u4F46\u672C\u5730\u5F52\u6863\u8DEF\u5F84\u7F3A\u5931", { taskId });
5135
5231
  const copied = await copyImageArtifact(localPath, outputPath);
5136
5232
  if (!copied.ok) return err19(copied.code, copied.msg, { ...errorDetails(copied.errorInfo), taskId, state: "completed", outputs: current.value.outputs });
5137
- return ok27({ ...current.value, outputs: [{ localPath: copied.value }] });
5233
+ return ok28({ ...current.value, outputs: [{ localPath: copied.value }] });
5138
5234
  }
5139
5235
  if (current.value.state === "failed" || current.value.state === "unknown") return current;
5140
5236
  const remaining = deadline - this._now();
5141
- if (remaining <= 0) return ok27({ ...current.value, timedOut: true });
5237
+ if (remaining <= 0) return ok28({ ...current.value, timedOut: true });
5142
5238
  await this._delay(Math.min(remaining, this._pollIntervalMs));
5143
5239
  }
5144
5240
  }
@@ -5149,7 +5245,7 @@ var ImageTaskService = class extends Disposable11 {
5149
5245
  const current = await this.status(taskId);
5150
5246
  results.push(current.ok ? current.value : { taskId, state: "unknown", outputs: [], failReason: current.msg });
5151
5247
  }
5152
- return ok27(results.sort((a, b) => (b.createdAt ?? "").localeCompare(a.createdAt ?? "")));
5248
+ return ok28(results.sort((a, b) => (b.createdAt ?? "").localeCompare(a.createdAt ?? "")));
5153
5249
  } catch (error) {
5154
5250
  return err19(1, `\u8BFB\u53D6\u56FE\u7247\u4EFB\u52A1\u5217\u8868\u5931\u8D25: ${error instanceof Error ? error.message : String(error)}`);
5155
5251
  }
@@ -5196,13 +5292,13 @@ ${constraints.join("\n")}` : void 0
5196
5292
  }
5197
5293
 
5198
5294
  // src/modules/image-generation/routed-image-task-service.ts
5199
- import { err as err22, ok as ok30 } from "rockbed/error";
5295
+ import { err as err22, ok as ok31 } from "rockbed/error";
5200
5296
 
5201
5297
  // src/modules/image-generation/jimeng-image-task-service.ts
5202
5298
  import * as path7 from "node:path";
5203
5299
  import { setTimeout as sleep3 } from "node:timers/promises";
5204
5300
  import { Disposable as Disposable12 } from "rockbed/dispose";
5205
- import { err as err20, ok as ok28 } from "rockbed/error";
5301
+ import { err as err20, ok as ok29 } from "rockbed/error";
5206
5302
  var JIMENG_IMAGE_TASK_ID_PREFIX = "jimeng-image:";
5207
5303
  var JimengImageTaskService = class extends Disposable12 {
5208
5304
  _api;
@@ -5309,7 +5405,7 @@ var JimengImageTaskService = class extends Disposable12 {
5309
5405
  }), "submit", "submit", taskId);
5310
5406
  }
5311
5407
  const interval = submission.queue_info?.polling_config?.interval_seconds;
5312
- return ok28({
5408
+ return ok29({
5313
5409
  taskId,
5314
5410
  state: "submitted",
5315
5411
  outputs: [],
@@ -5331,7 +5427,7 @@ var JimengImageTaskService = class extends Disposable12 {
5331
5427
  const parsed = parseJimengImageStatus(response.value, submitId);
5332
5428
  if (!parsed.ok) return imageFailure(err20(parsed.code, parsed.msg, { failureKind: "response" }), "query", "query", normalizedTaskId);
5333
5429
  const { failReason, ...snapshot } = parsed.value;
5334
- return ok28({
5430
+ return ok29({
5335
5431
  taskId: normalizedTaskId,
5336
5432
  ...snapshot,
5337
5433
  source: "jimeng",
@@ -5352,17 +5448,17 @@ var JimengImageTaskService = class extends Disposable12 {
5352
5448
  if (!queried.ok) return queried;
5353
5449
  const task = queried.value;
5354
5450
  if (task.state === "completed") {
5355
- return options.outputPath ? this._download(task, options.outputPath) : ok28(task);
5451
+ return options.outputPath ? this._download(task, options.outputPath) : ok29(task);
5356
5452
  }
5357
- if (task.state === "failed") return ok28(task);
5453
+ if (task.state === "failed") return ok29(task);
5358
5454
  const remaining = deadline - this._now();
5359
- if (remaining <= 0) return ok28({ ...task, timedOut: true });
5455
+ if (remaining <= 0) return ok29({ ...task, timedOut: true });
5360
5456
  const interval = Math.max(1, task.retryAfterSeconds ?? 2) * 1e3;
5361
5457
  await this._sleep(Math.min(interval, remaining));
5362
5458
  }
5363
5459
  }
5364
5460
  async list() {
5365
- return ok28([]);
5461
+ return ok29([]);
5366
5462
  }
5367
5463
  async _download(task, outputPath) {
5368
5464
  if (task.outputs.length === 0) {
@@ -5382,7 +5478,7 @@ var JimengImageTaskService = class extends Disposable12 {
5382
5478
  const { downloadUrl: _downloadUrl, ...metadata } = output;
5383
5479
  outputs.push({ ...metadata, localPath: downloaded.value });
5384
5480
  }
5385
- return ok28({ ...task, outputs });
5481
+ return ok29({ ...task, outputs });
5386
5482
  }
5387
5483
  };
5388
5484
  function parseJimengImageTaskId(taskId) {
@@ -5423,7 +5519,7 @@ function isJimengImageModelId(modelId) {
5423
5519
  import * as fs7 from "node:fs/promises";
5424
5520
  import { homedir as homedir3 } from "node:os";
5425
5521
  import * as path8 from "node:path";
5426
- import { err as err21, ok as ok29 } from "rockbed/error";
5522
+ import { err as err21, ok as ok30 } from "rockbed/error";
5427
5523
  var XyqImageTaskService = class {
5428
5524
  _createSession;
5429
5525
  _downloadDirectory;
@@ -5461,7 +5557,7 @@ var XyqImageTaskService = class {
5461
5557
  aspectRatio: request.aspectRatio
5462
5558
  });
5463
5559
  if (!submit.ok) return xyqImageFailure(submit, "submit");
5464
- return ok29({
5560
+ return ok30({
5465
5561
  taskId: submit.value.taskId,
5466
5562
  state: "submitted",
5467
5563
  outputs: [],
@@ -5476,7 +5572,7 @@ var XyqImageTaskService = class {
5476
5572
  const sessionResult = await this._createSession();
5477
5573
  if (!sessionResult.ok) return xyqImageFailure(sessionResult, "setup", taskId);
5478
5574
  const result = await sessionResult.value.queryImage({ threadId: threadIdResult.value });
5479
- return result.ok ? ok29(await this._toTaskResult(result.value)) : xyqImageFailure(result, "query", taskId);
5575
+ return result.ok ? ok30(await this._toTaskResult(result.value)) : xyqImageFailure(result, "query", taskId);
5480
5576
  }
5481
5577
  async wait(options) {
5482
5578
  const threadIdResult = parseXyqImageTaskId(options.taskId);
@@ -5490,11 +5586,11 @@ var XyqImageTaskService = class {
5490
5586
  if (!result.ok) return xyqImageFailure(result, "query", options.taskId);
5491
5587
  const task = await this._toTaskResult(result.value);
5492
5588
  if (task.state !== "completed") {
5493
- return ok29({ ...task, ...result.value.timedOut ? { timedOut: true } : {} });
5589
+ return ok30({ ...task, ...result.value.timedOut ? { timedOut: true } : {} });
5494
5590
  }
5495
5591
  const remoteOutputs = collectXyqImageOutputs(result.value);
5496
5592
  if (remoteOutputs.length === 0) return err21(1, "XYQ \u56FE\u7247\u4EFB\u52A1\u5DF2\u5B8C\u6210\uFF0C\u4F46\u6CA1\u6709\u627E\u5230\u56FE\u7247\u4E0B\u8F7D\u5730\u5740");
5497
- if (!options.outputPath) return ok29(task);
5593
+ if (!options.outputPath) return ok30(task);
5498
5594
  const targets = resolveImageOutputPaths2(
5499
5595
  options.outputPath,
5500
5596
  remoteOutputs.length
@@ -5508,10 +5604,10 @@ var XyqImageTaskService = class {
5508
5604
  if (!downloaded.ok) return xyqImageFailure(downloaded, "download", options.taskId);
5509
5605
  outputs.push(toTaskOutput(output, downloaded.value));
5510
5606
  }
5511
- return ok29({ ...task, outputs });
5607
+ return ok30({ ...task, outputs });
5512
5608
  }
5513
5609
  async list() {
5514
- return ok29([]);
5610
+ return ok30([]);
5515
5611
  }
5516
5612
  async _toTaskResult(result) {
5517
5613
  const remoteOutputs = collectXyqImageOutputs(result);
@@ -5539,7 +5635,7 @@ function parseXyqImageTaskId(taskId) {
5539
5635
  return err21(1, `XYQ \u56FE\u7247 task-id \u683C\u5F0F\u5FC5\u987B\u662F ${XYQ_IMAGE_TASK_ID_PREFIX}<threadId>`, { failureKind: "input", requestOutcome: "not_sent" });
5540
5636
  }
5541
5637
  const threadId = normalized.slice(XYQ_IMAGE_TASK_ID_PREFIX.length).trim();
5542
- return threadId ? ok29(threadId) : err21(1, "XYQ \u56FE\u7247 taskId \u4E0D\u80FD\u4E3A\u7A7A", { failureKind: "input", requestOutcome: "not_sent" });
5638
+ return threadId ? ok30(threadId) : err21(1, "XYQ \u56FE\u7247 taskId \u4E0D\u80FD\u4E3A\u7A7A", { failureKind: "input", requestOutcome: "not_sent" });
5543
5639
  }
5544
5640
  function xyqImageFailure(result, operation, taskId) {
5545
5641
  const original = typeof result.errorInfo === "object" && result.errorInfo !== null && !Array.isArray(result.errorInfo) ? result.errorInfo : {};
@@ -5634,7 +5730,7 @@ var RoutedImageTaskService = class {
5634
5730
  }
5635
5731
  async list() {
5636
5732
  const local = await this._localService.list();
5637
- return local.ok ? ok30(local.value) : local;
5733
+ return local.ok ? ok31(local.value) : local;
5638
5734
  }
5639
5735
  _serviceForTask(taskId) {
5640
5736
  if (taskId.trim().startsWith(JIMENG_IMAGE_TASK_ID_PREFIX)) return this._jimengService;
@@ -5650,10 +5746,10 @@ function createDefaultImageTaskService() {
5650
5746
  }
5651
5747
 
5652
5748
  // src/commands/ai/ai-image-list-command.ts
5653
- import { ok as ok32 } from "rockbed/error";
5749
+ import { ok as ok33 } from "rockbed/error";
5654
5750
 
5655
5751
  // src/commands/ai/ai-image-task-output.ts
5656
- import { ok as ok31 } from "rockbed/error";
5752
+ import { ok as ok32 } from "rockbed/error";
5657
5753
  function validateImageWaitOptions(timeoutSeconds, outputPath) {
5658
5754
  if (!Number.isInteger(timeoutSeconds) || timeoutSeconds < 1 || timeoutSeconds > MAX_IMAGE_WAIT_SECONDS) {
5659
5755
  return fail(1, `--timeout-seconds \u5FC5\u987B\u662F 1-${MAX_IMAGE_WAIT_SECONDS} \u7684\u6574\u6570`, { stage: "input" });
@@ -5661,7 +5757,7 @@ function validateImageWaitOptions(timeoutSeconds, outputPath) {
5661
5757
  if (outputPath !== void 0 && !outputPath.trim()) {
5662
5758
  return fail(1, "--output \u4E00\u65E6\u4F20\u5165\u5C31\u5FC5\u987B\u662F\u975E\u7A7A\u8DEF\u5F84", { stage: "input" });
5663
5759
  }
5664
- return ok31();
5760
+ return ok32();
5665
5761
  }
5666
5762
  function imageWaitCommand(taskId, outputPath) {
5667
5763
  return `tt ai image wait --task-id ${quoteArgument2(taskId)}${outputPath ? ` --output ${quoteArgument2(outputPath)}` : ""}`;
@@ -5708,13 +5804,13 @@ var AiImageListCommand = class extends BaseCommand {
5708
5804
  }
5709
5805
  async _execute() {
5710
5806
  const result = await this._service.list();
5711
- return result.ok ? ok32({ tasks: result.value.map((task) => toImageTaskOutput(task)) }) : failFrom(result, { stage: "query" });
5807
+ return result.ok ? ok33({ tasks: result.value.map((task) => toImageTaskOutput(task)) }) : failFrom(result, { stage: "query" });
5712
5808
  }
5713
5809
  };
5714
5810
 
5715
5811
  // src/commands/ai/ai-image-status-command.ts
5716
5812
  import { Option as Option4 } from "commander";
5717
- import { ok as ok33 } from "rockbed/error";
5813
+ import { ok as ok34 } from "rockbed/error";
5718
5814
  var AiImageStatusCommand = class extends BaseCommand {
5719
5815
  constructor(_service = createDefaultImageTaskService()) {
5720
5816
  super();
@@ -5739,14 +5835,14 @@ var AiImageStatusCommand = class extends BaseCommand {
5739
5835
  }
5740
5836
  async _execute(ctx) {
5741
5837
  const result = await this._service.status(ctx.options.taskId);
5742
- return result.ok ? ok33(toImageTaskOutput(result.value)) : failFrom(result, { taskId: ctx.options.taskId, stage: "query" });
5838
+ return result.ok ? ok34(toImageTaskOutput(result.value)) : failFrom(result, { taskId: ctx.options.taskId, stage: "query" });
5743
5839
  }
5744
5840
  };
5745
5841
 
5746
5842
  // src/commands/ai/ai-image-wait-command.ts
5747
5843
  import * as path9 from "node:path";
5748
5844
  import { Option as Option5 } from "commander";
5749
- import { ok as ok34 } from "rockbed/error";
5845
+ import { ok as ok35 } from "rockbed/error";
5750
5846
  var AiImageWaitCommand = class extends BaseCommand {
5751
5847
  constructor(_service = createDefaultImageTaskService()) {
5752
5848
  super();
@@ -5779,7 +5875,7 @@ var AiImageWaitCommand = class extends BaseCommand {
5779
5875
  const outputPath = options.output === void 0 ? void 0 : path9.resolve(options.output.trim());
5780
5876
  try {
5781
5877
  const result = await this._service.wait({ taskId: options.taskId, timeoutSeconds: options.timeoutSeconds, outputPath });
5782
- return result.ok ? ok34(toImageTaskOutput(result.value, outputPath)) : imageTaskFailure(result, options.taskId, outputPath);
5878
+ return result.ok ? ok35(toImageTaskOutput(result.value, outputPath)) : imageTaskFailure(result, options.taskId, outputPath);
5783
5879
  } catch (error) {
5784
5880
  return imageTaskFailure(fail(1, error instanceof Error ? error.message : String(error)), options.taskId, outputPath);
5785
5881
  }
@@ -5887,11 +5983,11 @@ var AiImageCommand = class extends BaseCommandGroup {
5887
5983
  ...hasLocalTask && readFailureField(submit.errorInfo, "nextCommand") === void 0 ? { nextCommand: "tt ai image list" } : {}
5888
5984
  });
5889
5985
  }
5890
- if (!options.wait && options.output === void 0) return ok35(toImageTaskOutput(submit.value));
5986
+ if (!options.wait && options.output === void 0) return ok36(toImageTaskOutput(submit.value));
5891
5987
  const taskId = submit.value.taskId;
5892
5988
  try {
5893
5989
  const result = await this._service.wait({ taskId, timeoutSeconds: options.timeoutSeconds, outputPath });
5894
- return result.ok ? ok35(toImageTaskOutput(result.value, outputPath)) : imageTaskFailure(result, taskId, outputPath);
5990
+ return result.ok ? ok36(toImageTaskOutput(result.value, outputPath)) : imageTaskFailure(result, taskId, outputPath);
5895
5991
  } catch (error) {
5896
5992
  return imageTaskFailure(fail(1, error instanceof Error ? error.message : String(error)), taskId, outputPath);
5897
5993
  }
@@ -5908,7 +6004,7 @@ function readFailureField(value, field) {
5908
6004
 
5909
6005
  // src/commands/ai/ai-video-command.ts
5910
6006
  import { Option as Option9 } from "commander";
5911
- import { ok as ok40 } from "rockbed/error";
6007
+ import { ok as ok41 } from "rockbed/error";
5912
6008
 
5913
6009
  // src/modules/video-generation/video-generation-provider-registry.ts
5914
6010
  var VideoGenerationProviderRegistry = class {
@@ -5944,7 +6040,7 @@ import * as path11 from "node:path";
5944
6040
  import { setTimeout as sleep4 } from "node:timers/promises";
5945
6041
 
5946
6042
  // src/modules/video-generation/video-generation-error.ts
5947
- import { err as err23, ok as ok36 } from "rockbed/error";
6043
+ import { err as err23, ok as ok37 } from "rockbed/error";
5948
6044
  function makeVideoGenerationError(options) {
5949
6045
  const errorInfo = {
5950
6046
  code: options.code,
@@ -5959,7 +6055,7 @@ function makeVideoGenerationError(options) {
5959
6055
  return err23(options.number, options.message, errorInfo);
5960
6056
  }
5961
6057
  function makeVideoGenerationOk(value) {
5962
- return ok36(value);
6058
+ return ok37(value);
5963
6059
  }
5964
6060
 
5965
6061
  // src/modules/video-generation/normalize-video-generation-request.ts
@@ -6869,7 +6965,7 @@ function createDefaultVideoGenerationService() {
6869
6965
  }
6870
6966
 
6871
6967
  // src/commands/ai/ai-video-cache-clear-command.ts
6872
- import { ok as ok37 } from "rockbed/error";
6968
+ import { ok as ok38 } from "rockbed/error";
6873
6969
  var AiVideoCacheClearCommand = class extends BaseCommand {
6874
6970
  constructor(_clearAssetCache = clearDefaultXyqAssetCache) {
6875
6971
  super();
@@ -6885,7 +6981,7 @@ var AiVideoCacheClearCommand = class extends BaseCommand {
6885
6981
  return ["data.clearedEntries:number \u662F\u6E05\u9664\u7684\u7F13\u5B58\u6761\u76EE\u6570\u3002"];
6886
6982
  }
6887
6983
  async _execute(_ctx) {
6888
- return ok37(this._clearAssetCache());
6984
+ return ok38(this._clearAssetCache());
6889
6985
  }
6890
6986
  };
6891
6987
 
@@ -6904,7 +7000,7 @@ var AiVideoCacheCommand = class extends BaseCommandGroup {
6904
7000
 
6905
7001
  // src/commands/ai/ai-video-status-command.ts
6906
7002
  import { Option as Option7 } from "commander";
6907
- import { ok as ok38 } from "rockbed/error";
7003
+ import { ok as ok39 } from "rockbed/error";
6908
7004
 
6909
7005
  // src/commands/ai/ai-video-task-output.ts
6910
7006
  function videoFailureRecovery(recovery = {}, taskId, nextCommand) {
@@ -6988,13 +7084,13 @@ var AiVideoStatusCommand = class extends BaseCommand {
6988
7084
  taskId
6989
7085
  });
6990
7086
  }
6991
- return ok38(toVideoTaskOutput(result.value));
7087
+ return ok39(toVideoTaskOutput(result.value));
6992
7088
  }
6993
7089
  };
6994
7090
 
6995
7091
  // src/commands/ai/ai-video-wait-command.ts
6996
7092
  import { Option as Option8 } from "commander";
6997
- import { ok as ok39 } from "rockbed/error";
7093
+ import { ok as ok40 } from "rockbed/error";
6998
7094
  var AiVideoWaitCommand = class extends BaseCommand {
6999
7095
  constructor(_service = createDefaultVideoGenerationService()) {
7000
7096
  super();
@@ -7049,7 +7145,7 @@ var AiVideoWaitCommand = class extends BaseCommand {
7049
7145
  ...videoFailureRecovery(result.errorInfo?.recovery, options.taskId, result.errorInfo?.nextCommand)
7050
7146
  });
7051
7147
  }
7052
- return ok39(toVideoTaskOutput(result.value));
7148
+ return ok40(toVideoTaskOutput(result.value));
7053
7149
  }
7054
7150
  };
7055
7151
 
@@ -7200,7 +7296,7 @@ var AiVideoCommand = class extends BaseCommandGroup {
7200
7296
  return submitResult;
7201
7297
  }
7202
7298
  if (!shouldWait) {
7203
- return ok40(toVideoSubmitOutput(submitResult.value));
7299
+ return ok41(toVideoSubmitOutput(submitResult.value));
7204
7300
  }
7205
7301
  const taskId = submitResult.value.taskId;
7206
7302
  if (!taskId) {
@@ -7220,7 +7316,7 @@ var AiVideoCommand = class extends BaseCommandGroup {
7220
7316
  ...videoFailureRecovery(completionResult.errorInfo?.recovery, taskId, completionResult.errorInfo?.nextCommand)
7221
7317
  });
7222
7318
  }
7223
- return ok40(
7319
+ return ok41(
7224
7320
  toVideoEndToEndOutput(submitResult.value, completionResult.value)
7225
7321
  );
7226
7322
  }
@@ -7295,7 +7391,7 @@ function supportLines(label, standard, supported) {
7295
7391
 
7296
7392
  // src/modules/ark/ark-web-search.ts
7297
7393
  import { Disposable as Disposable14 } from "rockbed/dispose";
7298
- import { err as err24, ok as ok41 } from "rockbed/error";
7394
+ import { err as err24, ok as ok42 } from "rockbed/error";
7299
7395
 
7300
7396
  // src/constants/ak.ts
7301
7397
  var LEGACY_ARK_API_KEY = "6990de07-83be-487d-930d-f5dd3b6d5993";
@@ -7308,14 +7404,14 @@ var ARK_WEB_SEARCH_MODEL = "doubao-seed-2-0-mini-260215";
7308
7404
  async function resolveArkApiKey(settingsReader, env = process.env) {
7309
7405
  const fromEnv = env[ARK_API_KEY_ENV]?.trim();
7310
7406
  if (fromEnv) {
7311
- return ok41(fromEnv);
7407
+ return ok42(fromEnv);
7312
7408
  }
7313
7409
  const fromSettings = await settingsReader.getString(ARK_API_KEY_SETTING_KEY);
7314
7410
  if (!fromSettings.ok) {
7315
7411
  return fromSettings;
7316
7412
  }
7317
7413
  const value = fromSettings.value?.trim();
7318
- return ok41(value || LEGACY_ARK_API_KEY);
7414
+ return ok42(value || LEGACY_ARK_API_KEY);
7319
7415
  }
7320
7416
  var ArkWebSearchClient = class extends Disposable14 {
7321
7417
  _fetcher;
@@ -7373,7 +7469,7 @@ var ArkWebSearchClient = class extends Disposable14 {
7373
7469
  if (!content) {
7374
7470
  return err24(1, "\u8FD4\u56DE\u6570\u636E\u683C\u5F0F\u5F02\u5E38");
7375
7471
  }
7376
- return ok41({
7472
+ return ok42({
7377
7473
  query,
7378
7474
  model: ARK_WEB_SEARCH_MODEL,
7379
7475
  text: extractOutputText(content),
@@ -7458,12 +7554,12 @@ var AiCommand = class extends BaseCommandGroup {
7458
7554
 
7459
7555
  // src/modules/codex/index.ts
7460
7556
  import { fileURLToPath as fileURLToPath2 } from "node:url";
7461
- import { ok as ok43 } from "rockbed/error";
7557
+ import { ok as ok44 } from "rockbed/error";
7462
7558
 
7463
7559
  // src/modules/codex/codex-input.ts
7464
7560
  import { stat as stat3 } from "node:fs/promises";
7465
7561
  import { resolve as resolve12 } from "node:path";
7466
- import { err as err25, ok as ok42 } from "rockbed/error";
7562
+ import { err as err25, ok as ok43 } from "rockbed/error";
7467
7563
  var DEFAULT_CODEX_CWD = "/Users/bytedance/work/autogen";
7468
7564
  var DEFAULT_CODEX_MODEL = "gpt-6.1-sol";
7469
7565
  var DEFAULT_CODEX_REASONING = "max";
@@ -7473,7 +7569,7 @@ function validateCodexParameters(input) {
7473
7569
  if (!input.prompt.trim()) return err25(1, "\u8BF7\u8F93\u5165\u975E\u7A7A prompt");
7474
7570
  if (!CODEX_MODELS.some((model) => model === input.model)) return err25(1, "\u4E0D\u652F\u6301\u7684\u6A21\u578B");
7475
7571
  if (!CODEX_REASONING_LEVELS.some((level) => level === input.reasoning)) return err25(1, "\u4E0D\u652F\u6301\u7684\u63A8\u7406\u5F3A\u5EA6");
7476
- return ok42();
7572
+ return ok43();
7477
7573
  }
7478
7574
  async function validateCodexInput(input) {
7479
7575
  const parameters = validateCodexParameters(input);
@@ -7485,7 +7581,7 @@ async function validateCodexInput(input) {
7485
7581
  } catch {
7486
7582
  return err25(1, `\u5DE5\u4F5C\u76EE\u5F55\u4E0D\u5B58\u5728\u6216\u4E0D\u53EF\u8BBF\u95EE: ${cwd}`);
7487
7583
  }
7488
- return ok42({ ...input, cwd });
7584
+ return ok43({ ...input, cwd });
7489
7585
  }
7490
7586
 
7491
7587
  // src/modules/codex/codex-exec.ts
@@ -7553,7 +7649,7 @@ async function launchCodex(input, launch = launchDefaultCodexWorker) {
7553
7649
  const { cwd } = validated.value;
7554
7650
  const result = await launch(validated.value);
7555
7651
  if (!result.ok) return result;
7556
- return ok43({ status: "launched", pid: result.value.pid, cwd, model: input.model, reasoning: input.reasoning, ...result.value.data });
7652
+ return ok44({ status: "launched", pid: result.value.pid, cwd, model: input.model, reasoning: input.reasoning, ...result.value.data });
7557
7653
  }
7558
7654
  function launchDefaultCodexWorker(input) {
7559
7655
  const source = import.meta.url.endsWith(".ts");
@@ -7605,7 +7701,7 @@ var CodexCommand = class extends BaseCommand {
7605
7701
  };
7606
7702
 
7607
7703
  // src/commands/codex/codex-exec-command.ts
7608
- import { err as err27, ok as ok44 } from "rockbed/error";
7704
+ import { err as err27, ok as ok45 } from "rockbed/error";
7609
7705
  var CodexExecCommand = class extends BaseCommand {
7610
7706
  constructor(_executeCodex = executeCodex) {
7611
7707
  super();
@@ -7662,12 +7758,12 @@ var CodexExecCommand = class extends BaseCommand {
7662
7758
  });
7663
7759
  if (!result.ok) return result;
7664
7760
  process.exitCode = result.value.exitCode;
7665
- return ok44();
7761
+ return ok45();
7666
7762
  }
7667
7763
  };
7668
7764
 
7669
7765
  // src/commands/deploy/deploy-command.ts
7670
- import { ok as ok45 } from "rockbed/error";
7766
+ import { ok as ok46 } from "rockbed/error";
7671
7767
 
7672
7768
  // src/modules/static-deploy/static-deploy-service.ts
7673
7769
  import { spawn } from "node:child_process";
@@ -8018,15 +8114,15 @@ async function runTarProcess(input) {
8018
8114
  clearTimeout(timer);
8019
8115
  reject(error);
8020
8116
  });
8021
- const collect = (chunks, chunk) => {
8117
+ const collect2 = (chunks, chunk) => {
8022
8118
  captured += chunk.length;
8023
8119
  if (captured > 1024 * 1024) {
8024
8120
  processError = new Error("\u5F52\u6863\u8FDB\u7A0B\u8F93\u51FA\u8D85\u51FA 1 MiB \u9650\u5236");
8025
8121
  child.kill("SIGKILL");
8026
8122
  } else chunks.push(chunk);
8027
8123
  };
8028
- child.stdout.on("data", (chunk) => collect(stdout, chunk));
8029
- child.stderr.on("data", (chunk) => collect(stderr, chunk));
8124
+ child.stdout.on("data", (chunk) => collect2(stdout, chunk));
8125
+ child.stderr.on("data", (chunk) => collect2(stderr, chunk));
8030
8126
  child.on("close", (exitCode) => {
8031
8127
  clearTimeout(timer);
8032
8128
  if (processError) reject(processError);
@@ -8109,12 +8205,12 @@ var DeployCommand = class extends BaseCommand {
8109
8205
  try {
8110
8206
  const service = this._createService();
8111
8207
  if (operation === "list") {
8112
- return ok45(await service.list());
8208
+ return ok46(await service.list());
8113
8209
  }
8114
8210
  if (operation === "delete") {
8115
- return ok45(await service.delete(deleteName));
8211
+ return ok46(await service.delete(deleteName));
8116
8212
  }
8117
- return ok45(
8213
+ return ok46(
8118
8214
  await service.deploy({
8119
8215
  sourcePath,
8120
8216
  ...name !== void 0 ? { name } : {}
@@ -8134,7 +8230,7 @@ function inputError(msg) {
8134
8230
  }
8135
8231
 
8136
8232
  // src/modules/git/git-cli.ts
8137
- import { err as err28, ok as ok46 } from "rockbed/error";
8233
+ import { err as err28, ok as ok47 } from "rockbed/error";
8138
8234
  function runGit(args) {
8139
8235
  return runProcess("git", args);
8140
8236
  }
@@ -8143,7 +8239,7 @@ async function captureGit(args) {
8143
8239
  if (!result.ok) {
8144
8240
  return result;
8145
8241
  }
8146
- return ok46(result.value.stdout.trim());
8242
+ return ok47(result.value.stdout.trim());
8147
8243
  }
8148
8244
  function gitAddAll() {
8149
8245
  return runGit(["add", "."]);
@@ -8272,7 +8368,7 @@ var GitMmCommand = class extends GitBaseCommand {
8272
8368
  };
8273
8369
 
8274
8370
  // src/commands/git/git-mr-command.ts
8275
- import { ok as ok47 } from "rockbed/error";
8371
+ import { ok as ok48 } from "rockbed/error";
8276
8372
  var GitMrCommand = class extends GitBaseCommand {
8277
8373
  _meta() {
8278
8374
  return {
@@ -8298,7 +8394,7 @@ var GitMrCommand = class extends GitBaseCommand {
8298
8394
  if (!openResult.ok) {
8299
8395
  this._debug(openResult.msg);
8300
8396
  }
8301
- return ok47();
8397
+ return ok48();
8302
8398
  }
8303
8399
  };
8304
8400
 
@@ -8346,7 +8442,7 @@ var GitCommand = class extends BaseCommandGroup {
8346
8442
  };
8347
8443
 
8348
8444
  // src/commands/hello/hello-greet-command.ts
8349
- import { ok as ok48 } from "rockbed/error";
8445
+ import { ok as ok49 } from "rockbed/error";
8350
8446
  var HelloGreetCommand = class extends BaseCommand {
8351
8447
  _meta() {
8352
8448
  return {
@@ -8362,14 +8458,14 @@ var HelloGreetCommand = class extends BaseCommand {
8362
8458
  }
8363
8459
  async _execute(ctx) {
8364
8460
  const message = `Hello, ${readStringArg(ctx.args, 0) || "World"}!`;
8365
- return ok48({
8461
+ return ok49({
8366
8462
  message: ctx.options.uppercase ? message.toUpperCase() : message
8367
8463
  });
8368
8464
  }
8369
8465
  };
8370
8466
 
8371
8467
  // src/commands/hello/hello-info-command.ts
8372
- import { ok as ok49 } from "rockbed/error";
8468
+ import { ok as ok50 } from "rockbed/error";
8373
8469
  var HelloInfoCommand = class extends BaseCommand {
8374
8470
  _meta() {
8375
8471
  return {
@@ -8378,7 +8474,7 @@ var HelloInfoCommand = class extends BaseCommand {
8378
8474
  };
8379
8475
  }
8380
8476
  async _execute(_ctx) {
8381
- return ok49({
8477
+ return ok50({
8382
8478
  version: "1.0.0",
8383
8479
  description: "Hello \u547D\u4EE4\u7EC4 - \u7528\u4E8E\u6253\u62DB\u547C\u7684\u793A\u4F8B\u547D\u4EE4"
8384
8480
  });
@@ -8402,14 +8498,14 @@ var HelloCommand = class extends BaseCommandGroup {
8402
8498
  };
8403
8499
 
8404
8500
  // src/modules/pippit/douyin-video/cn-douyin-video.ts
8405
- import { err as err29, ok as ok51 } from "rockbed/error";
8501
+ import { err as err29, ok as ok52 } from "rockbed/error";
8406
8502
 
8407
8503
  // src/modules/pippit/request-json.ts
8408
- import { ok as ok50 } from "rockbed/error";
8504
+ import { ok as ok51 } from "rockbed/error";
8409
8505
  async function readJsonBody(response, url, responseParseFailed) {
8410
8506
  const bodyText = await response.text();
8411
8507
  try {
8412
- return ok50(JSON.parse(bodyText));
8508
+ return ok51(JSON.parse(bodyText));
8413
8509
  } catch (error) {
8414
8510
  const cause = error instanceof Error ? ` (${error.message})` : "";
8415
8511
  return responseParseFailed(`\u63A5\u53E3\u8FD4\u56DE\u975E JSON \u54CD\u5E94: ${url}${cause}`);
@@ -8524,7 +8620,7 @@ async function fetchDouyinVideoCn(options, dependencies = {}) {
8524
8620
  const response = responseResult.value;
8525
8621
  const videoUrl = parseVideoUrl(response.data);
8526
8622
  if (videoUrl) {
8527
- return ok51({ video_url: videoUrl });
8623
+ return ok52({ video_url: videoUrl });
8528
8624
  }
8529
8625
  if (response.ret !== void 0 && String(response.ret) !== "0") {
8530
8626
  return err29(
@@ -8653,7 +8749,7 @@ var ShortcutCommand = class extends BaseCommandGroup {
8653
8749
  };
8654
8750
 
8655
8751
  // src/commands/tool/tool-draw-command.ts
8656
- import { err as err30, ok as ok52 } from "rockbed/error";
8752
+ import { err as err30, ok as ok53 } from "rockbed/error";
8657
8753
  var ToolDrawCommand = class extends BaseCommand {
8658
8754
  _meta() {
8659
8755
  return {
@@ -8690,7 +8786,7 @@ var ToolDrawCommand = class extends BaseCommand {
8690
8786
  if (!distributionResult.ok) {
8691
8787
  return distributionResult;
8692
8788
  }
8693
- return ok52({
8789
+ return ok53({
8694
8790
  items: drawWeightedItems(countResult.value, distributionResult.value)
8695
8791
  });
8696
8792
  }
@@ -8700,7 +8796,7 @@ function parseCount(value) {
8700
8796
  if (!Number.isInteger(count) || count <= 0) {
8701
8797
  return err30(1, "\u62BD\u53D6\u4E2A\u6570\u5FC5\u987B\u662F\u6B63\u6574\u6570");
8702
8798
  }
8703
- return ok52(count);
8799
+ return ok53(count);
8704
8800
  }
8705
8801
  function stringifyDistributionArg(value) {
8706
8802
  if (Array.isArray(value)) {
@@ -8748,7 +8844,7 @@ function parseJsonDistributionEntry(value, index) {
8748
8844
  if (!weightResult.ok) {
8749
8845
  return weightResult;
8750
8846
  }
8751
- return ok52({ name: nameResult.value, weight: weightResult.value });
8847
+ return ok53({ name: nameResult.value, weight: weightResult.value });
8752
8848
  }
8753
8849
  function getJsonWeightValue(record) {
8754
8850
  if ("weight" in record) {
@@ -8797,7 +8893,7 @@ function parseEntryName(value, label) {
8797
8893
  if (!name) {
8798
8894
  return err30(1, `${label}\u7684\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A`);
8799
8895
  }
8800
- return ok52(name);
8896
+ return ok53(name);
8801
8897
  }
8802
8898
  function parseWeight(value, label) {
8803
8899
  const rawValue = typeof value === "string" ? value.trim().replace(/[%%]$/, "") : value;
@@ -8805,13 +8901,13 @@ function parseWeight(value, label) {
8805
8901
  if (!Number.isFinite(weight) || weight <= 0) {
8806
8902
  return err30(1, `${label}\u7684\u6982\u7387\u5FC5\u987B\u662F\u5927\u4E8E 0 \u7684\u6570\u5B57`);
8807
8903
  }
8808
- return ok52(weight);
8904
+ return ok53(weight);
8809
8905
  }
8810
8906
  function validateDistribution(entries) {
8811
8907
  if (entries.length === 0) {
8812
8908
  return err30(1, "\u6982\u7387\u5206\u5E03\u81F3\u5C11\u9700\u8981 1 \u9879");
8813
8909
  }
8814
- return ok52(entries);
8910
+ return ok53(entries);
8815
8911
  }
8816
8912
  function drawWeightedItems(count, entries) {
8817
8913
  const totalWeight = entries.reduce((sum, entry) => sum + entry.weight, 0);
@@ -8839,7 +8935,7 @@ function asRecord(value) {
8839
8935
  }
8840
8936
 
8841
8937
  // src/commands/tool/tool-get-config-command.ts
8842
- import { err as err31, ok as ok53 } from "rockbed/error";
8938
+ import { err as err31, ok as ok54 } from "rockbed/error";
8843
8939
  var ToolGetConfigCommand = class extends BaseCommand {
8844
8940
  constructor(_settingsReader = new FileCrossAppSettingsReader()) {
8845
8941
  super();
@@ -8902,9 +8998,9 @@ async function readConfigValue(settingsReader, key) {
8902
8998
  }
8903
8999
  const entry = snapshotResult.value.document.settings[key];
8904
9000
  if (!entry) {
8905
- return ok53({ key, configured: false });
9001
+ return ok54({ key, configured: false });
8906
9002
  }
8907
- return ok53({
9003
+ return ok54({
8908
9004
  key,
8909
9005
  configured: true,
8910
9006
  value: entry.value,
@@ -8914,7 +9010,7 @@ async function readConfigValue(settingsReader, key) {
8914
9010
  }
8915
9011
 
8916
9012
  // src/commands/tool/tool-set-config-command.ts
8917
- import { ok as ok54 } from "rockbed/error";
9013
+ import { ok as ok55 } from "rockbed/error";
8918
9014
  var ToolSetConfigCommand = class extends BaseCommand {
8919
9015
  constructor(_settingsWriter = new FileCrossAppSettingsWriter()) {
8920
9016
  super();
@@ -8947,7 +9043,7 @@ var ToolSetConfigCommand = class extends BaseCommand {
8947
9043
  }
8948
9044
  const result = await this._settingsWriter.set(ctx.options);
8949
9045
  if (!result.ok) return failFrom(result, { stage: "write_config" });
8950
- return ok54({ ...result.value, configured: true });
9046
+ return ok55({ ...result.value, configured: true });
8951
9047
  }
8952
9048
  };
8953
9049
 
@@ -8971,7 +9067,7 @@ var ToolCommand = class extends BaseCommandGroup {
8971
9067
  import { stat as stat5 } from "node:fs/promises";
8972
9068
  import { resolve as resolve14 } from "node:path";
8973
9069
  import { fileURLToPath as fileURLToPath3 } from "node:url";
8974
- import { err as err32, ok as ok55 } from "rockbed/error";
9070
+ import { err as err32, ok as ok56 } from "rockbed/error";
8975
9071
  var DEFAULT_TRAEX_CWD = "/Users/bytedance/work/autogen";
8976
9072
  var DEFAULT_TRAEX_MODEL = "gpt-5.6-sol";
8977
9073
  var DEFAULT_TRAEX_REASONING = "xhigh";
@@ -8990,7 +9086,7 @@ async function launchTraex(input, launch = launchDefaultTraexWorker) {
8990
9086
  }
8991
9087
  const result = await launch({ ...input, cwd });
8992
9088
  if (!result.ok) return result;
8993
- return ok55({ status: "launched", pid: result.value.pid, cwd, model: input.model, reasoning: input.reasoning, ...result.value.data });
9089
+ return ok56({ status: "launched", pid: result.value.pid, cwd, model: input.model, reasoning: input.reasoning, ...result.value.data });
8994
9090
  }
8995
9091
  function launchDefaultTraexWorker(input) {
8996
9092
  const source = import.meta.url.endsWith(".ts");
@@ -9089,4 +9185,4 @@ export {
9089
9185
  TraexCommand,
9090
9186
  createRootCommands
9091
9187
  };
9092
- //# sourceMappingURL=chunk-BQKZGZDW.js.map
9188
+ //# sourceMappingURL=chunk-X52PJANF.js.map