@caupulican/pi-adaptative 0.75.6 → 0.76.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.
- package/CHANGELOG.md +33 -0
- package/README.md +2 -2
- package/dist/cli/args.d.ts +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +4 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +17 -3
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts +3 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +32 -5
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +18 -24
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +1 -2
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +6 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +3 -2
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +33 -11
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +2 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +14 -9
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +54 -14
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +1 -1
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +3 -1
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +1 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +6 -2
- package/dist/utils/version-check.js.map +1 -1
- package/docs/development.md +1 -1
- package/docs/extensions.md +7 -5
- package/docs/settings.md +7 -3
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/reload-runtime.ts +9 -7
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/npm-shrinkwrap.json +34 -36
- package/package.json +4 -4
|
@@ -132,6 +132,7 @@ export class AgentSession {
|
|
|
132
132
|
this._unsubscribeAgent = this.agent.subscribe(this._handleAgentEvent);
|
|
133
133
|
this._installAgentToolHooks();
|
|
134
134
|
this._installAgentContextTransform();
|
|
135
|
+
this._installAgentTurnRefresh();
|
|
135
136
|
this._buildRuntime({
|
|
136
137
|
activeToolNames: this._initialActiveToolNames,
|
|
137
138
|
includeAllExtensionTools: true,
|
|
@@ -202,6 +203,30 @@ export class AgentSession {
|
|
|
202
203
|
}
|
|
203
204
|
};
|
|
204
205
|
}
|
|
206
|
+
_installAgentTurnRefresh() {
|
|
207
|
+
const previousPrepareNextTurn = this.agent.prepareNextTurn?.bind(this.agent);
|
|
208
|
+
this.agent.prepareNextTurn = async (signal) => {
|
|
209
|
+
const previous = previousPrepareNextTurn ? await previousPrepareNextTurn(signal) : undefined;
|
|
210
|
+
const snapshot = this._createAgentContextSnapshot();
|
|
211
|
+
return {
|
|
212
|
+
...previous,
|
|
213
|
+
context: {
|
|
214
|
+
...(previous?.context ?? snapshot),
|
|
215
|
+
systemPrompt: snapshot.systemPrompt,
|
|
216
|
+
tools: snapshot.tools,
|
|
217
|
+
},
|
|
218
|
+
model: previous?.model ?? this.agent.state.model,
|
|
219
|
+
thinkingLevel: previous?.thinkingLevel ?? this.agent.state.thinkingLevel,
|
|
220
|
+
};
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
_createAgentContextSnapshot() {
|
|
224
|
+
return {
|
|
225
|
+
systemPrompt: this.agent.state.systemPrompt,
|
|
226
|
+
messages: this.agent.state.messages.slice(),
|
|
227
|
+
tools: this.agent.state.tools.slice(),
|
|
228
|
+
};
|
|
229
|
+
}
|
|
205
230
|
_estimateCurrentContextTokens(messages) {
|
|
206
231
|
const estimate = estimateContextTokens(messages);
|
|
207
232
|
const compactionEntry = getLatestCompactionEntry(this.sessionManager.getBranch());
|
|
@@ -1877,12 +1902,9 @@ export class AgentSession {
|
|
|
1877
1902
|
})();
|
|
1878
1903
|
},
|
|
1879
1904
|
reload: () => {
|
|
1880
|
-
if (this.isStreaming) {
|
|
1881
|
-
throw new Error("Cannot reload while the agent is streaming.");
|
|
1882
|
-
}
|
|
1883
1905
|
const actions = this._extensionCommandContextActions;
|
|
1884
|
-
if (!actions) {
|
|
1885
|
-
|
|
1906
|
+
if (this.isStreaming || !actions) {
|
|
1907
|
+
return this.reload();
|
|
1886
1908
|
}
|
|
1887
1909
|
return actions.reload();
|
|
1888
1910
|
},
|
|
@@ -2032,6 +2054,9 @@ export class AgentSession {
|
|
|
2032
2054
|
// =========================================================================
|
|
2033
2055
|
// Auto-Retry
|
|
2034
2056
|
// =========================================================================
|
|
2057
|
+
_isNonRetryableProviderLimitError(errorMessage) {
|
|
2058
|
+
return /GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(errorMessage);
|
|
2059
|
+
}
|
|
2035
2060
|
/**
|
|
2036
2061
|
* Check if an error is retryable (overloaded, rate limit, server errors).
|
|
2037
2062
|
* Context overflow errors are NOT retryable (handled by compaction instead).
|
|
@@ -2044,6 +2069,8 @@ export class AgentSession {
|
|
|
2044
2069
|
if (isContextOverflow(message, contextWindow))
|
|
2045
2070
|
return false;
|
|
2046
2071
|
const err = message.errorMessage;
|
|
2072
|
+
if (this._isNonRetryableProviderLimitError(err))
|
|
2073
|
+
return false;
|
|
2047
2074
|
// Match: overloaded_error, provider returned error, rate limit, 429, 500, 502, 503, 504, service unavailable, network/connection errors (including connection lost), WebSocket transport closes/errors, fetch failed, premature stream endings, HTTP/2 closed before response, terminated, retry delay exceeded
|
|
2048
2075
|
return /overloaded|provider.?returned.?error|rate.?limit|too many requests|429|500|502|503|504|service.?unavailable|server.?error|internal.?error|network.?error|connection.?error|connection.?refused|connection.?lost|websocket.?closed|websocket.?error|other side closed|fetch failed|upstream.?connect|reset before headers|socket hang up|ended without|stream ended before message_stop|http2 request did not get a response|timed? out|timeout|terminated|retry delay/i.test(err);
|
|
2049
2076
|
}
|