@liberseek/boft-cli-win32-arm64 0.6.8 → 0.7.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.
Files changed (34) hide show
  1. package/README.md +1 -1
  2. package/THIRD_PARTY_NOTICES.txt +16 -0
  3. package/app/codexhost-distribution.json +1 -1
  4. package/app/desktop-controller.mjs +184 -47
  5. package/app/host-runtime.mjs +5449 -4221
  6. package/app/plugins/antigravity/plugin.mjs +70 -61
  7. package/app/plugins/claude-code/plugin.mjs +85 -58
  8. package/app/plugins/codebuddy/plugin.mjs +102 -69
  9. package/app/plugins/cursor-cli/plugin.mjs +69 -50
  10. package/app/plugins/deepseek-harness/plugin.mjs +81 -53
  11. package/app/plugins/enabled.json +3 -1
  12. package/app/plugins/grok/plugin.mjs +94 -61
  13. package/app/plugins/hermes/plugin.mjs +308 -95
  14. package/app/plugins/kiro-cli/plugin.mjs +76 -49
  15. package/app/plugins/muse/plugin.mjs +66 -46
  16. package/app/plugins/omp/plugin.mjs +79 -52
  17. package/app/plugins/opencode/plugin.mjs +118 -92
  18. package/app/plugins/pi/plugin.mjs +79 -52
  19. package/app/plugins/qoder/assets/icon.svg +1 -0
  20. package/app/plugins/qoder/manifest.json +12 -0
  21. package/app/plugins/qoder/plugin.mjs +52290 -0
  22. package/app/plugins/qoder-cn/assets/icon.svg +1 -0
  23. package/app/plugins/qoder-cn/manifest.json +12 -0
  24. package/app/plugins/qoder-cn/plugin.mjs +52288 -0
  25. package/app/renderer-extension.js +3857 -1175
  26. package/bin/boft.exe +0 -0
  27. package/libexec/boft-node-repl.exe +0 -0
  28. package/libexec/boft-shim.exe +0 -0
  29. package/libexec/boft-updater.exe +0 -0
  30. package/licenses/Qoder-Agent-SDK-LICENSE.txt +7 -0
  31. package/licenses/QoderCN-Agent-SDK-LICENSE.txt +7 -0
  32. package/licenses/opencodex-LICENSE.txt +21 -0
  33. package/licenses/tailwindcss-LICENSE.txt +21 -0
  34. package/package.json +1 -1
@@ -14526,6 +14526,46 @@ config(en_default());
14526
14526
  // ../../shared-contracts/dist/version.js
14527
14527
  var WORKSPACE_CONTRACT_VERSION = 1;
14528
14528
 
14529
+ // ../../shared-contracts/dist/idle-release.js
14530
+ var IDLE_RELEASE_TIMEOUT_MINUTES_MIN = 5;
14531
+ var IDLE_RELEASE_TIMEOUT_MINUTES_MAX = 1440;
14532
+ var idleReleaseSettingsSchema = external_exports.strictObject({
14533
+ enabled: external_exports.boolean(),
14534
+ timeoutMinutes: external_exports.number().int().min(IDLE_RELEASE_TIMEOUT_MINUTES_MIN).max(IDLE_RELEASE_TIMEOUT_MINUTES_MAX)
14535
+ });
14536
+ var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
14537
+ enabled: false,
14538
+ timeoutMinutes: 30
14539
+ });
14540
+
14541
+ // ../../shared-contracts/dist/loaded-sessions.js
14542
+ var loadedSessionStateSchema = external_exports.enum([
14543
+ "idle",
14544
+ "running",
14545
+ "busy",
14546
+ "closing",
14547
+ "failed",
14548
+ "blocked"
14549
+ ]);
14550
+ var loadedSessionReasonSchema = external_exports.enum([
14551
+ "none",
14552
+ "disabled",
14553
+ "timeout",
14554
+ "operation",
14555
+ "background",
14556
+ "identity",
14557
+ "persistence",
14558
+ "closeFailed"
14559
+ ]);
14560
+ var loadedSessionsSchema = external_exports.array(external_exports.strictObject({
14561
+ threadId: external_exports.string(),
14562
+ title: external_exports.string(),
14563
+ harnessId: external_exports.string(),
14564
+ state: loadedSessionStateSchema,
14565
+ reason: loadedSessionReasonSchema,
14566
+ inactiveMs: external_exports.number().nonnegative()
14567
+ }));
14568
+
14529
14569
  // ../../shared-contracts/dist/ids.js
14530
14570
  var opaqueIdSchema = external_exports.string().refine((value) => value.trim().length > 0, {
14531
14571
  message: "Identifier must not be empty or whitespace"
@@ -14646,12 +14686,21 @@ var harnessAccountSnapshotSchema = external_exports.object({
14646
14686
  plan: external_exports.string().trim().min(1).max(128).optional(),
14647
14687
  credits: accountCreditsSnapshotSchema
14648
14688
  }).strict();
14649
- var harnessAccountListParamsSchema = external_exports.object({}).strict();
14689
+ var harnessAccountIdentityShape = {
14690
+ harnessId: harnessIdSchema,
14691
+ harnessName: external_exports.string().trim().min(1).max(128)
14692
+ };
14693
+ var harnessAccountSourceSchema = external_exports.object(harnessAccountIdentityShape).strict();
14694
+ var harnessAccountSourceListParamsSchema = external_exports.object({}).strict();
14695
+ var harnessAccountSourceListResultSchema = external_exports.object({ sources: external_exports.array(harnessAccountSourceSchema).max(128) }).strict();
14696
+ var harnessAccountInspectParamsSchema = external_exports.object({ harnessId: harnessIdSchema, refresh: external_exports.boolean().optional() }).strict();
14697
+ var harnessAccountInspectResultSchema = external_exports.object({
14698
+ ...harnessAccountIdentityShape,
14699
+ account: harnessAccountSnapshotSchema.nullable()
14700
+ }).strict();
14701
+ var harnessAccountListParamsSchema = external_exports.object({ refresh: external_exports.boolean().optional() }).strict();
14650
14702
  var harnessAccountListResultSchema = external_exports.object({
14651
- accounts: external_exports.array(harnessAccountSnapshotSchema.extend({
14652
- harnessId: harnessIdSchema,
14653
- harnessName: external_exports.string().min(1)
14654
- })).max(128)
14703
+ accounts: external_exports.array(harnessAccountSnapshotSchema.extend(harnessAccountIdentityShape)).max(128)
14655
14704
  }).strict();
14656
14705
 
14657
14706
  // ../../shared-contracts/dist/json-value.js
@@ -14947,7 +14996,6 @@ var threadInspectionParamsSchema = external_exports.object({
14947
14996
  }).strict();
14948
14997
  var codexThreadInspectionSchema = external_exports.object({
14949
14998
  owner: external_exports.literal("codex"),
14950
- accountId: nonBlankTextSchema2.optional(),
14951
14999
  locked: external_exports.literal(true)
14952
15000
  }).strict();
14953
15001
  var externalThreadInspectionSchema = external_exports.object({
@@ -15089,53 +15137,25 @@ var codexAccountSchema = external_exports.object({
15089
15137
  label: nonBlankTextSchema3.max(256),
15090
15138
  email: external_exports.string().email().max(320).optional(),
15091
15139
  planType: codexAccountPlanTypeSchema.optional(),
15092
- codexHome: nonBlankTextSchema3.max(16384),
15093
- active: external_exports.boolean(),
15094
- isDefault: external_exports.boolean(),
15095
15140
  authKind: codexAccountAuthKindSchema.optional(),
15096
15141
  authIdentity: nonBlankTextSchema3.max(256).optional()
15097
15142
  }).strict();
15098
- var codexAccountListResultSchema = external_exports.object({ accounts: external_exports.array(codexAccountSchema).max(128) }).strict();
15099
- var codexAccountCreateParamsSchema = external_exports.object({ label: nonBlankTextSchema3.max(256).optional() }).strict();
15100
- var codexAccountActivateParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
15101
- var codexAccountDeleteParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
15102
- var codexAccountDeleteResultSchema = external_exports.object({ deletedAccountId: accountIdSchema }).strict();
15103
- var codexAccountMutationResultSchema = external_exports.object({ account: codexAccountSchema }).strict();
15104
- var codexAccountLoginStartParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
15105
- var codexAccountLoginStartResultSchema = external_exports.object({
15106
- accountId: accountIdSchema,
15107
- loginId: nonBlankTextSchema3.max(1024),
15108
- verificationUrl: external_exports.string().url().max(16384),
15109
- userCode: nonBlankTextSchema3.max(1024)
15110
- }).strict();
15111
- var codexAccountLoginCancelParamsSchema = external_exports.object({ accountId: accountIdSchema.optional(), loginId: nonBlankTextSchema3.max(1024) }).strict();
15112
- var codexAccountLoginCancelResultSchema = external_exports.object({ cancelled: external_exports.boolean() }).strict();
15113
- var codexAccountLoginCompletedSchema = external_exports.object({
15114
- accountId: accountIdSchema,
15115
- loginId: nonBlankTextSchema3.max(1024),
15116
- success: external_exports.boolean(),
15117
- error: external_exports.string().max(4096).nullable()
15143
+ var codexAccountPhaseSchema = external_exports.enum(["ready", "unavailable"]);
15144
+ var codexAccountListResultSchema = external_exports.object({
15145
+ version: external_exports.literal(2),
15146
+ currentAccountId: accountIdSchema.nullable(),
15147
+ phase: codexAccountPhaseSchema,
15148
+ revision: external_exports.number().int().nonnegative(),
15149
+ instanceId: nonBlankTextSchema3.max(1024).optional(),
15150
+ accounts: external_exports.array(codexAccountSchema).max(1)
15118
15151
  }).strict();
15119
- var codexAccountUsageParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
15152
+ var codexAccountUsageParamsSchema = external_exports.object({ accountId: accountIdSchema, refresh: external_exports.boolean().optional() }).strict();
15120
15153
  var codexAccountUsageResultSchema = external_exports.object({
15121
15154
  accountId: accountIdSchema,
15122
15155
  usage: threadUsageSnapshotSchema.nullable(),
15123
- accountCredits: accountCreditsSnapshotSchema.optional()
15124
- }).strict();
15125
- var codexAccountResetCreditConsumeParamsSchema = external_exports.object({
15126
- accountId: accountIdSchema,
15127
- idempotencyKey: external_exports.string().uuid().optional()
15128
- }).strict();
15129
- var codexAccountResetCreditConsumeOutcomeSchema = external_exports.enum([
15130
- "reset",
15131
- "nothingToReset",
15132
- "noCredit",
15133
- "alreadyRedeemed"
15134
- ]);
15135
- var codexAccountResetCreditConsumeResultSchema = external_exports.object({
15136
- accountId: accountIdSchema,
15137
- outcome: codexAccountResetCreditConsumeOutcomeSchema,
15138
- accountCredits: accountCreditsSnapshotSchema.optional()
15156
+ accountCredits: accountCreditsSnapshotSchema.optional(),
15157
+ freshness: external_exports.enum(["live", "cached"]),
15158
+ observedAt: external_exports.string().datetime().nullable()
15139
15159
  }).strict();
15140
15160
 
15141
15161
  // ../../shared-contracts/dist/harness-session-import.js
@@ -21728,6 +21748,7 @@ var KiroTurnOutput = class {
21728
21748
  const file2 = {
21729
21749
  type: "fileChange",
21730
21750
  itemId: hostItemIdSchema.parse(`file-${tool.item.itemId}`),
21751
+ sourceItemIds: [tool.item.itemId],
21731
21752
  changes: changes ?? []
21732
21753
  };
21733
21754
  if (tool.file) {
@@ -22111,6 +22132,10 @@ async function readKiroSnapshot(location) {
22111
22132
  const completedAtMs = Date.parse(end?.timestamp ?? "");
22112
22133
  const hasTiming = Number.isFinite(startedAtMs) && Number.isFinite(completedAtMs) && startedAtMs >= 0 && completedAtMs >= startedAtMs;
22113
22134
  const lastContent = turn.rows.findLast((row) => row.payload.type === "tool_call" || row.payload.type === "assistant" && kiroVisibleText(historyText(row.payload)).trim().length > 0 && !["Reasoning", "Summary"].includes(String(row.payload.operationType)));
22135
+ const toolSources = new Map(turn.rows.filter((row) => row.payload.type === "tool_call").map((row) => [
22136
+ row.payload.toolCallId,
22137
+ hostItemIdSchema.parse(`kiro-${nativeSessionId}-${row.id}`)
22138
+ ]));
22114
22139
  for (const row of turn.rows) {
22115
22140
  const type = row.payload?.type;
22116
22141
  const itemId = hostItemIdSchema.parse(`kiro-${nativeSessionId}-${row.id}`);
@@ -22161,10 +22186,12 @@ async function readKiroSnapshot(location) {
22161
22186
  } else if (type === "tool_result") {
22162
22187
  const changes = row.payload.success === true ? projectKiroFileChanges(row.payload.content, location.cwd) : null;
22163
22188
  if (changes) {
22189
+ const sourceItemId = toolSources.get(row.payload.toolCallId);
22164
22190
  items.push({
22165
22191
  item: {
22166
22192
  type: "fileChange",
22167
22193
  itemId,
22194
+ sourceItemIds: sourceItemId ? [sourceItemId] : [],
22168
22195
  changes
22169
22196
  },
22170
22197
  outcome: { status: "succeeded" }
@@ -23025,12 +23052,12 @@ var KiroSession = class {
23025
23052
  return { ok: true, value: { accepted: true } };
23026
23053
  }
23027
23054
  async #selectModel(command) {
23028
- if (this.#activeTurnId !== null || this.#configBusy) {
23055
+ if (this.#configBusy) {
23029
23056
  return {
23030
23057
  ok: false,
23031
23058
  error: {
23032
23059
  code: "sessionBusy",
23033
- message: "Cannot change model while turn is active",
23060
+ message: "Another configuration change is in progress",
23034
23061
  retryable: false
23035
23062
  }
23036
23063
  };
@@ -23121,7 +23148,7 @@ var KiroSession = class {
23121
23148
  });
23122
23149
  }
23123
23150
  async #selectThinking(command) {
23124
- if (this.#activeTurnId !== null || this.#configBusy) {
23151
+ if (this.#configBusy) {
23125
23152
  return {
23126
23153
  ok: false,
23127
23154
  error: { code: "sessionBusy", message: "Session is busy", retryable: true }
@@ -14777,6 +14777,46 @@ config(en_default());
14777
14777
  // ../../shared-contracts/dist/version.js
14778
14778
  var WORKSPACE_CONTRACT_VERSION = 1;
14779
14779
 
14780
+ // ../../shared-contracts/dist/idle-release.js
14781
+ var IDLE_RELEASE_TIMEOUT_MINUTES_MIN = 5;
14782
+ var IDLE_RELEASE_TIMEOUT_MINUTES_MAX = 1440;
14783
+ var idleReleaseSettingsSchema = external_exports.strictObject({
14784
+ enabled: external_exports.boolean(),
14785
+ timeoutMinutes: external_exports.number().int().min(IDLE_RELEASE_TIMEOUT_MINUTES_MIN).max(IDLE_RELEASE_TIMEOUT_MINUTES_MAX)
14786
+ });
14787
+ var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
14788
+ enabled: false,
14789
+ timeoutMinutes: 30
14790
+ });
14791
+
14792
+ // ../../shared-contracts/dist/loaded-sessions.js
14793
+ var loadedSessionStateSchema = external_exports.enum([
14794
+ "idle",
14795
+ "running",
14796
+ "busy",
14797
+ "closing",
14798
+ "failed",
14799
+ "blocked"
14800
+ ]);
14801
+ var loadedSessionReasonSchema = external_exports.enum([
14802
+ "none",
14803
+ "disabled",
14804
+ "timeout",
14805
+ "operation",
14806
+ "background",
14807
+ "identity",
14808
+ "persistence",
14809
+ "closeFailed"
14810
+ ]);
14811
+ var loadedSessionsSchema = external_exports.array(external_exports.strictObject({
14812
+ threadId: external_exports.string(),
14813
+ title: external_exports.string(),
14814
+ harnessId: external_exports.string(),
14815
+ state: loadedSessionStateSchema,
14816
+ reason: loadedSessionReasonSchema,
14817
+ inactiveMs: external_exports.number().nonnegative()
14818
+ }));
14819
+
14780
14820
  // ../../shared-contracts/dist/ids.js
14781
14821
  var opaqueIdSchema = external_exports.string().refine((value) => value.trim().length > 0, {
14782
14822
  message: "Identifier must not be empty or whitespace"
@@ -14897,12 +14937,21 @@ var harnessAccountSnapshotSchema = external_exports.object({
14897
14937
  plan: external_exports.string().trim().min(1).max(128).optional(),
14898
14938
  credits: accountCreditsSnapshotSchema
14899
14939
  }).strict();
14900
- var harnessAccountListParamsSchema = external_exports.object({}).strict();
14940
+ var harnessAccountIdentityShape = {
14941
+ harnessId: harnessIdSchema,
14942
+ harnessName: external_exports.string().trim().min(1).max(128)
14943
+ };
14944
+ var harnessAccountSourceSchema = external_exports.object(harnessAccountIdentityShape).strict();
14945
+ var harnessAccountSourceListParamsSchema = external_exports.object({}).strict();
14946
+ var harnessAccountSourceListResultSchema = external_exports.object({ sources: external_exports.array(harnessAccountSourceSchema).max(128) }).strict();
14947
+ var harnessAccountInspectParamsSchema = external_exports.object({ harnessId: harnessIdSchema, refresh: external_exports.boolean().optional() }).strict();
14948
+ var harnessAccountInspectResultSchema = external_exports.object({
14949
+ ...harnessAccountIdentityShape,
14950
+ account: harnessAccountSnapshotSchema.nullable()
14951
+ }).strict();
14952
+ var harnessAccountListParamsSchema = external_exports.object({ refresh: external_exports.boolean().optional() }).strict();
14901
14953
  var harnessAccountListResultSchema = external_exports.object({
14902
- accounts: external_exports.array(harnessAccountSnapshotSchema.extend({
14903
- harnessId: harnessIdSchema,
14904
- harnessName: external_exports.string().min(1)
14905
- })).max(128)
14954
+ accounts: external_exports.array(harnessAccountSnapshotSchema.extend(harnessAccountIdentityShape)).max(128)
14906
14955
  }).strict();
14907
14956
 
14908
14957
  // ../../shared-contracts/dist/json-value.js
@@ -15198,7 +15247,6 @@ var threadInspectionParamsSchema = external_exports.object({
15198
15247
  }).strict();
15199
15248
  var codexThreadInspectionSchema = external_exports.object({
15200
15249
  owner: external_exports.literal("codex"),
15201
- accountId: nonBlankTextSchema2.optional(),
15202
15250
  locked: external_exports.literal(true)
15203
15251
  }).strict();
15204
15252
  var externalThreadInspectionSchema = external_exports.object({
@@ -15340,53 +15388,25 @@ var codexAccountSchema = external_exports.object({
15340
15388
  label: nonBlankTextSchema3.max(256),
15341
15389
  email: external_exports.string().email().max(320).optional(),
15342
15390
  planType: codexAccountPlanTypeSchema.optional(),
15343
- codexHome: nonBlankTextSchema3.max(16384),
15344
- active: external_exports.boolean(),
15345
- isDefault: external_exports.boolean(),
15346
15391
  authKind: codexAccountAuthKindSchema.optional(),
15347
15392
  authIdentity: nonBlankTextSchema3.max(256).optional()
15348
15393
  }).strict();
15349
- var codexAccountListResultSchema = external_exports.object({ accounts: external_exports.array(codexAccountSchema).max(128) }).strict();
15350
- var codexAccountCreateParamsSchema = external_exports.object({ label: nonBlankTextSchema3.max(256).optional() }).strict();
15351
- var codexAccountActivateParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
15352
- var codexAccountDeleteParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
15353
- var codexAccountDeleteResultSchema = external_exports.object({ deletedAccountId: accountIdSchema }).strict();
15354
- var codexAccountMutationResultSchema = external_exports.object({ account: codexAccountSchema }).strict();
15355
- var codexAccountLoginStartParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
15356
- var codexAccountLoginStartResultSchema = external_exports.object({
15357
- accountId: accountIdSchema,
15358
- loginId: nonBlankTextSchema3.max(1024),
15359
- verificationUrl: external_exports.string().url().max(16384),
15360
- userCode: nonBlankTextSchema3.max(1024)
15361
- }).strict();
15362
- var codexAccountLoginCancelParamsSchema = external_exports.object({ accountId: accountIdSchema.optional(), loginId: nonBlankTextSchema3.max(1024) }).strict();
15363
- var codexAccountLoginCancelResultSchema = external_exports.object({ cancelled: external_exports.boolean() }).strict();
15364
- var codexAccountLoginCompletedSchema = external_exports.object({
15365
- accountId: accountIdSchema,
15366
- loginId: nonBlankTextSchema3.max(1024),
15367
- success: external_exports.boolean(),
15368
- error: external_exports.string().max(4096).nullable()
15394
+ var codexAccountPhaseSchema = external_exports.enum(["ready", "unavailable"]);
15395
+ var codexAccountListResultSchema = external_exports.object({
15396
+ version: external_exports.literal(2),
15397
+ currentAccountId: accountIdSchema.nullable(),
15398
+ phase: codexAccountPhaseSchema,
15399
+ revision: external_exports.number().int().nonnegative(),
15400
+ instanceId: nonBlankTextSchema3.max(1024).optional(),
15401
+ accounts: external_exports.array(codexAccountSchema).max(1)
15369
15402
  }).strict();
15370
- var codexAccountUsageParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
15403
+ var codexAccountUsageParamsSchema = external_exports.object({ accountId: accountIdSchema, refresh: external_exports.boolean().optional() }).strict();
15371
15404
  var codexAccountUsageResultSchema = external_exports.object({
15372
15405
  accountId: accountIdSchema,
15373
15406
  usage: threadUsageSnapshotSchema.nullable(),
15374
- accountCredits: accountCreditsSnapshotSchema.optional()
15375
- }).strict();
15376
- var codexAccountResetCreditConsumeParamsSchema = external_exports.object({
15377
- accountId: accountIdSchema,
15378
- idempotencyKey: external_exports.string().uuid().optional()
15379
- }).strict();
15380
- var codexAccountResetCreditConsumeOutcomeSchema = external_exports.enum([
15381
- "reset",
15382
- "nothingToReset",
15383
- "noCredit",
15384
- "alreadyRedeemed"
15385
- ]);
15386
- var codexAccountResetCreditConsumeResultSchema = external_exports.object({
15387
- accountId: accountIdSchema,
15388
- outcome: codexAccountResetCreditConsumeOutcomeSchema,
15389
- accountCredits: accountCreditsSnapshotSchema.optional()
15407
+ accountCredits: accountCreditsSnapshotSchema.optional(),
15408
+ freshness: external_exports.enum(["live", "cached"]),
15409
+ observedAt: external_exports.string().datetime().nullable()
15390
15410
  }).strict();
15391
15411
 
15392
15412
  // ../../shared-contracts/dist/harness-session-import.js
@@ -15046,6 +15046,46 @@ config(en_default());
15046
15046
  // ../../shared-contracts/dist/version.js
15047
15047
  var WORKSPACE_CONTRACT_VERSION = 1;
15048
15048
 
15049
+ // ../../shared-contracts/dist/idle-release.js
15050
+ var IDLE_RELEASE_TIMEOUT_MINUTES_MIN = 5;
15051
+ var IDLE_RELEASE_TIMEOUT_MINUTES_MAX = 1440;
15052
+ var idleReleaseSettingsSchema = external_exports.strictObject({
15053
+ enabled: external_exports.boolean(),
15054
+ timeoutMinutes: external_exports.number().int().min(IDLE_RELEASE_TIMEOUT_MINUTES_MIN).max(IDLE_RELEASE_TIMEOUT_MINUTES_MAX)
15055
+ });
15056
+ var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
15057
+ enabled: false,
15058
+ timeoutMinutes: 30
15059
+ });
15060
+
15061
+ // ../../shared-contracts/dist/loaded-sessions.js
15062
+ var loadedSessionStateSchema = external_exports.enum([
15063
+ "idle",
15064
+ "running",
15065
+ "busy",
15066
+ "closing",
15067
+ "failed",
15068
+ "blocked"
15069
+ ]);
15070
+ var loadedSessionReasonSchema = external_exports.enum([
15071
+ "none",
15072
+ "disabled",
15073
+ "timeout",
15074
+ "operation",
15075
+ "background",
15076
+ "identity",
15077
+ "persistence",
15078
+ "closeFailed"
15079
+ ]);
15080
+ var loadedSessionsSchema = external_exports.array(external_exports.strictObject({
15081
+ threadId: external_exports.string(),
15082
+ title: external_exports.string(),
15083
+ harnessId: external_exports.string(),
15084
+ state: loadedSessionStateSchema,
15085
+ reason: loadedSessionReasonSchema,
15086
+ inactiveMs: external_exports.number().nonnegative()
15087
+ }));
15088
+
15049
15089
  // ../../shared-contracts/dist/ids.js
15050
15090
  var opaqueIdSchema = external_exports.string().refine((value) => value.trim().length > 0, {
15051
15091
  message: "Identifier must not be empty or whitespace"
@@ -15166,12 +15206,21 @@ var harnessAccountSnapshotSchema = external_exports.object({
15166
15206
  plan: external_exports.string().trim().min(1).max(128).optional(),
15167
15207
  credits: accountCreditsSnapshotSchema
15168
15208
  }).strict();
15169
- var harnessAccountListParamsSchema = external_exports.object({}).strict();
15209
+ var harnessAccountIdentityShape = {
15210
+ harnessId: harnessIdSchema,
15211
+ harnessName: external_exports.string().trim().min(1).max(128)
15212
+ };
15213
+ var harnessAccountSourceSchema = external_exports.object(harnessAccountIdentityShape).strict();
15214
+ var harnessAccountSourceListParamsSchema = external_exports.object({}).strict();
15215
+ var harnessAccountSourceListResultSchema = external_exports.object({ sources: external_exports.array(harnessAccountSourceSchema).max(128) }).strict();
15216
+ var harnessAccountInspectParamsSchema = external_exports.object({ harnessId: harnessIdSchema, refresh: external_exports.boolean().optional() }).strict();
15217
+ var harnessAccountInspectResultSchema = external_exports.object({
15218
+ ...harnessAccountIdentityShape,
15219
+ account: harnessAccountSnapshotSchema.nullable()
15220
+ }).strict();
15221
+ var harnessAccountListParamsSchema = external_exports.object({ refresh: external_exports.boolean().optional() }).strict();
15170
15222
  var harnessAccountListResultSchema = external_exports.object({
15171
- accounts: external_exports.array(harnessAccountSnapshotSchema.extend({
15172
- harnessId: harnessIdSchema,
15173
- harnessName: external_exports.string().min(1)
15174
- })).max(128)
15223
+ accounts: external_exports.array(harnessAccountSnapshotSchema.extend(harnessAccountIdentityShape)).max(128)
15175
15224
  }).strict();
15176
15225
 
15177
15226
  // ../../shared-contracts/dist/json-value.js
@@ -15467,7 +15516,6 @@ var threadInspectionParamsSchema = external_exports.object({
15467
15516
  }).strict();
15468
15517
  var codexThreadInspectionSchema = external_exports.object({
15469
15518
  owner: external_exports.literal("codex"),
15470
- accountId: nonBlankTextSchema2.optional(),
15471
15519
  locked: external_exports.literal(true)
15472
15520
  }).strict();
15473
15521
  var externalThreadInspectionSchema = external_exports.object({
@@ -15609,53 +15657,25 @@ var codexAccountSchema = external_exports.object({
15609
15657
  label: nonBlankTextSchema3.max(256),
15610
15658
  email: external_exports.string().email().max(320).optional(),
15611
15659
  planType: codexAccountPlanTypeSchema.optional(),
15612
- codexHome: nonBlankTextSchema3.max(16384),
15613
- active: external_exports.boolean(),
15614
- isDefault: external_exports.boolean(),
15615
15660
  authKind: codexAccountAuthKindSchema.optional(),
15616
15661
  authIdentity: nonBlankTextSchema3.max(256).optional()
15617
15662
  }).strict();
15618
- var codexAccountListResultSchema = external_exports.object({ accounts: external_exports.array(codexAccountSchema).max(128) }).strict();
15619
- var codexAccountCreateParamsSchema = external_exports.object({ label: nonBlankTextSchema3.max(256).optional() }).strict();
15620
- var codexAccountActivateParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
15621
- var codexAccountDeleteParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
15622
- var codexAccountDeleteResultSchema = external_exports.object({ deletedAccountId: accountIdSchema }).strict();
15623
- var codexAccountMutationResultSchema = external_exports.object({ account: codexAccountSchema }).strict();
15624
- var codexAccountLoginStartParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
15625
- var codexAccountLoginStartResultSchema = external_exports.object({
15626
- accountId: accountIdSchema,
15627
- loginId: nonBlankTextSchema3.max(1024),
15628
- verificationUrl: external_exports.string().url().max(16384),
15629
- userCode: nonBlankTextSchema3.max(1024)
15630
- }).strict();
15631
- var codexAccountLoginCancelParamsSchema = external_exports.object({ accountId: accountIdSchema.optional(), loginId: nonBlankTextSchema3.max(1024) }).strict();
15632
- var codexAccountLoginCancelResultSchema = external_exports.object({ cancelled: external_exports.boolean() }).strict();
15633
- var codexAccountLoginCompletedSchema = external_exports.object({
15634
- accountId: accountIdSchema,
15635
- loginId: nonBlankTextSchema3.max(1024),
15636
- success: external_exports.boolean(),
15637
- error: external_exports.string().max(4096).nullable()
15663
+ var codexAccountPhaseSchema = external_exports.enum(["ready", "unavailable"]);
15664
+ var codexAccountListResultSchema = external_exports.object({
15665
+ version: external_exports.literal(2),
15666
+ currentAccountId: accountIdSchema.nullable(),
15667
+ phase: codexAccountPhaseSchema,
15668
+ revision: external_exports.number().int().nonnegative(),
15669
+ instanceId: nonBlankTextSchema3.max(1024).optional(),
15670
+ accounts: external_exports.array(codexAccountSchema).max(1)
15638
15671
  }).strict();
15639
- var codexAccountUsageParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
15672
+ var codexAccountUsageParamsSchema = external_exports.object({ accountId: accountIdSchema, refresh: external_exports.boolean().optional() }).strict();
15640
15673
  var codexAccountUsageResultSchema = external_exports.object({
15641
15674
  accountId: accountIdSchema,
15642
15675
  usage: threadUsageSnapshotSchema.nullable(),
15643
- accountCredits: accountCreditsSnapshotSchema.optional()
15644
- }).strict();
15645
- var codexAccountResetCreditConsumeParamsSchema = external_exports.object({
15646
- accountId: accountIdSchema,
15647
- idempotencyKey: external_exports.string().uuid().optional()
15648
- }).strict();
15649
- var codexAccountResetCreditConsumeOutcomeSchema = external_exports.enum([
15650
- "reset",
15651
- "nothingToReset",
15652
- "noCredit",
15653
- "alreadyRedeemed"
15654
- ]);
15655
- var codexAccountResetCreditConsumeResultSchema = external_exports.object({
15656
- accountId: accountIdSchema,
15657
- outcome: codexAccountResetCreditConsumeOutcomeSchema,
15658
- accountCredits: accountCreditsSnapshotSchema.optional()
15676
+ accountCredits: accountCreditsSnapshotSchema.optional(),
15677
+ freshness: external_exports.enum(["live", "cached"]),
15678
+ observedAt: external_exports.string().datetime().nullable()
15659
15679
  }).strict();
15660
15680
 
15661
15681
  // ../../shared-contracts/dist/harness-session-import.js
@@ -18629,7 +18649,8 @@ function synthesizeFileChange(kind, args, cwd) {
18629
18649
  {
18630
18650
  path: displayed.path,
18631
18651
  kind: "add",
18632
- unifiedDiff: createTwoFilesPatch(oldHeader2, newHeader2, "", content, "", "", { context: 3 })
18652
+ unifiedDiff: createTwoFilesPatch(oldHeader2, newHeader2, "", content, "", "", { context: 3 }),
18653
+ diffScope: "fragment"
18633
18654
  }
18634
18655
  ];
18635
18656
  }
@@ -18651,7 +18672,8 @@ function synthesizeFileChange(kind, args, cwd) {
18651
18672
  kind: "update",
18652
18673
  unifiedDiff: createTwoFilesPatch(oldHeader, newHeader, oldText, newText, "", "", {
18653
18674
  context: 3
18654
- })
18675
+ }),
18676
+ diffScope: "fragment"
18655
18677
  }
18656
18678
  ];
18657
18679
  }
@@ -19048,7 +19070,7 @@ var OmpHarnessSession = class {
19048
19070
  return this.#closePromise;
19049
19071
  }
19050
19072
  async #selectModel(command) {
19051
- if (this.#acceptingTurn || this.#active || this.#configuring) {
19073
+ if (this.#acceptingTurn || this.#configuring) {
19052
19074
  return {
19053
19075
  ok: false,
19054
19076
  error: {
@@ -19120,7 +19142,7 @@ var OmpHarnessSession = class {
19120
19142
  }
19121
19143
  };
19122
19144
  }
19123
- if (this.#acceptingTurn || this.#active || this.#configuring) {
19145
+ if (this.#acceptingTurn || this.#configuring) {
19124
19146
  return {
19125
19147
  ok: false,
19126
19148
  error: {
@@ -19905,12 +19927,17 @@ var OmpHarnessSession = class {
19905
19927
  try {
19906
19928
  const kind = fileMutatingKind(event.toolName);
19907
19929
  const args = tool.arguments;
19908
- if (kind && synthesizeFileChange(kind, args, this.#cwd)) {
19930
+ if (kind && !patchFromResult(event.result) && synthesizeFileChange(kind, args, this.#cwd)) {
19909
19931
  return;
19910
19932
  }
19911
19933
  const changes = reliableFileChange(event.toolName, args, event.result, this.#cwd);
19912
19934
  if (changes) {
19913
- const fileItem = { type: "fileChange", itemId: this.#newItemId(), changes };
19935
+ const fileItem = {
19936
+ type: "fileChange",
19937
+ itemId: this.#newItemId(),
19938
+ sourceItemIds: [tool.item.itemId],
19939
+ changes
19940
+ };
19914
19941
  this.#event({ type: "item.started", turnId: active.command.turnId, item: fileItem });
19915
19942
  this.#completeItem(active, fileItem, { status: "succeeded" });
19916
19943
  }