agentfootprint 7.20.0 → 7.22.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.
- package/AGENTS.md +10 -3
- package/README.md +1 -1
- package/ai-instructions/claude-code/SKILL.md +10 -3
- package/dist/adapters/hosting/agentcore.js +12 -2
- package/dist/adapters/hosting/agentcore.js.map +1 -1
- package/dist/adapters/llm/AnthropicProvider.js +12 -0
- package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BedrockProvider.js +12 -0
- package/dist/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserAnthropicProvider.js +45 -6
- package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserOpenAIProvider.js +13 -0
- package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/MockProvider.js +10 -0
- package/dist/adapters/llm/MockProvider.js.map +1 -1
- package/dist/adapters/llm/OpenAIProvider.js +15 -0
- package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/adapters/types.js +10 -0
- package/dist/adapters/types.js.map +1 -1
- package/dist/cache/CacheDecisionSubflow.js +67 -3
- package/dist/cache/CacheDecisionSubflow.js.map +1 -1
- package/dist/conventions.js +8 -0
- package/dist/conventions.js.map +1 -1
- package/dist/core/Agent.js +47 -0
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +13 -6
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +17 -1
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +49 -4
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/delivery/rules.js +121 -0
- package/dist/core/agent/delivery/rules.js.map +1 -0
- package/dist/core/agent/delivery/types.js +12 -0
- package/dist/core/agent/delivery/types.js.map +1 -0
- package/dist/core/agent/stages/callLLM.js +27 -1
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/agent/stages/deliver.js +155 -0
- package/dist/core/agent/stages/deliver.js.map +1 -0
- package/dist/core/agent/stages/seed.js +4 -0
- package/dist/core/agent/stages/seed.js.map +1 -1
- package/dist/core/slots/buildMessagesSlot.js +43 -48
- package/dist/core/slots/buildMessagesSlot.js.map +1 -1
- package/dist/esm/adapters/hosting/agentcore.d.ts +27 -0
- package/dist/esm/adapters/hosting/agentcore.js +12 -2
- package/dist/esm/adapters/hosting/agentcore.js.map +1 -1
- package/dist/esm/adapters/llm/AnthropicProvider.d.ts +2 -1
- package/dist/esm/adapters/llm/AnthropicProvider.js +12 -0
- package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BedrockProvider.d.ts +2 -1
- package/dist/esm/adapters/llm/BedrockProvider.js +12 -0
- package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.d.ts +2 -1
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +45 -6
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +3 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +13 -0
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/MockProvider.d.ts +2 -1
- package/dist/esm/adapters/llm/MockProvider.js +10 -0
- package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OpenAIProvider.d.ts +2 -1
- package/dist/esm/adapters/llm/OpenAIProvider.js +15 -0
- package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/types.d.ts +69 -0
- package/dist/esm/adapters/types.js +9 -1
- package/dist/esm/adapters/types.js.map +1 -1
- package/dist/esm/cache/CacheDecisionSubflow.d.ts +11 -0
- package/dist/esm/cache/CacheDecisionSubflow.js +67 -3
- package/dist/esm/cache/CacheDecisionSubflow.js.map +1 -1
- package/dist/esm/conventions.d.ts +8 -0
- package/dist/esm/conventions.js +8 -0
- package/dist/esm/conventions.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +16 -0
- package/dist/esm/core/Agent.js +47 -0
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +9 -4
- package/dist/esm/core/agent/AgentBuilder.js +14 -7
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.d.ts +14 -0
- package/dist/esm/core/agent/buildAgentChart.js +17 -1
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +49 -4
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/delivery/rules.d.ts +79 -0
- package/dist/esm/core/agent/delivery/rules.js +113 -0
- package/dist/esm/core/agent/delivery/rules.js.map +1 -0
- package/dist/esm/core/agent/delivery/types.d.ts +51 -0
- package/dist/esm/core/agent/delivery/types.js +11 -0
- package/dist/esm/core/agent/delivery/types.js.map +1 -0
- package/dist/esm/core/agent/stages/callLLM.js +27 -1
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/stages/deliver.d.ts +59 -0
- package/dist/esm/core/agent/stages/deliver.js +150 -0
- package/dist/esm/core/agent/stages/deliver.js.map +1 -0
- package/dist/esm/core/agent/stages/seed.js +4 -0
- package/dist/esm/core/agent/stages/seed.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +14 -0
- package/dist/esm/core/slots/buildMessagesSlot.d.ts +23 -8
- package/dist/esm/core/slots/buildMessagesSlot.js +43 -48
- package/dist/esm/core/slots/buildMessagesSlot.js.map +1 -1
- package/dist/esm/hosting/httpHost.d.ts +62 -3
- package/dist/esm/hosting/httpHost.js +73 -9
- package/dist/esm/hosting/httpHost.js.map +1 -1
- package/dist/esm/hosting/index.d.ts +3 -1
- package/dist/esm/hosting/index.js +3 -1
- package/dist/esm/hosting/index.js.map +1 -1
- package/dist/esm/hosting/nodeHost.d.ts +21 -2
- package/dist/esm/hosting/nodeHost.js +10 -0
- package/dist/esm/hosting/nodeHost.js.map +1 -1
- package/dist/esm/hosting/types.d.ts +6 -0
- package/dist/esm/lib/injection-engine/factories/defineFact.d.ts +38 -10
- package/dist/esm/lib/injection-engine/factories/defineFact.js +20 -8
- package/dist/esm/lib/injection-engine/factories/defineFact.js.map +1 -1
- package/dist/esm/lib/injection-engine/factories/defineInstruction.d.ts +42 -15
- package/dist/esm/lib/injection-engine/factories/defineInstruction.js +17 -6
- package/dist/esm/lib/injection-engine/factories/defineInstruction.js.map +1 -1
- package/dist/esm/lib/injection-engine/messagesSlotRefusal.d.ts +70 -27
- package/dist/esm/lib/injection-engine/messagesSlotRefusal.js +91 -34
- package/dist/esm/lib/injection-engine/messagesSlotRefusal.js.map +1 -1
- package/dist/esm/lib/injection-engine/types.d.ts +35 -9
- package/dist/esm/lib/injection-engine/types.js +6 -0
- package/dist/esm/lib/injection-engine/types.js.map +1 -1
- package/dist/esm/memory/asRoleRefusal.d.ts +15 -11
- package/dist/esm/memory/asRoleRefusal.js +21 -15
- package/dist/esm/memory/asRoleRefusal.js.map +1 -1
- package/dist/esm/resilience/withCircuitBreaker.js +6 -0
- package/dist/esm/resilience/withCircuitBreaker.js.map +1 -1
- package/dist/esm/resilience/withFallback.js +18 -0
- package/dist/esm/resilience/withFallback.js.map +1 -1
- package/dist/esm/resilience/withRetry.js +8 -0
- package/dist/esm/resilience/withRetry.js.map +1 -1
- package/dist/hosting/httpHost.js +73 -9
- package/dist/hosting/httpHost.js.map +1 -1
- package/dist/hosting/index.js +3 -1
- package/dist/hosting/index.js.map +1 -1
- package/dist/hosting/nodeHost.js +10 -0
- package/dist/hosting/nodeHost.js.map +1 -1
- package/dist/lib/injection-engine/factories/defineFact.js +19 -7
- package/dist/lib/injection-engine/factories/defineFact.js.map +1 -1
- package/dist/lib/injection-engine/factories/defineInstruction.js +16 -5
- package/dist/lib/injection-engine/factories/defineInstruction.js.map +1 -1
- package/dist/lib/injection-engine/messagesSlotRefusal.js +95 -36
- package/dist/lib/injection-engine/messagesSlotRefusal.js.map +1 -1
- package/dist/lib/injection-engine/types.js +6 -0
- package/dist/lib/injection-engine/types.js.map +1 -1
- package/dist/memory/asRoleRefusal.js +21 -15
- package/dist/memory/asRoleRefusal.js.map +1 -1
- package/dist/resilience/withCircuitBreaker.js +6 -0
- package/dist/resilience/withCircuitBreaker.js.map +1 -1
- package/dist/resilience/withFallback.js +18 -0
- package/dist/resilience/withFallback.js.map +1 -1
- package/dist/resilience/withRetry.js +8 -0
- package/dist/resilience/withRetry.js.map +1 -1
- package/dist/types/adapters/hosting/agentcore.d.ts +27 -0
- package/dist/types/adapters/hosting/agentcore.d.ts.map +1 -1
- package/dist/types/adapters/llm/AnthropicProvider.d.ts +2 -1
- package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BedrockProvider.d.ts +2 -1
- package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts +2 -1
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +3 -1
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/MockProvider.d.ts +2 -1
- package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts +2 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/types.d.ts +69 -0
- package/dist/types/adapters/types.d.ts.map +1 -1
- package/dist/types/cache/CacheDecisionSubflow.d.ts +11 -0
- package/dist/types/cache/CacheDecisionSubflow.d.ts.map +1 -1
- package/dist/types/conventions.d.ts +8 -0
- package/dist/types/conventions.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +16 -0
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +9 -4
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +14 -0
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/delivery/rules.d.ts +80 -0
- package/dist/types/core/agent/delivery/rules.d.ts.map +1 -0
- package/dist/types/core/agent/delivery/types.d.ts +52 -0
- package/dist/types/core/agent/delivery/types.d.ts.map +1 -0
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/agent/stages/deliver.d.ts +60 -0
- package/dist/types/core/agent/stages/deliver.d.ts.map +1 -0
- package/dist/types/core/agent/types.d.ts +14 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/slots/buildMessagesSlot.d.ts +23 -8
- package/dist/types/core/slots/buildMessagesSlot.d.ts.map +1 -1
- package/dist/types/hosting/httpHost.d.ts +62 -3
- package/dist/types/hosting/httpHost.d.ts.map +1 -1
- package/dist/types/hosting/index.d.ts +3 -1
- package/dist/types/hosting/index.d.ts.map +1 -1
- package/dist/types/hosting/nodeHost.d.ts +21 -2
- package/dist/types/hosting/nodeHost.d.ts.map +1 -1
- package/dist/types/hosting/types.d.ts +6 -0
- package/dist/types/hosting/types.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/factories/defineFact.d.ts +38 -10
- package/dist/types/lib/injection-engine/factories/defineFact.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/factories/defineInstruction.d.ts +42 -15
- package/dist/types/lib/injection-engine/factories/defineInstruction.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/messagesSlotRefusal.d.ts +70 -27
- package/dist/types/lib/injection-engine/messagesSlotRefusal.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/types.d.ts +35 -9
- package/dist/types/lib/injection-engine/types.d.ts.map +1 -1
- package/dist/types/memory/asRoleRefusal.d.ts +15 -11
- package/dist/types/memory/asRoleRefusal.d.ts.map +1 -1
- package/dist/types/resilience/withCircuitBreaker.d.ts.map +1 -1
- package/dist/types/resilience/withFallback.d.ts.map +1 -1
- package/dist/types/resilience/withRetry.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* deliver — the stage that lets a `slot: 'messages'` injection into the window.
|
|
4
|
+
*
|
|
5
|
+
* Runs once per ReAct iteration, immediately after the Injection Engine has
|
|
6
|
+
* decided what is active and BEFORE the three slots compose, so everything
|
|
7
|
+
* downstream in the turn — the messages projection, the cache decision, and
|
|
8
|
+
* the wire itself — sees the same past. The window law, from the entering
|
|
9
|
+
* side: no component gets a different past than the model does.
|
|
10
|
+
*
|
|
11
|
+
* ── Why history, and not a splice at send time ───────────────────────
|
|
12
|
+
* A delivered injection IS part of the conversation or it is a lie. Writing
|
|
13
|
+
* it into `scope.history` (rather than into a parallel array the request
|
|
14
|
+
* builder concatenates) is what makes every existing mechanism true of it
|
|
15
|
+
* for free: the window strategies see it, count it and may fold it under the
|
|
16
|
+
* standard refusal rules; the commit log records its arrival as a write by
|
|
17
|
+
* THIS stage, so "who let it in" has an answer with a runtimeStageId on it;
|
|
18
|
+
* `traceVariable` and the slices read it with no changes at all. The
|
|
19
|
+
* alternative — a second list merged at the last moment — would have given
|
|
20
|
+
* the model a past that no recorder in the library had ever seen.
|
|
21
|
+
*
|
|
22
|
+
* ── The three ways this stage says no ────────────────────────────────
|
|
23
|
+
* 1. ROLE (D2, fatal) — the attached provider does not carry that role
|
|
24
|
+
* inside `messages`. Throws, naming the provider and what it carries.
|
|
25
|
+
* The statically-declared injections were already checked at run start;
|
|
26
|
+
* this catches what only appears at runtime (a hand-built memory-recall
|
|
27
|
+
* subflow formatting recall as a non-system role).
|
|
28
|
+
* 2. PLACEMENT (D3, deferral) — the role would collide with the turn at the
|
|
29
|
+
* end of the window, or the tail is waiting on a tool result. Recorded on
|
|
30
|
+
* `messagesDelivery.deferred` with a sentence, and retried unchanged at
|
|
31
|
+
* the next boundary. Never dropped, never reordered.
|
|
32
|
+
* 3. ALREADY THERE (dedupe) — this exact declaration has been delivered in
|
|
33
|
+
* this run. Deliberately silent: it is not a refusal, it is the absence
|
|
34
|
+
* of a second event.
|
|
35
|
+
*
|
|
36
|
+
* A deferral stops that INJECTION for the iteration, not the whole stage: a
|
|
37
|
+
* later injection with a role that does fit still gets its slot. What it
|
|
38
|
+
* cannot do is jump the one in front of it within its own message list —
|
|
39
|
+
* order inside a declaration is the declaration's meaning.
|
|
40
|
+
*
|
|
41
|
+
* Writes (visible stage state — no new event contract; the per-slot route and
|
|
42
|
+
* delta ride the same way):
|
|
43
|
+
* history — the delivered messages, appended, marked
|
|
44
|
+
* messagesDelivery — this iteration's delivered + deferred record
|
|
45
|
+
* deliveredMessageKeys — the run's delivery ledger (dedupe)
|
|
46
|
+
*/
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.buildDeliverStage = exports.carriedRoles = void 0;
|
|
49
|
+
const types_js_1 = require("../../../adapters/types.js");
|
|
50
|
+
const messagesSlotRefusal_js_1 = require("../../../lib/injection-engine/messagesSlotRefusal.js");
|
|
51
|
+
const helpers_js_1 = require("../../slots/helpers.js");
|
|
52
|
+
const memoryRecallInjections_js_1 = require("../memoryRecallInjections.js");
|
|
53
|
+
const rules_js_1 = require("../delivery/rules.js");
|
|
54
|
+
/** What a provider carries inside `messages`, with the floor applied. */
|
|
55
|
+
function carriedRoles(provider) {
|
|
56
|
+
return provider.carriesInMessages ?? types_js_1.DEFAULT_CARRIES_IN_MESSAGES;
|
|
57
|
+
}
|
|
58
|
+
exports.carriedRoles = carriedRoles;
|
|
59
|
+
/** Build the delivery stage. */
|
|
60
|
+
function buildDeliverStage(deps) {
|
|
61
|
+
const carries = carriedRoles(deps.provider);
|
|
62
|
+
const carriesSet = new Set(carries);
|
|
63
|
+
return (scope) => {
|
|
64
|
+
const active = (0, memoryRecallInjections_js_1.withMemoryRecall)(scope.activeInjections, scope, deps.memoryIds);
|
|
65
|
+
const iteration = scope.iteration ?? 1;
|
|
66
|
+
// Materialise the window: `history` is a reactive proxy reference, and
|
|
67
|
+
// this stage appends to it.
|
|
68
|
+
const history = (scope.history ?? []).slice();
|
|
69
|
+
const incoming = scope.deliveredMessageKeys ?? [];
|
|
70
|
+
const ledger = new Set(incoming);
|
|
71
|
+
// The union that makes replay safe — see `keysInWindow`.
|
|
72
|
+
for (const key of (0, rules_js_1.keysInWindow)(history))
|
|
73
|
+
ledger.add(key);
|
|
74
|
+
const delivered = [];
|
|
75
|
+
const deferred = [];
|
|
76
|
+
for (const inj of active) {
|
|
77
|
+
const messages = inj.inject.messages ?? [];
|
|
78
|
+
for (const msg of messages) {
|
|
79
|
+
const key = (0, rules_js_1.deliveryKey)(inj.id, msg.role, msg.content);
|
|
80
|
+
if (ledger.has(key))
|
|
81
|
+
continue;
|
|
82
|
+
const role = msg.role;
|
|
83
|
+
if (!carriesSet.has(role)) {
|
|
84
|
+
// Fatal: silently re-roling would change who appears to speak, and
|
|
85
|
+
// silently dropping is the 7.19.1 lie this feature was built to end.
|
|
86
|
+
throw new Error((0, messagesSlotRefusal_js_1.messagesRoleRefusal)({
|
|
87
|
+
site: `Agent injection '${inj.id}'`,
|
|
88
|
+
role: msg.role,
|
|
89
|
+
providerName: deps.provider.name,
|
|
90
|
+
carries,
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
const refusal = (0, rules_js_1.refusalForPlacement)(history, role);
|
|
94
|
+
if (refusal !== undefined) {
|
|
95
|
+
deferred.push({
|
|
96
|
+
injectionId: inj.id,
|
|
97
|
+
flavor: inj.flavor,
|
|
98
|
+
role,
|
|
99
|
+
reason: refusal,
|
|
100
|
+
note: (0, messagesSlotRefusal_js_1.messagesDeferralNote)({
|
|
101
|
+
injectionId: inj.id,
|
|
102
|
+
role,
|
|
103
|
+
reason: refusal,
|
|
104
|
+
...((0, rules_js_1.tailWireRole)(history) !== undefined && { tailRole: (0, rules_js_1.tailWireRole)(history) }),
|
|
105
|
+
}),
|
|
106
|
+
});
|
|
107
|
+
// This injection's remaining messages wait too: delivering message 2
|
|
108
|
+
// without message 1 would reorder the declaration.
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
const wireIndex = history.length;
|
|
112
|
+
history.push({
|
|
113
|
+
role,
|
|
114
|
+
content: msg.content,
|
|
115
|
+
injectedBy: {
|
|
116
|
+
injectionId: inj.id,
|
|
117
|
+
flavor: inj.flavor,
|
|
118
|
+
...(inj.description !== undefined && { reason: inj.description }),
|
|
119
|
+
iteration,
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
ledger.add(key);
|
|
123
|
+
delivered.push({
|
|
124
|
+
injectionId: inj.id,
|
|
125
|
+
flavor: inj.flavor,
|
|
126
|
+
role,
|
|
127
|
+
wireIndex,
|
|
128
|
+
// The messages slot and the window stage both name a piece of
|
|
129
|
+
// context by `${role}:${index}:${content}`. Using the same formula
|
|
130
|
+
// here means injected, delivered and evicted all say one name.
|
|
131
|
+
contentHash: (0, helpers_js_1.fnv1a)(`${role}:${wireIndex}:${msg.content}`),
|
|
132
|
+
key,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// Record every iteration, including the empty one: "the stage looked and
|
|
137
|
+
// there was nothing to do" and "the stage never ran" are different facts
|
|
138
|
+
// about a run, and only one of them is visible in the chart.
|
|
139
|
+
scope.messagesDelivery = { iteration, delivered, deferred };
|
|
140
|
+
if (delivered.length > 0)
|
|
141
|
+
scope.history = history;
|
|
142
|
+
// Persist the ledger whenever it GREW, not only when this iteration
|
|
143
|
+
// delivered. It also grows by recovery — reading markers out of a window
|
|
144
|
+
// that a replay restored into a fresh scope — and those keys are the whole
|
|
145
|
+
// replay-safety argument. Dropping them because nothing happened to be
|
|
146
|
+
// delivered this pass would make "is this already in?" depend on whether an
|
|
147
|
+
// unrelated injection landed at the same moment, and would let a window
|
|
148
|
+
// strategy's later eviction resurrect a message the run had already sent.
|
|
149
|
+
// The ledger is a superset of what came in, so a size change is exact.
|
|
150
|
+
if (ledger.size !== incoming.length)
|
|
151
|
+
scope.deliveredMessageKeys = [...ledger];
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
exports.buildDeliverStage = buildDeliverStage;
|
|
155
|
+
//# sourceMappingURL=deliver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deliver.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/deliver.ts"],"names":[],"mappings":"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"}
|
|
@@ -125,6 +125,10 @@ function seedFrom(scope, message, deps) {
|
|
|
125
125
|
scope.activeInjections = [];
|
|
126
126
|
scope.activatedInjectionIds = [];
|
|
127
127
|
scope.dynamicToolSchemas = deps.toolSchemas;
|
|
128
|
+
// Messages-slot delivery ledger (7.21) — empty at the start of every run.
|
|
129
|
+
// A resumed run rebuilds it from the markers in the restored window rather
|
|
130
|
+
// than trusting this, so an empty ledger never means "deliver it again".
|
|
131
|
+
scope.deliveredMessageKeys = [];
|
|
128
132
|
// Cache layer state (v2.6) — initialized to inert defaults.
|
|
129
133
|
// CacheDecision subflow populates `cacheMarkers` per iteration;
|
|
130
134
|
// UpdateSkillHistory + CacheGate consume `cachingDisabled`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/seed.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/seed.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAIH,uEAAiE;AAGjE,2DAA4D;AAC5D,uDAA0D;AAoD1D;;;;GAIG;AACH,SAAgB,cAAc,CAC5B,IAAmB;IAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAC3C,uEAAuE;IACvE,yEAAyE;IACzE,6EAA6E;IAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,EAAE,EAAE;YACf,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAc,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAe,EAAC,KAAK,EAAE;YAC3C,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,EAAE;YACX,qDAAqD;YACrD,SAAS,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;SAClD,CAAC,CAAC;QACH,IAAA,2BAAe,EAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,gEAAgE;YAChE,uEAAuE;YACvE,iEAAiE;YACjE,qEAAqE;YACrE,mEAAmE;YACnE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACvC,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;YAC3C,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC;YACnC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;YAC3C,kEAAkE;YAClE,wDAAwD;YACxD,KAAK,CAAC,MAAM,CAAC,4BAA4B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC;AAxCD,wCAwCC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,KAA6B,EAAE,OAAe,EAAE,IAAmB;IACnF,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAc,CAAC;IAC1C,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;IAE5B,4DAA4D;IAC5D,6DAA6D;IAC7D,2DAA2D;IAC3D,0DAA0D;IAC1D,uCAAuC;IACvC,MAAM,aAAa,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACzD,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,+DAA+D;IAC/D,6DAA6D;IAC7D,2CAA2C;IAC3C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,IAAI;QACnC,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,SAAS;KACpD,CAAC;IACF,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;IACvB,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IACrB,gEAAgE;IAChE,mEAAmE;IACnE,mEAAmE;IACnE,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC;IACtC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACzC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;IACxB,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC3B,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC5B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC;IAClC,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC9B,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;IAC3B,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC5B,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC9B,qEAAqE;IACrE,gEAAgE;IAChE,gEAAgE;IAChE,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;IAC1B,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC5B,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;IAC1B,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC5B,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;IACzB,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;IAC1B,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;IAC1B,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;IAC5B,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC5B,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC;IACjC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC;IAC5C,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC;IAChC,4DAA4D;IAC5D,gEAAgE;IAChE,4DAA4D;IAC5D,2DAA2D;IAC3D,2DAA2D;IAC3D,6DAA6D;IAC7D,gCAAgC;IAChC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;IACxB,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IAC7C,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;IACxB,6EAA6E;IAC7E,6EAA6E;IAC7E,kEAAkE;IAClE,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IAEjC,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,6CAA6C;IAC7C,EAAE;IACF,wEAAwE;IACxE,uEAAuE;IACvE,uCAAuC;IACvC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;QACxE,IAAI,QAAQ,EAAE,YAAY,KAAK,SAAS;YAAE,KAAK,CAAC,oBAAoB,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC/F,CAAC;IAED,IAAA,wBAAS,EAAC,KAAK,EAAE,iCAAiC,EAAE;QAClD,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,OAAO;KACpB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -18,13 +18,20 @@
|
|
|
18
18
|
* the LLM-protocol shape a provider needs — an assistant turn's
|
|
19
19
|
* `toolCalls[]`, a tool turn's `toolCallId`.
|
|
20
20
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
21
|
+
* Nothing enters the conversation HERE, and that is the point. Two stages
|
|
22
|
+
* upstream edit `scope.history` before this one reads it: the window
|
|
23
|
+
* strategy takes messages out (`stages/window.ts`, 7.16–7.17) and the
|
|
24
|
+
* delivery stage lets declared ones in (`stages/deliver.ts`, 7.21). Both run
|
|
25
|
+
* at the loop head, before the slots, so the projection and the wire always
|
|
26
|
+
* describe the same past.
|
|
27
|
+
*
|
|
28
|
+
* That is why this file no longer walks `activeInjections` looking for
|
|
29
|
+
* `inject.messages`. Until 7.19.1 it did, and it produced a record — an
|
|
30
|
+
* emitted `context.injected` — for content the request never carried, which
|
|
31
|
+
* is the exact bug the wire-truth test now guards. A delivered injection is
|
|
32
|
+
* IN the window by the time this runs, so it is projected like any other
|
|
33
|
+
* message and attributed to its injection by the `injectedBy` marker the
|
|
34
|
+
* delivery stage stamped. One wire message, one record, one name.
|
|
28
35
|
*/
|
|
29
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
37
|
exports.buildMessagesSlot = void 0;
|
|
@@ -49,47 +56,35 @@ function buildMessagesSlot(config = {}) {
|
|
|
49
56
|
const args = scope.$getArgs();
|
|
50
57
|
const messages = args.messages ?? [];
|
|
51
58
|
const iteration = args.iteration ?? 1;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
slot: 'messages',
|
|
82
|
-
source: inj.flavor,
|
|
83
|
-
sourceId: inj.id,
|
|
84
|
-
reason: inj.description ?? `${inj.flavor} '${inj.id}' active`,
|
|
85
|
-
rawContent: msg.content,
|
|
86
|
-
asRole: msg.role,
|
|
87
|
-
asRecency: 'latest',
|
|
88
|
-
position,
|
|
89
|
-
});
|
|
90
|
-
position++;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
59
|
+
// ONE record per message on the wire. Every message in the window gets
|
|
60
|
+
// exactly one, and the only question is who to credit: a message the
|
|
61
|
+
// Deliver stage let in carries `injectedBy`, so it is attributed to its
|
|
62
|
+
// injection (flavor / id / description); everything else is baseline
|
|
63
|
+
// conversation flow, attributed by role.
|
|
64
|
+
//
|
|
65
|
+
// The content hash is the SAME formula for both, deliberately. The
|
|
66
|
+
// window stage reports an eviction under `${role}:${index}:${content}`,
|
|
67
|
+
// so an injected message and the eviction that later removes it name
|
|
68
|
+
// one piece of context by one name — which they would not if a
|
|
69
|
+
// delivered message got its own hash scheme.
|
|
70
|
+
const injections = messages.map((m, i) => {
|
|
71
|
+
const by = m.injectedBy;
|
|
72
|
+
return {
|
|
73
|
+
contentSummary: (0, helpers_js_1.truncate)(m.content, 80),
|
|
74
|
+
contentHash: (0, helpers_js_1.fnv1a)(`${m.role}:${i}:${m.content}`),
|
|
75
|
+
slot: 'messages',
|
|
76
|
+
source: by ? by.flavor : inferSource(m.role),
|
|
77
|
+
reason: by
|
|
78
|
+
? by.reason ?? `${by.flavor} '${by.injectionId}' delivered at iteration ${by.iteration}`
|
|
79
|
+
: `conversation history [${i}]`,
|
|
80
|
+
rawContent: m.content,
|
|
81
|
+
asRole: m.role,
|
|
82
|
+
asRecency: (i === messages.length - 1 ? 'latest' : 'earlier'),
|
|
83
|
+
position: i,
|
|
84
|
+
...(by !== undefined && { sourceId: by.injectionId }),
|
|
85
|
+
...(by === undefined && m.toolCallId !== undefined && { sourceId: m.toolCallId }),
|
|
86
|
+
};
|
|
87
|
+
});
|
|
93
88
|
scope.$setValue(conventions_js_1.INJECTION_KEYS.MESSAGES, injections);
|
|
94
89
|
const composition = (0, helpers_js_1.composeSlot)('messages', iteration, injections, budgetCap, 'history-order');
|
|
95
90
|
scope.$setValue(types_js_1.COMPOSITION_KEYS.SLOT_COMPOSED, composition);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildMessagesSlot.js","sourceRoot":"","sources":["../../../src/core/slots/buildMessagesSlot.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"buildMessagesSlot.js","sourceRoot":"","sources":["../../../src/core/slots/buildMessagesSlot.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
* `node:fs` and nothing else; the event-backed one lazy-loads the AWS SDK, so
|
|
45
45
|
* importing this module costs zero peer-dep load.
|
|
46
46
|
*/
|
|
47
|
+
/// <reference types="node" />
|
|
47
48
|
import type { HttpHost, HttpWire } from '../../hosting/httpHost.js';
|
|
48
49
|
import type { CheckpointEnvelope, SessionLifecycle } from '../../hosting/types.js';
|
|
49
50
|
/** Options for {@link agentCoreRuntimeHost}. */
|
|
@@ -68,6 +69,32 @@ export interface AgentCoreRuntimeHostOptions {
|
|
|
68
69
|
* honest answer for an agent that answers synchronously.
|
|
69
70
|
*/
|
|
70
71
|
readonly busy?: () => boolean;
|
|
72
|
+
/**
|
|
73
|
+
* A `node:http` server **you** own, already listening. Given one, this
|
|
74
|
+
* adapter attaches `/invocations` and `/ping` to it instead of binding a
|
|
75
|
+
* socket of its own — which is the only way to serve something else on the
|
|
76
|
+
* same port, and a container gets one port.
|
|
77
|
+
*
|
|
78
|
+
* The case this exists for: a container that must also answer a WebSocket
|
|
79
|
+
* upgrade beside the runtime's two routes. Add your `'upgrade'` listener to
|
|
80
|
+
* the server, listen on 8080 yourself, and attach the agent to it.
|
|
81
|
+
*
|
|
82
|
+
* Every law is `httpHost`'s: unmatched paths are YOURS (this adapter writes
|
|
83
|
+
* no 404 on a server it does not own), and `close()` detaches and drains
|
|
84
|
+
* without closing your socket. `port` and `hostname` are refused alongside
|
|
85
|
+
* it — a server you own already has an address.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* const server = createServer();
|
|
89
|
+
* server.on('upgrade', handleWebSocket);
|
|
90
|
+
* await new Promise<void>((r) => server.listen(8080, '0.0.0.0', r));
|
|
91
|
+
* const handle = await standingAgent({
|
|
92
|
+
* agent,
|
|
93
|
+
* host: agentCoreRuntimeHost({ server }),
|
|
94
|
+
* sessions: agentCoreSessions({ store: 'session-storage' }),
|
|
95
|
+
* });
|
|
96
|
+
*/
|
|
97
|
+
readonly server?: import('node:http').Server;
|
|
71
98
|
}
|
|
72
99
|
/**
|
|
73
100
|
* The AgentCore Runtime contract as an {@link HttpWire}.
|
|
@@ -131,8 +131,18 @@ export function agentCoreRuntimeHost(options = {}) {
|
|
|
131
131
|
wire: agentCoreRuntimeWire(options.busy),
|
|
132
132
|
invokePath: INVOKE_PATH,
|
|
133
133
|
healthPath: HEALTH_PATH,
|
|
134
|
-
|
|
135
|
-
|
|
134
|
+
// With a caller-owned server this adapter binds nothing, so it must not
|
|
135
|
+
// invent the contract's port either — the port is whatever the caller
|
|
136
|
+
// listened on, and passing one anyway is refused by `httpHost` rather than
|
|
137
|
+
// quietly ignored. An explicitly passed port still travels, so that refusal
|
|
138
|
+
// reaches a caller who asked for both.
|
|
139
|
+
...(options.server !== undefined
|
|
140
|
+
? {
|
|
141
|
+
server: options.server,
|
|
142
|
+
...(options.port !== undefined && { port: options.port }),
|
|
143
|
+
...(options.hostname !== undefined && { hostname: options.hostname }),
|
|
144
|
+
}
|
|
145
|
+
: { port: options.port ?? RUNTIME_PORT, hostname: options.hostname ?? '0.0.0.0' }),
|
|
136
146
|
});
|
|
137
147
|
}
|
|
138
148
|
/** The default file the `'session-storage'` mode writes to. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/hosting/agentcore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,wEAAwE;AAExE,MAAM,SAAS,GAAG,sBAAsB,CAAC;AAEzC,wFAAwF;AACxF,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,MAAM,WAAW,GAAG,OAAO,CAAC;AAC5B,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B;;;;GAIG;AACH,MAAM,cAAc,GAAG,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/hosting/agentcore.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* • `responseFormat` (JSON-Schema-coerced output) NOT exposed
|
|
17
17
|
* — consumers can pass schema instructions via `systemPrompt`.
|
|
18
18
|
*/
|
|
19
|
-
import type { LLMCallHooks, LLMChunk, LLMProvider, LLMRequest, LLMResponse } from '../types.js';
|
|
19
|
+
import type { LLMCallHooks, LLMChunk, LLMProvider, LLMRequest, LLMResponse, WireRole } from '../types.js';
|
|
20
20
|
interface AnthropicClient {
|
|
21
21
|
messages: {
|
|
22
22
|
create(params: AnthropicCreateParams): Promise<AnthropicMessage>;
|
|
@@ -167,6 +167,7 @@ export declare function anthropic(options?: AnthropicProviderOptions): LLMProvid
|
|
|
167
167
|
*/
|
|
168
168
|
export declare class AnthropicProvider implements LLMProvider {
|
|
169
169
|
readonly name = "anthropic";
|
|
170
|
+
readonly carriesInMessages: readonly WireRole[];
|
|
170
171
|
private readonly inner;
|
|
171
172
|
constructor(options?: AnthropicProviderOptions);
|
|
172
173
|
complete(req: LLMRequest, hooks?: LLMCallHooks): Promise<LLMResponse>;
|
|
@@ -17,6 +17,16 @@
|
|
|
17
17
|
* — consumers can pass schema instructions via `systemPrompt`.
|
|
18
18
|
*/
|
|
19
19
|
import { lazyRequire } from '../../lib/lazyRequire.js';
|
|
20
|
+
/**
|
|
21
|
+
* Which roles this wire carries inside `messages`.
|
|
22
|
+
*
|
|
23
|
+
* `'system'` is ABSENT and that is the wire's own rule, not a policy choice:
|
|
24
|
+
* `toAnthropicMessages` drops a `role: 'system'` message because Anthropic
|
|
25
|
+
* takes the system prompt as a separate top-level field. Declaring the truth
|
|
26
|
+
* here is what lets a `slot: 'messages'` injection be refused at run start
|
|
27
|
+
* rather than silently vanish between the recording and the request.
|
|
28
|
+
*/
|
|
29
|
+
const CARRIES_IN_MESSAGES = Object.freeze(['user', 'assistant']);
|
|
20
30
|
/**
|
|
21
31
|
* Build an `LLMProvider` backed by Anthropic's Messages API.
|
|
22
32
|
*
|
|
@@ -38,6 +48,7 @@ export function anthropic(options = {}) {
|
|
|
38
48
|
const parallelToolCalls = options.parallelToolCalls;
|
|
39
49
|
const provider = {
|
|
40
50
|
name: 'anthropic',
|
|
51
|
+
carriesInMessages: CARRIES_IN_MESSAGES,
|
|
41
52
|
async complete(req) {
|
|
42
53
|
const params = buildParams(req, defaultModel, defaultMaxTokens, parallelToolCalls);
|
|
43
54
|
try {
|
|
@@ -84,6 +95,7 @@ export function anthropic(options = {}) {
|
|
|
84
95
|
*/
|
|
85
96
|
export class AnthropicProvider {
|
|
86
97
|
name = 'anthropic';
|
|
98
|
+
carriesInMessages = CARRIES_IN_MESSAGES;
|
|
87
99
|
inner;
|
|
88
100
|
constructor(options = {}) {
|
|
89
101
|
this.inner = anthropic(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/AnthropicProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/AnthropicProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* • Guardrail integration NOT exposed yet — pass via the SDK client
|
|
27
27
|
* directly if needed.
|
|
28
28
|
*/
|
|
29
|
-
import type { LLMCallHooks, LLMChunk, LLMProvider, LLMRequest, LLMResponse } from '../types.js';
|
|
29
|
+
import type { LLMCallHooks, LLMChunk, LLMProvider, LLMRequest, LLMResponse, WireRole } from '../types.js';
|
|
30
30
|
interface BedrockClient {
|
|
31
31
|
send(command: unknown): Promise<unknown>;
|
|
32
32
|
}
|
|
@@ -140,6 +140,7 @@ export interface BedrockProviderOptions {
|
|
|
140
140
|
export declare function bedrock(options?: BedrockProviderOptions): LLMProvider;
|
|
141
141
|
export declare class BedrockProvider implements LLMProvider {
|
|
142
142
|
readonly name = "bedrock";
|
|
143
|
+
readonly carriesInMessages: readonly WireRole[];
|
|
143
144
|
private readonly inner;
|
|
144
145
|
constructor(options?: BedrockProviderOptions);
|
|
145
146
|
complete(req: LLMRequest, hooks?: LLMCallHooks): Promise<LLMResponse>;
|
|
@@ -27,12 +27,23 @@
|
|
|
27
27
|
* directly if needed.
|
|
28
28
|
*/
|
|
29
29
|
import { lazyRequire } from '../../lib/lazyRequire.js';
|
|
30
|
+
/**
|
|
31
|
+
* Which roles this wire carries inside `messages`.
|
|
32
|
+
*
|
|
33
|
+
* `'system'` is ABSENT and that is the wire's own rule, not a policy choice:
|
|
34
|
+
* `toAnthropicMessages` drops a `role: 'system'` message because Anthropic
|
|
35
|
+
* takes the system prompt as a separate top-level field. Declaring the truth
|
|
36
|
+
* here is what lets a `slot: 'messages'` injection be refused at run start
|
|
37
|
+
* rather than silently vanish between the recording and the request.
|
|
38
|
+
*/
|
|
39
|
+
const CARRIES_IN_MESSAGES = Object.freeze(['user', 'assistant']);
|
|
30
40
|
export function bedrock(options = {}) {
|
|
31
41
|
const { client, Commands } = resolveClient(options);
|
|
32
42
|
const defaultModel = options.defaultModel ?? 'anthropic.claude-sonnet-4-5-20250929-v1:0';
|
|
33
43
|
const defaultMaxTokens = options.defaultMaxTokens ?? 4096;
|
|
34
44
|
const provider = {
|
|
35
45
|
name: 'bedrock',
|
|
46
|
+
carriesInMessages: CARRIES_IN_MESSAGES,
|
|
36
47
|
async complete(req) {
|
|
37
48
|
const input = buildInput(req, defaultModel, defaultMaxTokens);
|
|
38
49
|
try {
|
|
@@ -146,6 +157,7 @@ export function bedrock(options = {}) {
|
|
|
146
157
|
}
|
|
147
158
|
export class BedrockProvider {
|
|
148
159
|
name = 'bedrock';
|
|
160
|
+
carriesInMessages = CARRIES_IN_MESSAGES;
|
|
149
161
|
inner;
|
|
150
162
|
constructor(options = {}) {
|
|
151
163
|
this.inner = bedrock(options);
|