🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@iinm/plain-agent

Package Overview
Dependencies
Maintainers
1
Versions
120
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@iinm/plain-agent - npm Package Compare versions

Comparing version
1.14.2
to
1.14.3
+1
-1
package.json
{
"name": "@iinm/plain-agent",
"version": "1.14.2",
"version": "1.14.3",
"description": "A lightweight terminal-based coding agent focused on safety and low token cost",

@@ -5,0 +5,0 @@ "license": "MIT",

# Plain Agent
[![CodeQL](https://github.com/iinm/plain-agent/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/iinm/plain-agent/actions/workflows/github-code-scanning/codeql)
[![Socket Badge](https://badge.socket.dev/npm/package/@iinm/plain-agent/1.14.2)](https://socket.dev/npm/package/@iinm/plain-agent)
[![Socket Badge](https://badge.socket.dev/npm/package/@iinm/plain-agent/1.14.3)](https://socket.dev/npm/package/@iinm/plain-agent)
[![install size](https://packagephobia.com/badge?p=@iinm/plain-agent)](https://packagephobia.com/result?p=@iinm/plain-agent)

@@ -458,2 +458,10 @@

}
},
// Required for soft limit (auto-compact) to work
"autoCompact": {
"inputTokensKeys": [
"input_tokens",
"cache_read_input_tokens",
"cache_creation_input_tokens"
]
}

@@ -486,2 +494,10 @@ },

}
},
// Required for soft limit (auto-compact) to work
"autoCompact": {
"inputTokensKeys": [
"input_tokens",
"cache_read_input_tokens",
"cache_creation_input_tokens"
]
}

@@ -488,0 +504,0 @@ }

@@ -238,2 +238,16 @@ /**

/**
* Check whether auto-compact is effectively disabled because the model
* definition lacks `autoCompact.inputTokensKeys`.
*
* @param {number | undefined} contextSoftLimit
* @param {string[] | undefined} inputTokensKeys
* @returns {boolean}
*/
export function isAutoCompactMisconfigured(contextSoftLimit, inputTokensKeys) {
return Boolean(
contextSoftLimit && (!inputTokensKeys || inputTokensKeys.length === 0),
);
}
/**
* Resolve the effective context soft limit for the given model.

@@ -240,0 +254,0 @@ *

@@ -19,3 +19,7 @@ /**

import { runTestApprovalCommand } from "./cli/testApproval.mjs";
import { loadAppConfig, resolveContextSoftLimit } from "./config.mjs";
import {
isAutoCompactMisconfigured,
loadAppConfig,
resolveContextSoftLimit,
} from "./config.mjs";
import { loadAgentRoles } from "./context/loadAgentRoles.mjs";

@@ -438,2 +442,12 @@ import { loadPrompts } from "./context/loadPrompts.mjs";

const inputTokensKeys = modelDef.autoCompact?.inputTokensKeys;
if (isAutoCompactMisconfigured(contextSoftLimit, inputTokensKeys)) {
console.error(
styleText(
"yellow",
`⚠️ autoCompact.softLimit is set but model "${modelNameWithVariant}" has no autoCompact.inputTokensKeys.`,
),
);
}
const { userEventEmitter, agentEventEmitter, agentCommands } = createAgent({

@@ -454,3 +468,3 @@ callModel: agentCallModel,

contextSoftLimit,
inputTokensKeys: modelDef.autoCompact?.inputTokensKeys,
inputTokensKeys,
});

@@ -457,0 +471,0 @@