@liberseek/boft-cli-win32-arm64 0.7.0 → 0.7.1

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.
@@ -14528,6 +14528,61 @@ function date4(params) {
14528
14528
  // ../../../node_modules/zod/v4/classic/external.js
14529
14529
  config(en_default());
14530
14530
 
14531
+ // ../../shared-contracts/dist/credential-imports.js
14532
+ var credentialSourceSchema = external_exports.object({
14533
+ id: external_exports.string().min(1).max(256),
14534
+ harnessId: external_exports.string().min(1),
14535
+ label: external_exports.string().min(1).max(512),
14536
+ provider: external_exports.enum(["openai-codex", "xai"])
14537
+ }).strict();
14538
+ var credentialImportNameSchema = external_exports.string().regex(/^[a-z][a-z0-9-]{0,47}$/);
14539
+ var credentialImportRecordSchema = external_exports.object({
14540
+ name: credentialImportNameSchema,
14541
+ source: credentialSourceSchema,
14542
+ importedAt: external_exports.string()
14543
+ }).strict();
14544
+ var credentialImportsRequestSchema = external_exports.discriminatedUnion("action", [
14545
+ external_exports.object({ action: external_exports.literal("list") }).strict(),
14546
+ external_exports.object({
14547
+ action: external_exports.literal("import"),
14548
+ sourceId: external_exports.string().min(1).max(256),
14549
+ name: credentialImportNameSchema,
14550
+ confirmed: external_exports.literal(true)
14551
+ }).strict(),
14552
+ external_exports.object({
14553
+ action: external_exports.literal("reimport"),
14554
+ sourceId: external_exports.string().min(1).max(256),
14555
+ name: credentialImportNameSchema,
14556
+ confirmed: external_exports.literal(true)
14557
+ }).strict(),
14558
+ external_exports.object({
14559
+ action: external_exports.literal("remove"),
14560
+ name: credentialImportNameSchema,
14561
+ confirmed: external_exports.literal(true)
14562
+ }).strict()
14563
+ ]);
14564
+ var credentialOtherLoginSchema = external_exports.object({
14565
+ provider: external_exports.string().min(1).max(128),
14566
+ type: external_exports.enum(["oauth", "api_key", "unknown"]),
14567
+ /** Best-effort account label (e.g. the email in a Codex token), derived locally when present. */
14568
+ label: external_exports.string().min(1).max(512).optional(),
14569
+ /** Recognized credential vendor, derived from the OAuth token issuer. Absent when unknown. */
14570
+ vendor: external_exports.enum(["openai-codex", "xai"]).optional()
14571
+ }).strict();
14572
+ var credentialImportsResultSchema = external_exports.object({
14573
+ sources: external_exports.array(credentialSourceSchema),
14574
+ targets: external_exports.array(external_exports.object({
14575
+ harnessId: external_exports.string(),
14576
+ providers: external_exports.array(external_exports.enum(["openai-codex", "xai"])),
14577
+ imports: external_exports.array(credentialImportRecordSchema),
14578
+ others: external_exports.array(credentialOtherLoginSchema).default([])
14579
+ }).strict())
14580
+ }).strict();
14581
+ var credentialImportsParamsSchema = external_exports.object({
14582
+ targetHarnessId: external_exports.string().min(1).max(128).optional(),
14583
+ request: credentialImportsRequestSchema
14584
+ }).strict();
14585
+
14531
14586
  // ../../shared-contracts/dist/version.js
14532
14587
  var WORKSPACE_CONTRACT_VERSION = 1;
14533
14588
 
@@ -15077,6 +15132,8 @@ var pluginPresentationShape = {
15077
15132
  id: harnessPluginIdSchema,
15078
15133
  name: external_exports.string().trim().min(1).max(128),
15079
15134
  version: external_exports.string().min(1).max(128),
15135
+ /** The factory accepts a persisted local entrypoint through its construction context. */
15136
+ launchCommand: external_exports.literal(true).optional(),
15080
15137
  links: external_exports.object({
15081
15138
  documentation: documentationUrlSchema.optional(),
15082
15139
  installation: documentationUrlSchema.optional()
@@ -15114,6 +15171,19 @@ var harnessPluginRouteSchema = external_exports.object({
15114
15171
  permissionModeId: harnessPermissionModeIdSchema.optional()
15115
15172
  }).strict();
15116
15173
 
15174
+ // ../../shared-contracts/dist/harness-launch-settings.js
15175
+ var harnessLaunchPathSchema = external_exports.string().trim().min(1).max(4096).refine((value) => !/[\u0000\r\n]/u.test(value), "Invalid entrypoint path");
15176
+ var harnessLaunchSettingsGetSchema = external_exports.object({
15177
+ harnessId: harnessPluginIdSchema
15178
+ }).strict();
15179
+ var harnessLaunchSettingsSetSchema = harnessLaunchSettingsGetSchema.extend({
15180
+ path: harnessLaunchPathSchema.nullable()
15181
+ });
15182
+ var harnessLaunchSettingsSchema = external_exports.object({
15183
+ path: harnessLaunchPathSchema.nullable(),
15184
+ restartRequired: external_exports.boolean()
15185
+ }).strict();
15186
+
15117
15187
  // ../../shared-contracts/dist/codex-accounts.js
15118
15188
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
15119
15189
  var nonBlankTextSchema3 = external_exports.string().trim().min(1);
@@ -17796,6 +17866,7 @@ var infoSchema = external_exports.object({
17796
17866
  });
17797
17867
  var AntigravitySubagents = class {
17798
17868
  #states = /* @__PURE__ */ new Map();
17869
+ #lastObservedAt = /* @__PURE__ */ new Map();
17799
17870
  #transcripts = /* @__PURE__ */ new Map();
17800
17871
  #items = /* @__PURE__ */ new Map();
17801
17872
  #options;
@@ -17891,18 +17962,27 @@ var AntigravitySubagents = class {
17891
17962
  return;
17892
17963
  const parentId = this.#options.parentId();
17893
17964
  const port = await this.#options.port();
17894
- if (!parentId || port === null)
17965
+ if (!parentId || port === null) {
17966
+ for (const id of this.#states.keys())
17967
+ this.#expireUnobserved(id);
17968
+ if (this.#ended && !this.running)
17969
+ this.stop();
17895
17970
  return;
17971
+ }
17896
17972
  for (const [id, previous] of this.#states) {
17897
17973
  if (this.#stopped)
17898
17974
  return;
17899
17975
  let status = previous.status;
17976
+ let statusObserved = false;
17900
17977
  try {
17901
17978
  const value = await subagentRpc(port, id, "GetCascadeTrajectory");
17902
17979
  const observed = subagentRunStatus(value, parentId);
17903
17980
  if (observed !== "completed" || status !== "interrupted" && status !== "failed") {
17904
17981
  status = observed ?? status;
17905
17982
  }
17983
+ statusObserved = observed !== null;
17984
+ if (statusObserved)
17985
+ this.#lastObservedAt.set(id, Date.now());
17906
17986
  } catch {
17907
17987
  }
17908
17988
  const transcript = await readSubagentTranscript({
@@ -17933,6 +18013,8 @@ var AntigravitySubagents = class {
17933
18013
  this.#options.emit({ type: "subagent.transcript.changed", nativeSubagentId: id });
17934
18014
  }
17935
18015
  }
18016
+ if (!statusObserved)
18017
+ this.#expireUnobserved(id);
17936
18018
  }
17937
18019
  if (this.#ended && !this.running)
17938
18020
  this.stop();
@@ -17943,9 +18025,35 @@ var AntigravitySubagents = class {
17943
18025
  this.#complete(delegation, outcome);
17944
18026
  }
17945
18027
  this.#ended = true;
18028
+ const now = Date.now();
18029
+ for (const [id, state] of this.#states) {
18030
+ if (state.status === "running" || state.status === "pending") {
18031
+ this.#lastObservedAt.set(id, now);
18032
+ }
18033
+ }
17946
18034
  if (!this.running)
17947
18035
  this.stop();
17948
18036
  }
18037
+ #expireUnobserved(id) {
18038
+ if (!this.#ended || this.#stopped)
18039
+ return;
18040
+ const state = this.#states.get(id);
18041
+ if (!state || state.status !== "running" && state.status !== "pending")
18042
+ return;
18043
+ const now = Date.now();
18044
+ if (now - (this.#lastObservedAt.get(id) ?? now) < this.#options.observationTimeoutMs)
18045
+ return;
18046
+ const resultSummary = "Observation timed out; native Subagent completion could not be confirmed.";
18047
+ this.#states.set(id, { ...state, status: "interrupted", resultSummary });
18048
+ this.#options.emit({
18049
+ type: "subagent.state.changed",
18050
+ nativeSubagentId: id,
18051
+ status: "interrupted",
18052
+ resultSummary
18053
+ });
18054
+ this.#options.emit({ type: "subagent.transcript.changed", nativeSubagentId: id });
18055
+ this.#lastObservedAt.delete(id);
18056
+ }
17949
18057
  cancel() {
17950
18058
  return this.#cancellation ??= this.#cancelNative();
17951
18059
  }
@@ -17997,6 +18105,7 @@ var AntigravitySubagents = class {
17997
18105
  stop() {
17998
18106
  this.#stopped = true;
17999
18107
  clearInterval(this.#timer);
18108
+ this.#lastObservedAt.clear();
18000
18109
  this.#settled?.();
18001
18110
  }
18002
18111
  #watch() {
@@ -18030,6 +18139,7 @@ var antigravityHarnessId = harnessIdSchema.parse("antigravity");
18030
18139
  var DEFAULT_INSPECT_TIMEOUT_MS = 2e4;
18031
18140
  var DEFAULT_PRINT_TIMEOUT = "30m";
18032
18141
  var DEFAULT_TOOL_OUTPUT_LIMIT = 64e3;
18142
+ var DEFAULT_SUBAGENT_OBSERVATION_TIMEOUT_MS = 3e4;
18033
18143
  var CONTEXT_USAGE_TIMEOUT_MS = 8e3;
18034
18144
  var CONTEXT_USAGE_RETRY_MS = 100;
18035
18145
  var TRAJECTORY_TIMEOUT_MS = 2e3;
@@ -18275,6 +18385,7 @@ var AntigravitySession = class {
18275
18385
  #onClosed;
18276
18386
  #printTimeout;
18277
18387
  #toolOutputLimit;
18388
+ #subagentObservationTimeoutMs;
18278
18389
  #history;
18279
18390
  #subagentObservers = /* @__PURE__ */ new Set();
18280
18391
  #active = null;
@@ -18298,6 +18409,7 @@ var AntigravitySession = class {
18298
18409
  this.#printTimeout = input.printTimeout;
18299
18410
  this.#thinkingOptionId = input.thinkingOptionId ?? input.history.thinkingOptionId;
18300
18411
  this.#toolOutputLimit = input.toolOutputLimit;
18412
+ this.#subagentObservationTimeoutMs = input.subagentObservationTimeoutMs;
18301
18413
  this.#onClosed = input.onClosed;
18302
18414
  this.initialState = this.#state();
18303
18415
  this.outputs = this.#channel.outputs;
@@ -18461,6 +18573,7 @@ var AntigravitySession = class {
18461
18573
  port: () => this.#languageServerPort(active),
18462
18574
  cwd: this.#cwd,
18463
18575
  outputLimit: this.#toolOutputLimit,
18576
+ observationTimeoutMs: this.#subagentObservationTimeoutMs,
18464
18577
  initialStates: this.#history.snapshot().flatMap((turn) => turn.items.flatMap(({ item }) => item.type === "subagentDelegation" ? item.subagents : [])),
18465
18578
  emit: (event) => {
18466
18579
  if (event.type === "subagent.state.changed") {
@@ -19072,6 +19185,7 @@ var AntigravityAdapter = class {
19072
19185
  #printTimeout;
19073
19186
  #sessions = /* @__PURE__ */ new Set();
19074
19187
  #toolOutputLimit;
19188
+ #subagentObservationTimeoutMs;
19075
19189
  #closed = false;
19076
19190
  #quota = null;
19077
19191
  #quotaCwd = null;
@@ -19083,6 +19197,11 @@ var AntigravityAdapter = class {
19083
19197
  this.#inspectTimeoutMs = options.inspectTimeoutMs ?? DEFAULT_INSPECT_TIMEOUT_MS;
19084
19198
  this.#printTimeout = options.printTimeout ?? DEFAULT_PRINT_TIMEOUT;
19085
19199
  this.#toolOutputLimit = options.toolOutputLimit ?? DEFAULT_TOOL_OUTPUT_LIMIT;
19200
+ const subagentObservationTimeoutMs = options.subagentObservationTimeoutMs ?? DEFAULT_SUBAGENT_OBSERVATION_TIMEOUT_MS;
19201
+ if (!Number.isFinite(subagentObservationTimeoutMs) || subagentObservationTimeoutMs <= 0) {
19202
+ throw new RangeError("subagentObservationTimeoutMs must be a finite positive number");
19203
+ }
19204
+ this.#subagentObservationTimeoutMs = subagentObservationTimeoutMs;
19086
19205
  }
19087
19206
  async inspect(input = {}) {
19088
19207
  if (this.#closed) {
@@ -19265,6 +19384,7 @@ var AntigravityAdapter = class {
19265
19384
  printTimeout: this.#printTimeout,
19266
19385
  ...params.thinkingOptionId ? { thinkingOptionId: params.thinkingOptionId } : {},
19267
19386
  toolOutputLimit: this.#toolOutputLimit,
19387
+ subagentObservationTimeoutMs: this.#subagentObservationTimeoutMs,
19268
19388
  onClosed: () => this.#sessions.delete(session2)
19269
19389
  });
19270
19390
  this.#sessions.add(session2);
@@ -19300,6 +19420,7 @@ var AntigravityAdapter = class {
19300
19420
  printTimeout: this.#printTimeout,
19301
19421
  ...params.thinkingOptionId ? { thinkingOptionId: params.thinkingOptionId } : {},
19302
19422
  toolOutputLimit: this.#toolOutputLimit,
19423
+ subagentObservationTimeoutMs: this.#subagentObservationTimeoutMs,
19303
19424
  onClosed: () => this.#sessions.delete(session2)
19304
19425
  });
19305
19426
  this.#sessions.add(session2);
@@ -19356,6 +19477,7 @@ var AntigravityAdapter = class {
19356
19477
  printTimeout: this.#printTimeout,
19357
19478
  ...thinkingOptionId ? { thinkingOptionId } : {},
19358
19479
  toolOutputLimit: this.#toolOutputLimit,
19480
+ subagentObservationTimeoutMs: this.#subagentObservationTimeoutMs,
19359
19481
  onClosed: () => this.#sessions.delete(session)
19360
19482
  });
19361
19483
  this.#sessions.add(session);