@autohq/cli 0.1.615 → 0.1.616
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-bridge.js +75 -13
- package/dist/index.js +576 -14
- package/package.json +1 -1
package/dist/agent-bridge.js
CHANGED
|
@@ -33878,8 +33878,13 @@ var AgentBridgeCodexConfigBaseSchema = AgentBridgeHarnessBaseConfigSchema.extend
|
|
|
33878
33878
|
reasoningEffort: AgentBridgeCodexReasoningEffortSchema.optional(),
|
|
33879
33879
|
approvals: AgentBridgeApprovalsSchema.optional()
|
|
33880
33880
|
});
|
|
33881
|
+
var AGENT_BRIDGE_CODEX_MAX_REASONING_MODEL_IDS = /* @__PURE__ */ new Set([
|
|
33882
|
+
"gpt-5.6-sol",
|
|
33883
|
+
"gpt-5.6-terra",
|
|
33884
|
+
"gpt-5.6-luna"
|
|
33885
|
+
]);
|
|
33881
33886
|
function validateAgentBridgeCodexReasoningEffort(config2, context) {
|
|
33882
|
-
if (config2.reasoningEffort !== "max" || config2.model?.provider === "openai" && config2.model.id
|
|
33887
|
+
if (config2.reasoningEffort !== "max" || config2.model?.provider === "openai" && AGENT_BRIDGE_CODEX_MAX_REASONING_MODEL_IDS.has(config2.model.id)) {
|
|
33883
33888
|
return;
|
|
33884
33889
|
}
|
|
33885
33890
|
context.addIssue({
|
|
@@ -37765,7 +37770,7 @@ Object.assign(lookup, {
|
|
|
37765
37770
|
// package.json
|
|
37766
37771
|
var package_default = {
|
|
37767
37772
|
name: "@autohq/cli",
|
|
37768
|
-
version: "0.1.
|
|
37773
|
+
version: "0.1.616",
|
|
37769
37774
|
license: "SEE LICENSE IN README.md",
|
|
37770
37775
|
publishConfig: {
|
|
37771
37776
|
access: "public"
|
|
@@ -41021,6 +41026,10 @@ var CODEX_REASONING_EFFORTS = [
|
|
|
41021
41026
|
"high",
|
|
41022
41027
|
"xhigh"
|
|
41023
41028
|
];
|
|
41029
|
+
var CODEX_MAX_REASONING_EFFORTS = [
|
|
41030
|
+
...CODEX_REASONING_EFFORTS,
|
|
41031
|
+
"max"
|
|
41032
|
+
];
|
|
41024
41033
|
var ClaudeCodeReasoningEffortSchema = external_exports.enum(
|
|
41025
41034
|
CLAUDE_CODE_REASONING_EFFORTS
|
|
41026
41035
|
);
|
|
@@ -41109,7 +41118,13 @@ var HARNESS_MODEL_RULES = {
|
|
|
41109
41118
|
providers: ["openai", "openrouter"],
|
|
41110
41119
|
defaultModel: "gpt-5.6-sol",
|
|
41111
41120
|
curatedModels: {
|
|
41112
|
-
openai: [
|
|
41121
|
+
openai: [
|
|
41122
|
+
"gpt-5.6-sol",
|
|
41123
|
+
"gpt-5.6-terra",
|
|
41124
|
+
"gpt-5.6-luna",
|
|
41125
|
+
"gpt-5.5",
|
|
41126
|
+
"gpt-5.3-codex"
|
|
41127
|
+
]
|
|
41113
41128
|
},
|
|
41114
41129
|
openProviderPatterns: {
|
|
41115
41130
|
openrouter: OPENROUTER_MODEL_SLUG_PATTERN
|
|
@@ -41120,11 +41135,15 @@ var HARNESS_MODEL_RULES = {
|
|
|
41120
41135
|
openai: {
|
|
41121
41136
|
"gpt-5.6-sol": {
|
|
41122
41137
|
defaultEffort: "medium",
|
|
41123
|
-
efforts:
|
|
41138
|
+
efforts: CODEX_MAX_REASONING_EFFORTS
|
|
41139
|
+
},
|
|
41140
|
+
"gpt-5.6-terra": {
|
|
41141
|
+
defaultEffort: "medium",
|
|
41142
|
+
efforts: CODEX_MAX_REASONING_EFFORTS
|
|
41124
41143
|
},
|
|
41125
41144
|
"gpt-5.6-luna": {
|
|
41126
41145
|
defaultEffort: "medium",
|
|
41127
|
-
efforts:
|
|
41146
|
+
efforts: CODEX_MAX_REASONING_EFFORTS
|
|
41128
41147
|
},
|
|
41129
41148
|
"gpt-5.5": {
|
|
41130
41149
|
defaultEffort: "medium",
|
|
@@ -45123,6 +45142,10 @@ var SessionUiMessageRecordSchema = external_exports.object({
|
|
|
45123
45142
|
// transcript renders the bundle as distinct trigger entries.
|
|
45124
45143
|
bundle: SessionMessageBundleSchema.nullable().default(null),
|
|
45125
45144
|
streamCursor: external_exports.number().int().positive().nullable().default(null),
|
|
45145
|
+
// Cursor of the first durable snapshot boundary recorded for each UI part,
|
|
45146
|
+
// aligned with message.parts. Null entries/field preserve legacy rows that
|
|
45147
|
+
// predate part-level cursor capture.
|
|
45148
|
+
partStreamCursors: external_exports.array(external_exports.number().int().positive().nullable()).nullable().default(null),
|
|
45126
45149
|
createdAt: external_exports.string().datetime(),
|
|
45127
45150
|
updatedAt: external_exports.string().datetime(),
|
|
45128
45151
|
completedAt: external_exports.string().datetime().nullable()
|
|
@@ -94408,6 +94431,7 @@ var CODEX_OPENROUTER_PROVIDER_ID = "openrouter-responses-http";
|
|
|
94408
94431
|
var CODEX_REASONING_SUMMARY = "detailed";
|
|
94409
94432
|
var CODEX_REASONING_SUMMARY_MODEL_IDS = /* @__PURE__ */ new Set([
|
|
94410
94433
|
CODEX_DEFAULT_MODEL,
|
|
94434
|
+
"gpt-5.6-terra",
|
|
94411
94435
|
"gpt-5.6-luna",
|
|
94412
94436
|
"gpt-5.5",
|
|
94413
94437
|
"gpt-5.3-codex"
|
|
@@ -95745,6 +95769,13 @@ var CodexCommandHandler = class {
|
|
|
95745
95769
|
autoMcpShim;
|
|
95746
95770
|
askUserServer;
|
|
95747
95771
|
injectedCommands = /* @__PURE__ */ new Set();
|
|
95772
|
+
// Message commands whose injection has started but not settled. A blocked
|
|
95773
|
+
// output drain or a slow codex warm can outlast the bridge's command-ack
|
|
95774
|
+
// window, so a redelivery may arrive while the first attempt is still in
|
|
95775
|
+
// flight; acking it "duplicate" then would let the worker accept a command
|
|
95776
|
+
// whose injection later fails, silently losing the turn (FRA-3458). The
|
|
95777
|
+
// duplicate branch awaits the in-flight outcome here and relays it instead.
|
|
95778
|
+
inFlightMessageCommands = /* @__PURE__ */ new Map();
|
|
95748
95779
|
// itemId -> JSON-RPC request id of the parked approval request, so an `answer`
|
|
95749
95780
|
// command keyed by toolCallId (= itemId) can resolve the right server request.
|
|
95750
95781
|
pendingApprovals = /* @__PURE__ */ new Map();
|
|
@@ -95808,6 +95839,16 @@ var CodexCommandHandler = class {
|
|
|
95808
95839
|
return commandAck({ delivery, socketId, status: "stale_lease" });
|
|
95809
95840
|
}
|
|
95810
95841
|
if (this.injectedCommands.has(delivery.commandId)) {
|
|
95842
|
+
const inFlight = this.inFlightMessageCommands.get(delivery.commandId);
|
|
95843
|
+
const outcome2 = inFlight ? await inFlight : { status: "injected" };
|
|
95844
|
+
if (outcome2.status === "failed") {
|
|
95845
|
+
return commandAck({
|
|
95846
|
+
delivery,
|
|
95847
|
+
socketId,
|
|
95848
|
+
status: "failed",
|
|
95849
|
+
error: outcome2.error
|
|
95850
|
+
});
|
|
95851
|
+
}
|
|
95811
95852
|
return commandAck({ delivery, socketId, status: "duplicate" });
|
|
95812
95853
|
}
|
|
95813
95854
|
if (delivery.kind === "answer") {
|
|
@@ -95842,6 +95883,33 @@ var CodexCommandHandler = class {
|
|
|
95842
95883
|
});
|
|
95843
95884
|
}
|
|
95844
95885
|
this.injectedCommands.add(delivery.commandId);
|
|
95886
|
+
const injection = this.injectMessageCommand(
|
|
95887
|
+
activeContext,
|
|
95888
|
+
delivery,
|
|
95889
|
+
message
|
|
95890
|
+
);
|
|
95891
|
+
this.inFlightMessageCommands.set(delivery.commandId, injection);
|
|
95892
|
+
let outcome;
|
|
95893
|
+
try {
|
|
95894
|
+
outcome = await injection;
|
|
95895
|
+
} finally {
|
|
95896
|
+
this.inFlightMessageCommands.delete(delivery.commandId);
|
|
95897
|
+
}
|
|
95898
|
+
if (outcome.status === "failed") {
|
|
95899
|
+
this.injectedCommands.delete(delivery.commandId);
|
|
95900
|
+
return commandAck({
|
|
95901
|
+
delivery,
|
|
95902
|
+
socketId,
|
|
95903
|
+
status: "failed",
|
|
95904
|
+
error: outcome.error
|
|
95905
|
+
});
|
|
95906
|
+
}
|
|
95907
|
+
return commandAck({ delivery, socketId, status: "injected" });
|
|
95908
|
+
}
|
|
95909
|
+
// Runs one message command's injection to a terminal outcome. Never rejects:
|
|
95910
|
+
// the returned promise is stored in the in-flight map and awaited by both the
|
|
95911
|
+
// original delivery and any redeliveries, so failures travel as values.
|
|
95912
|
+
async injectMessageCommand(activeContext, delivery, message) {
|
|
95845
95913
|
try {
|
|
95846
95914
|
this.applySelectionForMessage(delivery);
|
|
95847
95915
|
await this.emitUserMessageEntry(
|
|
@@ -95859,15 +95927,9 @@ var CodexCommandHandler = class {
|
|
|
95859
95927
|
commandId: delivery.commandId
|
|
95860
95928
|
});
|
|
95861
95929
|
} catch (error51) {
|
|
95862
|
-
|
|
95863
|
-
return commandAck({
|
|
95864
|
-
delivery,
|
|
95865
|
-
socketId,
|
|
95866
|
-
status: "failed",
|
|
95867
|
-
error: errorMessage4(error51)
|
|
95868
|
-
});
|
|
95930
|
+
return { status: "failed", error: errorMessage4(error51) };
|
|
95869
95931
|
}
|
|
95870
|
-
return
|
|
95932
|
+
return { status: "injected" };
|
|
95871
95933
|
}
|
|
95872
95934
|
// ---------------------------------------------------------------------------
|
|
95873
95935
|
// Answering parked approvals
|