opencode-acp 1.14.19-pr.311.24 → 1.14.19-pr.313.25
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/index.js +43 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/hooks.d.ts +2 -0
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/state/persistence.d.ts +2 -0
- package/dist/lib/state/persistence.d.ts.map +1 -1
- package/dist/lib/state/state.d.ts.map +1 -1
- package/dist/lib/state/types.d.ts +8 -0
- package/dist/lib/state/types.d.ts.map +1 -1
- package/dist/lib/state/utils.d.ts +19 -0
- package/dist/lib/state/utils.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2084,6 +2084,18 @@ import { homedir as homedir2 } from "os";
|
|
|
2084
2084
|
import { join as join2 } from "path";
|
|
2085
2085
|
|
|
2086
2086
|
// lib/state/utils.ts
|
|
2087
|
+
function syncModelIdentity(state, providerID, modelID) {
|
|
2088
|
+
if (providerID === void 0 || modelID === void 0) {
|
|
2089
|
+
return false;
|
|
2090
|
+
}
|
|
2091
|
+
if (state.modelProviderID === providerID && state.modelID === modelID) {
|
|
2092
|
+
return false;
|
|
2093
|
+
}
|
|
2094
|
+
state.modelContextLimit = void 0;
|
|
2095
|
+
state.modelProviderID = providerID;
|
|
2096
|
+
state.modelID = modelID;
|
|
2097
|
+
return true;
|
|
2098
|
+
}
|
|
2087
2099
|
var isMessageCompacted = (state, msg) => {
|
|
2088
2100
|
if (!isMessageWithInfo(msg)) {
|
|
2089
2101
|
return false;
|
|
@@ -2418,7 +2430,9 @@ async function saveSessionState(sessionState, logger, sessionName) {
|
|
|
2418
2430
|
nextRef: sessionState.messageIds.nextRef
|
|
2419
2431
|
},
|
|
2420
2432
|
lastCompaction: sessionState.lastCompaction,
|
|
2421
|
-
modelContextLimit: sessionState.modelContextLimit
|
|
2433
|
+
modelContextLimit: sessionState.modelContextLimit,
|
|
2434
|
+
modelProviderID: sessionState.modelProviderID,
|
|
2435
|
+
modelID: sessionState.modelID
|
|
2422
2436
|
};
|
|
2423
2437
|
await writePersistedSessionState(sessionState.sessionId, state, logger);
|
|
2424
2438
|
}
|
|
@@ -4228,6 +4242,8 @@ function createSessionState() {
|
|
|
4228
4242
|
lastCompaction: 0,
|
|
4229
4243
|
currentTurn: 0,
|
|
4230
4244
|
modelContextLimit: void 0,
|
|
4245
|
+
modelProviderID: void 0,
|
|
4246
|
+
modelID: void 0,
|
|
4231
4247
|
systemPromptTokens: void 0,
|
|
4232
4248
|
qualityGateRetryPending: false
|
|
4233
4249
|
};
|
|
@@ -4267,6 +4283,8 @@ function resetSessionState(state) {
|
|
|
4267
4283
|
state.lastCompaction = 0;
|
|
4268
4284
|
state.currentTurn = 0;
|
|
4269
4285
|
state.modelContextLimit = void 0;
|
|
4286
|
+
state.modelProviderID = void 0;
|
|
4287
|
+
state.modelID = void 0;
|
|
4270
4288
|
state.systemPromptTokens = void 0;
|
|
4271
4289
|
state.qualityGateRetryPending = false;
|
|
4272
4290
|
}
|
|
@@ -4342,6 +4360,12 @@ async function ensureSessionInitialized(client, state, sessionId, logger, messag
|
|
|
4342
4360
|
if (typeof persisted.modelContextLimit === "number" && persisted.modelContextLimit > 0) {
|
|
4343
4361
|
state.modelContextLimit = persisted.modelContextLimit;
|
|
4344
4362
|
}
|
|
4363
|
+
if (typeof persisted.modelProviderID === "string") {
|
|
4364
|
+
state.modelProviderID = persisted.modelProviderID;
|
|
4365
|
+
}
|
|
4366
|
+
if (typeof persisted.modelID === "string") {
|
|
4367
|
+
state.modelID = persisted.modelID;
|
|
4368
|
+
}
|
|
4345
4369
|
const applied = applyPendingCompressionDurations(state);
|
|
4346
4370
|
if (applied > 0) {
|
|
4347
4371
|
await saveSessionState(state, logger);
|
|
@@ -8949,7 +8973,7 @@ import { writeFile as writeFile2, mkdir as mkdir2 } from "fs/promises";
|
|
|
8949
8973
|
import { join as join3 } from "path";
|
|
8950
8974
|
import { existsSync as existsSync3 } from "fs";
|
|
8951
8975
|
import { homedir as homedir3 } from "os";
|
|
8952
|
-
var LOG_VERSION = true ? "1.14.19-pr.
|
|
8976
|
+
var LOG_VERSION = true ? "1.14.19-pr.313.25" : "dev";
|
|
8953
8977
|
var Logger = class {
|
|
8954
8978
|
logDir;
|
|
8955
8979
|
enabled;
|
|
@@ -10519,6 +10543,8 @@ function createSystemPromptHandler(registry4, logger, config, prompts) {
|
|
|
10519
10543
|
const state = input.sessionID ? registry4.get(input.sessionID) : void 0;
|
|
10520
10544
|
if (state && input.model?.limit?.context) {
|
|
10521
10545
|
state.modelContextLimit = input.model.limit.context;
|
|
10546
|
+
state.modelProviderID = input.model.providerID;
|
|
10547
|
+
state.modelID = input.model.id;
|
|
10522
10548
|
}
|
|
10523
10549
|
if (!state || state.isSubAgent && !config.allowSubAgents) {
|
|
10524
10550
|
return;
|
|
@@ -10572,6 +10598,21 @@ function createChatMessageTransformHandler(client, registry4, logger, config, pr
|
|
|
10572
10598
|
config
|
|
10573
10599
|
);
|
|
10574
10600
|
await updatePerTurnState(state, logger, messages);
|
|
10601
|
+
const { providerId, modelId } = getModelInfo(messages);
|
|
10602
|
+
const prevIdentity = state.modelID;
|
|
10603
|
+
const prevModel = prevIdentity ? `${state.modelProviderID}/${prevIdentity}` : void 0;
|
|
10604
|
+
if (syncModelIdentity(state, providerId, modelId)) {
|
|
10605
|
+
const target = `${providerId}/${modelId}`;
|
|
10606
|
+
if (prevIdentity) {
|
|
10607
|
+
logger.debug(
|
|
10608
|
+
`Model switch detected (${prevModel} \u2192 ${target}); invalidated stale modelContextLimit`
|
|
10609
|
+
);
|
|
10610
|
+
} else {
|
|
10611
|
+
logger.debug(
|
|
10612
|
+
`Model identity established (${target}); limit awaits system.transform`
|
|
10613
|
+
);
|
|
10614
|
+
}
|
|
10615
|
+
}
|
|
10575
10616
|
}
|
|
10576
10617
|
syncCompressPermissionState(state, config, hostPermissions, output.messages);
|
|
10577
10618
|
if (state.isSubAgent && !config.allowSubAgents) {
|