agentfootprint 7.23.0 → 7.25.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.
Files changed (150) hide show
  1. package/README.md +34 -0
  2. package/dist/adapters/hosting/agentcore.js +112 -1
  3. package/dist/adapters/hosting/agentcore.js.map +1 -1
  4. package/dist/core/agent/AgentBuilder.js +117 -1
  5. package/dist/core/agent/AgentBuilder.js.map +1 -1
  6. package/dist/core/agent/act.js +143 -0
  7. package/dist/core/agent/act.js.map +1 -0
  8. package/dist/core/agent/middleware/index.js +5 -0
  9. package/dist/core/agent/middleware/index.js.map +1 -1
  10. package/dist/core/agent/middleware/ledger.js +7 -0
  11. package/dist/core/agent/middleware/ledger.js.map +1 -1
  12. package/dist/core/agent/middleware/outcomes.js +9 -2
  13. package/dist/core/agent/middleware/outcomes.js.map +1 -1
  14. package/dist/core/agent/middleware/runChain.js +97 -3
  15. package/dist/core/agent/middleware/runChain.js.map +1 -1
  16. package/dist/core/agent/middleware/types.js +30 -0
  17. package/dist/core/agent/middleware/types.js.map +1 -1
  18. package/dist/core/agent/moments.js +53 -0
  19. package/dist/core/agent/moments.js.map +1 -0
  20. package/dist/core/agent/stages/toolCalls.js +130 -7
  21. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  22. package/dist/esm/adapters/hosting/agentcore.d.ts +50 -1
  23. package/dist/esm/adapters/hosting/agentcore.js +110 -0
  24. package/dist/esm/adapters/hosting/agentcore.js.map +1 -1
  25. package/dist/esm/core/agent/AgentBuilder.d.ts +71 -0
  26. package/dist/esm/core/agent/AgentBuilder.js +117 -1
  27. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  28. package/dist/esm/core/agent/act.d.ts +69 -0
  29. package/dist/esm/core/agent/act.js +139 -0
  30. package/dist/esm/core/agent/act.js.map +1 -0
  31. package/dist/esm/core/agent/middleware/index.d.ts +6 -1
  32. package/dist/esm/core/agent/middleware/index.js +5 -0
  33. package/dist/esm/core/agent/middleware/index.js.map +1 -1
  34. package/dist/esm/core/agent/middleware/ledger.d.ts +6 -0
  35. package/dist/esm/core/agent/middleware/ledger.js +7 -0
  36. package/dist/esm/core/agent/middleware/ledger.js.map +1 -1
  37. package/dist/esm/core/agent/middleware/outcomes.d.ts +15 -0
  38. package/dist/esm/core/agent/middleware/outcomes.js +9 -2
  39. package/dist/esm/core/agent/middleware/outcomes.js.map +1 -1
  40. package/dist/esm/core/agent/middleware/runChain.d.ts +47 -0
  41. package/dist/esm/core/agent/middleware/runChain.js +95 -2
  42. package/dist/esm/core/agent/middleware/runChain.js.map +1 -1
  43. package/dist/esm/core/agent/middleware/types.d.ts +132 -10
  44. package/dist/esm/core/agent/middleware/types.js +30 -0
  45. package/dist/esm/core/agent/middleware/types.js.map +1 -1
  46. package/dist/esm/core/agent/moments.d.ts +55 -0
  47. package/dist/esm/core/agent/moments.js +49 -0
  48. package/dist/esm/core/agent/moments.js.map +1 -0
  49. package/dist/esm/core/agent/stages/toolCalls.d.ts +6 -1
  50. package/dist/esm/core/agent/stages/toolCalls.js +131 -8
  51. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  52. package/dist/esm/events/payloads.d.ts +4 -0
  53. package/dist/esm/hosting/errors.d.ts +44 -2
  54. package/dist/esm/hosting/errors.js +63 -0
  55. package/dist/esm/hosting/errors.js.map +1 -1
  56. package/dist/esm/hosting/headers.d.ts +16 -0
  57. package/dist/esm/hosting/headers.js +24 -0
  58. package/dist/esm/hosting/headers.js.map +1 -0
  59. package/dist/esm/hosting/httpHost.d.ts +70 -4
  60. package/dist/esm/hosting/httpHost.js +211 -47
  61. package/dist/esm/hosting/httpHost.js.map +1 -1
  62. package/dist/esm/hosting/index.d.ts +23 -8
  63. package/dist/esm/hosting/index.js +21 -6
  64. package/dist/esm/hosting/index.js.map +1 -1
  65. package/dist/esm/hosting/nodeHost.d.ts +23 -0
  66. package/dist/esm/hosting/nodeHost.js +21 -1
  67. package/dist/esm/hosting/nodeHost.js.map +1 -1
  68. package/dist/esm/hosting/types.d.ts +212 -6
  69. package/dist/esm/hosting/types.js +7 -5
  70. package/dist/esm/hosting/types.js.map +1 -1
  71. package/dist/esm/hosting/webSocketConversation.d.ts +101 -0
  72. package/dist/esm/hosting/webSocketConversation.js +341 -0
  73. package/dist/esm/hosting/webSocketConversation.js.map +1 -0
  74. package/dist/esm/hosting/webSocketFrames.d.ts +164 -0
  75. package/dist/esm/hosting/webSocketFrames.js +284 -0
  76. package/dist/esm/hosting/webSocketFrames.js.map +1 -0
  77. package/dist/esm/hosting-providers.d.ts +7 -2
  78. package/dist/esm/hosting-providers.js +7 -2
  79. package/dist/esm/hosting-providers.js.map +1 -1
  80. package/dist/esm/index.d.ts +3 -1
  81. package/dist/esm/index.js +7 -0
  82. package/dist/esm/index.js.map +1 -1
  83. package/dist/esm/lib/mcp/mcpServe.js +25 -1
  84. package/dist/esm/lib/mcp/mcpServe.js.map +1 -1
  85. package/dist/hosting/errors.js +66 -1
  86. package/dist/hosting/errors.js.map +1 -1
  87. package/dist/hosting/headers.js +28 -0
  88. package/dist/hosting/headers.js.map +1 -0
  89. package/dist/hosting/httpHost.js +211 -47
  90. package/dist/hosting/httpHost.js.map +1 -1
  91. package/dist/hosting/index.js +23 -6
  92. package/dist/hosting/index.js.map +1 -1
  93. package/dist/hosting/nodeHost.js +20 -0
  94. package/dist/hosting/nodeHost.js.map +1 -1
  95. package/dist/hosting/types.js +7 -5
  96. package/dist/hosting/types.js.map +1 -1
  97. package/dist/hosting/webSocketConversation.js +345 -0
  98. package/dist/hosting/webSocketConversation.js.map +1 -0
  99. package/dist/hosting/webSocketFrames.js +297 -0
  100. package/dist/hosting/webSocketFrames.js.map +1 -0
  101. package/dist/hosting-providers.js +8 -2
  102. package/dist/hosting-providers.js.map +1 -1
  103. package/dist/index.js +12 -2
  104. package/dist/index.js.map +1 -1
  105. package/dist/lib/mcp/mcpServe.js +24 -0
  106. package/dist/lib/mcp/mcpServe.js.map +1 -1
  107. package/dist/types/adapters/hosting/agentcore.d.ts +50 -1
  108. package/dist/types/adapters/hosting/agentcore.d.ts.map +1 -1
  109. package/dist/types/core/agent/AgentBuilder.d.ts +71 -0
  110. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  111. package/dist/types/core/agent/act.d.ts +70 -0
  112. package/dist/types/core/agent/act.d.ts.map +1 -0
  113. package/dist/types/core/agent/middleware/index.d.ts +6 -1
  114. package/dist/types/core/agent/middleware/index.d.ts.map +1 -1
  115. package/dist/types/core/agent/middleware/ledger.d.ts +6 -0
  116. package/dist/types/core/agent/middleware/ledger.d.ts.map +1 -1
  117. package/dist/types/core/agent/middleware/outcomes.d.ts +15 -0
  118. package/dist/types/core/agent/middleware/outcomes.d.ts.map +1 -1
  119. package/dist/types/core/agent/middleware/runChain.d.ts +47 -0
  120. package/dist/types/core/agent/middleware/runChain.d.ts.map +1 -1
  121. package/dist/types/core/agent/middleware/types.d.ts +132 -10
  122. package/dist/types/core/agent/middleware/types.d.ts.map +1 -1
  123. package/dist/types/core/agent/moments.d.ts +56 -0
  124. package/dist/types/core/agent/moments.d.ts.map +1 -0
  125. package/dist/types/core/agent/stages/toolCalls.d.ts +6 -1
  126. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  127. package/dist/types/events/payloads.d.ts +4 -0
  128. package/dist/types/events/payloads.d.ts.map +1 -1
  129. package/dist/types/hosting/errors.d.ts +44 -2
  130. package/dist/types/hosting/errors.d.ts.map +1 -1
  131. package/dist/types/hosting/headers.d.ts +17 -0
  132. package/dist/types/hosting/headers.d.ts.map +1 -0
  133. package/dist/types/hosting/httpHost.d.ts +70 -4
  134. package/dist/types/hosting/httpHost.d.ts.map +1 -1
  135. package/dist/types/hosting/index.d.ts +23 -8
  136. package/dist/types/hosting/index.d.ts.map +1 -1
  137. package/dist/types/hosting/nodeHost.d.ts +23 -0
  138. package/dist/types/hosting/nodeHost.d.ts.map +1 -1
  139. package/dist/types/hosting/types.d.ts +212 -6
  140. package/dist/types/hosting/types.d.ts.map +1 -1
  141. package/dist/types/hosting/webSocketConversation.d.ts +102 -0
  142. package/dist/types/hosting/webSocketConversation.d.ts.map +1 -0
  143. package/dist/types/hosting/webSocketFrames.d.ts +165 -0
  144. package/dist/types/hosting/webSocketFrames.d.ts.map +1 -0
  145. package/dist/types/hosting-providers.d.ts +7 -2
  146. package/dist/types/hosting-providers.d.ts.map +1 -1
  147. package/dist/types/index.d.ts +3 -1
  148. package/dist/types/index.d.ts.map +1 -1
  149. package/dist/types/lib/mcp/mcpServe.d.ts.map +1 -1
  150. package/package.json +1 -1
package/README.md CHANGED
@@ -590,6 +590,40 @@ npm run example examples/features/34-checkin-coworker.ts -- --decline
590
590
 
591
591
  See the [Check-in guide](https://footprintjs.github.io/agentfootprint/docs/monitor/checkin/).
592
592
 
593
+ ### Act — everything your agent does about its own loop, in one block
594
+
595
+ **Tools do the work. Act decides about the work. Watch remembers both — and nothing can act without being watched.**
596
+
597
+ <p align="center">
598
+ <picture>
599
+ <source media="(prefers-color-scheme: dark)" srcset="docs/assets/loop-moments-dark.svg">
600
+ <source media="(prefers-color-scheme: light)" srcset="docs/assets/loop-moments-light.svg">
601
+ <img alt="One agent turn drawn as a circle. The message enters through the INPUT gate; the loop runs clockwise past the WINDOW gate (what the live context keeps), the context slots and the model call, the BEFORE-TOOL gate (every call, before dispatch), the tool actually running, the AFTER-TOOL gate (every result, before the model reads it) and the end of the iteration; the answer leaves through the OUTPUT gate. Five amber gates are the moments .act() can change; purple watch-dots sit at every moment, including the ones with no gate, because watch attends all of them and cannot be switched off." src="docs/assets/loop-moments-light.svg" width="100%"/>
602
+ </picture>
603
+ </p>
604
+
605
+ ```ts
606
+ const agent = Agent.create({ provider, model })
607
+ .act({
608
+ input: [scrubSSNs], // the message, before the run commits it
609
+ beforeTool: [refundCeiling, fourEyes], // every call, before it is dispatched
610
+ afterTool: [stripPII], // every result, before the model reads it
611
+ window: slidingWindow({ keepRecentTurns: 12 }), // what the live window keeps
612
+ output: [noCodenames], // the answer, before the caller gets it
613
+ })
614
+ .build();
615
+ ```
616
+
617
+ Five keys, one per moment, in the order the loop reaches them — so autocomplete on an empty `{}` teaches the loop. Every rule answers `allow()`, `allow(value, why)` or `deny(reason)` (and `ask({ question })` where a person can still change the outcome), **and none of them can answer for the tool**: the outcome union has no result arm, so what the model finally reads is the real tool's output or a refusal. Every decision files a ledger row stamped with its `moment`.
618
+
619
+ It is pure sugar over the five individual doors, pinned byte-equivalent per key — and the bundle's keys are locked against `LoopMoment` at compile time, so a sixth moment cannot ship without a key for it.
620
+
621
+ ```bash
622
+ npm run example examples/features/38-act.ts
623
+ ```
624
+
625
+ See [The moments of the loop](https://footprintjs.github.io/agentfootprint/docs/build/loop-moments/).
626
+
593
627
  ---
594
628
 
595
629
  ## 🐛 Debug — see what your agent did
@@ -24,12 +24,26 @@
24
24
  *
25
25
  * POST /invocations JSON `{ "prompt": "..." }` → JSON `{ "response", "status" }`
26
26
  * GET /ping → `{ "status": "Healthy", "time_of_last_update": <unix seconds> }`
27
+ * GET /ws a bidirectional WebSocket, on the SAME port
27
28
  *
28
29
  * and the caller's conversation arrives in the
29
30
  * `X-Amzn-Bedrock-AgentCore-Runtime-Session-Id` header rather than in the body,
30
31
  * which is the one thing paths-and-bodies configuration alone could not
31
32
  * express before this release.
32
33
  *
34
+ * ── The second door ──────────────────────────────────────────────────────────
35
+ * `/ws` is this runtime's answer for a caller that cannot host an inbound
36
+ * endpoint — a browser, most obviously — and so dials out and parks a channel
37
+ * instead. It is the same container and the same port, which is exactly why the
38
+ * two doors here share one socket.
39
+ *
40
+ * Its wire facts are ADAPTER facts and live nowhere but this file: 32KB frames,
41
+ * a 15-minute idle ceiling, the bearer credential carried as a
42
+ * `Sec-WebSocket-Protocol` offer because a browser's WebSocket API cannot set a
43
+ * header, and session affinity that has to be readable from the query string
44
+ * for the same reason. The port knows none of it — it is handed a session id
45
+ * and a header bag, the same two things every other transport hands it.
46
+ *
33
47
  * ── Verification status, stated plainly ──────────────────────────────────────
34
48
  * `agentCoreRuntimeHost` is **plain HTTP and is really verified**: it runs the
35
49
  * same host conformance suite as `nodeHost`, over a real socket, in
@@ -78,7 +92,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
78
92
  return result;
79
93
  };
80
94
  Object.defineProperty(exports, "__esModule", { value: true });
81
- exports.agentCoreSessions = exports.DEFAULT_SESSION_STORAGE_PATH = exports.agentCoreRuntimeHost = exports.agentCoreRuntimeWire = void 0;
95
+ exports.agentCoreSessions = exports.DEFAULT_SESSION_STORAGE_PATH = exports.agentCoreRuntimeHost = exports.readAgentCoreConversation = exports.agentCoreRuntimeWire = void 0;
82
96
  const envelope_js_1 = require("../../hosting/envelope.js");
83
97
  const httpHost_js_1 = require("../../hosting/httpHost.js");
84
98
  const lazyRequire_js_1 = require("../../lib/lazyRequire.js");
@@ -87,6 +101,7 @@ const HOST_NAME = 'agentCoreRuntimeHost';
87
101
  /** The runtime's container contract, as constants rather than as scattered literals. */
88
102
  const INVOKE_PATH = '/invocations';
89
103
  const HEALTH_PATH = '/ping';
104
+ const CONVERSATION_PATH = '/ws';
90
105
  const RUNTIME_PORT = 8080;
91
106
  /**
92
107
  * The header the runtime puts the caller's conversation in. Matched
@@ -94,6 +109,34 @@ const RUNTIME_PORT = 8080;
94
109
  * front of the container is free to re-case them.
95
110
  */
96
111
  const SESSION_HEADER = 'X-Amzn-Bedrock-AgentCore-Runtime-Session-Id';
112
+ /**
113
+ * What the `/ws` door caps, as the runtime imposes it — **32KB per frame and a
114
+ * 15-minute idle timeout.**
115
+ *
116
+ * Declared rather than worked around. A 32KB cap hidden inside auto-chunking
117
+ * would have this adapter deciding, for every consumer at once, how a message
118
+ * is split and how the far side knows the last piece landed; a 15-minute idle
119
+ * answered with an invented heartbeat would put bytes on the wire that the
120
+ * consumer's parser never agreed to. Both belong to the protocol above this
121
+ * door, and both are actionable only if the number is visible.
122
+ *
123
+ * `maxFrameBytes` is enforced here, in both directions, because a frame past it
124
+ * would be cut by the front door anyway and a refusal that names the ceiling
125
+ * beats a truncation that does not. `idleMs` is REPORTED: the timeout belongs
126
+ * to what sits in front of this container, and the honest thing is to say so
127
+ * rather than to close a channel the runtime might have kept.
128
+ */
129
+ const CONVERSATION_LIMITS = { maxFrameBytes: 32_768, idleMs: 900_000 };
130
+ /**
131
+ * The subprotocol a browser offers to carry its bearer credential, because the
132
+ * WebSocket API gives it no way to send an `Authorization` header.
133
+ *
134
+ * Two spellings are recognised and both are ordinary browser-expressible ones:
135
+ * `['bearer', '<token>']` (two offers) and `['bearer.<token>']` (one). What is
136
+ * echoed back in the 101 is the word `bearer` and never the token — a
137
+ * credential belongs in a request, not in a response header a proxy may log.
138
+ */
139
+ const BEARER_SUBPROTOCOL = 'bearer';
97
140
  /**
98
141
  * The AgentCore Runtime contract as an {@link HttpWire}.
99
142
  *
@@ -144,9 +187,75 @@ function agentCoreRuntimeWire(busy) {
144
187
  // 'success' nor 'error' because it is neither: the run stopped to ask a
145
188
  // person, it is stored, and a later call carrying `decision` finishes it.
146
189
  awaiting: (pending) => ({ awaiting: pending, status: 'awaiting' }),
190
+ readConversation: readAgentCoreConversation,
147
191
  };
148
192
  }
149
193
  exports.agentCoreRuntimeWire = agentCoreRuntimeWire;
194
+ /**
195
+ * The `/ws` handshake, in this runtime's spelling: **header-or-query session
196
+ * affinity, and the bearer subprotocol mapped into headers.**
197
+ *
198
+ * ── Why the query string is read at all ──────────────────────────────────────
199
+ * The same header carries the session on `/invocations`, and it is preferred
200
+ * here too. But the caller this door exists for is a browser, and the browser
201
+ * WebSocket API cannot set a header — so a session id has nowhere to travel
202
+ * except the URL. Both the runtime's header name and the plain `sessionId` are
203
+ * accepted as query parameters, case-insensitively; **the header wins** when
204
+ * both arrive, so a caller that sets both is never surprised by which one the
205
+ * server preferred. That is the same precedence rule the request dialect uses.
206
+ *
207
+ * ── Why the credential becomes a header ──────────────────────────────────────
208
+ * A bearer token offered as a subprotocol is this runtime's spelling of
209
+ * `Authorization`, and a port field spelled the way one vendor spells it is how
210
+ * a port stops being one. So it lands in `headers.authorization` as
211
+ * `Bearer <token>` — the vocabulary every other transport already uses — and
212
+ * the raw `sec-websocket-protocol` header is left in place, so an application
213
+ * that reads the offer itself still can. **Nothing here authenticates
214
+ * anything**: the port never proves who is calling, and a token that arrived is
215
+ * a claim, exactly like the session id beside it.
216
+ *
217
+ * Exported by name so the mapping is inspectable and testable without binding a
218
+ * socket, the same way the body shapes are.
219
+ */
220
+ function readAgentCoreConversation(facts) {
221
+ const sessionId = (0, httpHost_js_1.headerValue)(facts, SESSION_HEADER) ?? queryValue(facts, SESSION_HEADER, 'sessionId');
222
+ const token = bearerFromSubprotocols(facts.headers['sec-websocket-protocol']);
223
+ return {
224
+ ...(sessionId !== undefined && { sessionId }),
225
+ ...(token !== undefined && {
226
+ headers: { authorization: `Bearer ${token}` },
227
+ // Echoed so a client that offered a subprotocol gets one back — the word
228
+ // only. Putting the token in a response header would hand the credential
229
+ // to every proxy on the way home.
230
+ protocol: BEARER_SUBPROTOCOL,
231
+ }),
232
+ };
233
+ }
234
+ exports.readAgentCoreConversation = readAgentCoreConversation;
235
+ /** A query parameter by any of several names, matched case-insensitively. */
236
+ function queryValue(facts, ...names) {
237
+ const wanted = names.map((name) => name.toLowerCase());
238
+ for (const [key, value] of facts.query.entries()) {
239
+ if (wanted.includes(key.toLowerCase()) && value.length > 0)
240
+ return value;
241
+ }
242
+ return undefined;
243
+ }
244
+ /** The token out of a `Sec-WebSocket-Protocol` offer, in either browser spelling. */
245
+ function bearerFromSubprotocols(offered) {
246
+ if (!offered)
247
+ return undefined;
248
+ const parts = offered
249
+ .split(',')
250
+ .map((part) => part.trim())
251
+ .filter((part) => part.length > 0);
252
+ const marker = parts.findIndex((part) => part.toLowerCase() === BEARER_SUBPROTOCOL);
253
+ if (marker >= 0 && parts[marker + 1] !== undefined)
254
+ return parts[marker + 1];
255
+ const prefix = `${BEARER_SUBPROTOCOL}.`;
256
+ const dotted = parts.find((part) => part.toLowerCase().startsWith(prefix));
257
+ return dotted?.slice(prefix.length) || undefined;
258
+ }
150
259
  /**
151
260
  * An `AgentHost` that speaks AgentCore Runtime's container contract.
152
261
  *
@@ -167,6 +276,8 @@ function agentCoreRuntimeHost(options = {}) {
167
276
  wire: agentCoreRuntimeWire(options.busy),
168
277
  invokePath: INVOKE_PATH,
169
278
  healthPath: HEALTH_PATH,
279
+ conversationPath: options.conversationPath ?? CONVERSATION_PATH,
280
+ conversationLimits: CONVERSATION_LIMITS,
170
281
  // With a caller-owned server this adapter binds nothing, so it must not
171
282
  // invent the contract's port either — the port is whatever the caller
172
283
  // listened on, and passing one anyway is refused by `httpHost` rather than
@@ -1 +1 @@
1
- {"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../src/adapters/hosting/agentcore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../src/adapters/hosting/agentcore.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ const commentaryTemplates_js_1 = require("../../recorders/observability/commenta
17
17
  const statusTemplates_js_1 = require("../../recorders/observability/status/statusTemplates.js");
18
18
  const selfExplain_js_1 = require("../../lib/trace-toolpack/selfExplain.js");
19
19
  const Agent_js_1 = require("../Agent.js");
20
+ const act_js_1 = require("./act.js");
20
21
  const options_js_1 = require("./window/options.js");
21
22
  const summarizeOldest_js_1 = require("./window/strategies/summarizeOldest.js");
22
23
  /**
@@ -136,6 +137,8 @@ class AgentBuilder {
136
137
  toolMiddlewareList = [];
137
138
  /** The message chain, in call order. Empty = no chain, no ledger. */
138
139
  messageMiddlewareList = [];
140
+ /** `.act()` is the posture block: one per agent. See the method. */
141
+ actCalled = false;
139
142
  constructor(opts) {
140
143
  this.opts = opts;
141
144
  // Cache layer: opts.caching === 'off' propagates to scope's
@@ -283,6 +286,81 @@ class AgentBuilder {
283
286
  this.runConfigFn = fn;
284
287
  return this;
285
288
  }
289
+ /**
290
+ * Everything this agent DOES about its own loop, in one block.
291
+ *
292
+ * Tools do the work. `.act()` decides about the work. `watch` remembers
293
+ * both — and nothing can act without being watched.
294
+ *
295
+ * Five keys, one per moment of a turn, each optional and each the exact
296
+ * argument the individual door takes:
297
+ *
298
+ * ```ts
299
+ * const agent = Agent.create({ provider, model })
300
+ * .act({
301
+ * input: [scrubSSNs], // the message, before the run commits it
302
+ * beforeTool: [refundCeiling], // every call, before it is dispatched
303
+ * afterTool: [hideRawPII], // every result, before the model reads it
304
+ * window: slidingWindow({ keepRecentTurns: 12 }),
305
+ * output: [noInternalCodenames],
306
+ * })
307
+ * .build();
308
+ * ```
309
+ *
310
+ * **It is sugar, and provably so.** Each key is forwarded to the door that
311
+ * already owned it — `.messageMiddleware()`, `.toolMiddleware()`,
312
+ * `.window()` — so the agent it builds sends the same request bytes and
313
+ * files the same records as the same rules spelled out one call at a time.
314
+ * That equivalence is pinned per key by tests, the way `.compaction()`'s is.
315
+ *
316
+ * **The keys cannot fall behind the loop.** They are locked at compile time
317
+ * against `LoopMoment`, so a sixth moment cannot ship without a key here.
318
+ *
319
+ * **A rule speaks where its hooks say, not where you filed it.** `beforeTool`
320
+ * and `afterTool` are one chain; an entry with both `onToolCall` and
321
+ * `onToolResult` runs at both moments whichever key you wrote it under —
322
+ * the KEYS are named for the moments, the HOOKS for what they receive — and
323
+ * an entry named
324
+ * under both keys is the same object attached once. A governance rule that
325
+ * silently did not run because it was written in the wrong bucket is exactly
326
+ * the failure this library exists to make impossible — so the bucket is
327
+ * checked for the hook it names, and the hooks decide the rest.
328
+ *
329
+ * **Call it once.** A second `.act()` throws: two posture blocks means the
330
+ * answer to "what does this agent do at each moment?" is in two places, and
331
+ * the second one silently wins. Adding one piece to an agent somebody else
332
+ * built — a plugin, a policy pack — is what the individual doors are for,
333
+ * and they stay open for exactly that.
334
+ *
335
+ * @param options - One key per moment. `input` / `output` take message
336
+ * middleware, `beforeTool` / `afterTool` take tool middleware, `window`
337
+ * takes a `WindowStrategy`. Unknown keys throw.
338
+ */
339
+ act(options) {
340
+ if (this.actCalled) {
341
+ throw new Error('AgentBuilder.act: already called. One posture block per agent — a second would put ' +
342
+ 'the answer to "what does this agent do at each moment of its loop?" in two places, ' +
343
+ 'with the later one silently winning. To ADD one rule to an agent that already has ' +
344
+ 'a posture, use the individual door for that moment (.toolMiddleware(), ' +
345
+ '.messageMiddleware(), .window()); they compose incrementally by design.');
346
+ }
347
+ // Resolved BEFORE anything is attached: a bundle with a bad key must
348
+ // leave the builder exactly as it found it, not half-configured. Every
349
+ // entry is validated inside `resolveAct`, and the window — the one key
350
+ // whose validation lives on its own door — goes first for the same
351
+ // reason.
352
+ const resolved = (0, act_js_1.resolveAct)(options);
353
+ if (resolved.window !== undefined) {
354
+ this.assertNoWindowStrategy('act');
355
+ this.window(resolved.window);
356
+ }
357
+ this.actCalled = true;
358
+ if (resolved.message.length > 0)
359
+ this.messageMiddleware(...resolved.message);
360
+ if (resolved.tool.length > 0)
361
+ this.toolMiddleware(...resolved.tool);
362
+ return this;
363
+ }
286
364
  /**
287
365
  * Choose how the live context window is kept inside its budget.
288
366
  *
@@ -401,6 +479,12 @@ class AgentBuilder {
401
479
  const existing = this.windowStrategyValue;
402
480
  if (existing === undefined)
403
481
  return;
482
+ if (door === 'act') {
483
+ throw new Error(`AgentBuilder.act: this agent already has a window strategy ('${existing.name}'), set ` +
484
+ 'by .window() or .compaction(). One window strategy per agent, whichever door set ' +
485
+ 'it — a second would silently override the first, and a window policy that quietly ' +
486
+ 'changed is a policy you cannot audit. Move it into the `window` key, or drop the key.');
487
+ }
404
488
  if (door === 'compaction') {
405
489
  throw new Error('AgentBuilder.compaction: already set. One compaction policy per agent — a second ' +
406
490
  'one would silently override the first, and a budget that quietly changed is a ' +
@@ -971,6 +1055,16 @@ class AgentBuilder {
971
1055
  * middleware that throws is a denial carrying the error as its reason —
972
1056
  * never a silent pass.
973
1057
  *
1058
+ * A link may also carry an **`onToolResult`** hook, which decides about the
1059
+ * RESULT once the tool has run and before the model reads it — `allow()`,
1060
+ * `allow(value, why)` or `deny(reason)`, and no `ask`, because the tool has
1061
+ * already run and there is nothing left for a person to prevent. That half
1062
+ * of the chain is walked BACKWARDS, so the first-declared rule has the first
1063
+ * word about the call and the last word about the answer. A link with only
1064
+ * `onToolResult` takes no part in dispatch at all.
1065
+ *
1066
+ * `.act({ beforeTool, afterTool })` is the same chain, named by moment.
1067
+ *
974
1068
  * An existing `PermissionChecker` still decides FIRST: it is not part of
975
1069
  * this chain, it runs ahead of it, so a call it denies never reaches a
976
1070
  * middleware. `gatedTools` is a different layer again — it decides which
@@ -994,10 +1088,32 @@ class AgentBuilder {
994
1088
  */
995
1089
  toolMiddleware(...middleware) {
996
1090
  for (const mw of middleware)
997
- this.assertMiddleware(mw, 'toolMiddleware', 'onToolCall');
1091
+ this.assertToolMiddleware(mw);
998
1092
  this.toolMiddlewareList = [...this.toolMiddlewareList, ...middleware];
999
1093
  return this;
1000
1094
  }
1095
+ /**
1096
+ * A tool link needs a name and at least one hook. Both are optional
1097
+ * INDIVIDUALLY — a rule about calls, a rule about results, or both — but a
1098
+ * link with neither is a governance rule that can never run, and finding
1099
+ * that out from a quiet run rather than from `build()` is the whole disease.
1100
+ */
1101
+ assertToolMiddleware(mw) {
1102
+ const shaped = mw !== null &&
1103
+ typeof mw === 'object' &&
1104
+ typeof mw.name === 'string' &&
1105
+ mw.name.length > 0;
1106
+ const record = mw;
1107
+ const hooks = shaped &&
1108
+ (typeof record?.onToolCall === 'function' || typeof record?.onToolResult === 'function');
1109
+ if (!hooks) {
1110
+ throw new Error(`AgentBuilder.toolMiddleware: expected an object with a non-empty \`name\` and at ` +
1111
+ `least one of \`onToolCall(call)\` (decides about the call) or ` +
1112
+ `\`onToolResult(call)\` ` +
1113
+ `(decides about the result), got ${typeof mw}. The name is what every ledger row ` +
1114
+ `and event says decided the call, so it cannot be blank.`);
1115
+ }
1116
+ }
1001
1117
  /**
1002
1118
  * Wrap the message boundary in a governance chain — the input before the
1003
1119
  * model sees it, the output before the caller receives it.
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilder.js","sourceRoot":"","sources":["../../../src/core/agent/AgentBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentBuilder.js","sourceRoot":"","sources":["../../../src/core/agent/AgentBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ /**
3
+ * act — PUBLIC. One bundle for every place a rule may speak.
4
+ *
5
+ * Pattern: Facade over five doors, with the facade's KEYS type-locked to the
6
+ * list of moments they cover.
7
+ * Role: core/ layer. `.act()` builds nothing new: it validates a bundle
8
+ * and calls `.messageMiddleware()`, `.toolMiddleware()` and
9
+ * `.window()` with exactly what a person would have passed by hand.
10
+ * Everything about a run is decided by those doors, here and there
11
+ * alike.
12
+ * Emits: N/A.
13
+ *
14
+ * ## Why a bundle at all, when the doors already exist
15
+ *
16
+ * Because the doors are findable one at a time and the POSTURE is not. An
17
+ * agent's governance currently reads as four unrelated calls scattered
18
+ * through a builder chain, and the question a reviewer actually has —
19
+ * "what does this agent do at each point in its loop?" — has no place to be
20
+ * answered. `.act({ … })` is that place: five optional keys, named for the
21
+ * five moments, so autocomplete on an empty object teaches the loop.
22
+ *
23
+ * ## The completeness lock
24
+ *
25
+ * The keys of {@link ActOptions} are pinned, at compile time, against
26
+ * `ActKey<LoopMoment>` — the moment list, camel-cased. Add a sixth moment to
27
+ * `LOOP_MOMENTS` and this file stops compiling until the bundle grows the key
28
+ * for it; delete a key and the same. A surface that claims to be complete has
29
+ * to be made unable to fall behind, or the claim is just a sentence in a doc.
30
+ *
31
+ * The runtime half is derived from the same list: the accepted key set is
32
+ * `LOOP_MOMENTS.map(actKeyFor)`, so a typo'd key is refused by a validator
33
+ * that cannot drift from the type it is validating.
34
+ */
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.resolveAct = exports.ACT_KEYS = void 0;
37
+ const outcomes_js_1 = require("./middleware/outcomes.js");
38
+ const moments_js_1 = require("./moments.js");
39
+ const _keysAreExactlyTheMoments = true;
40
+ void _keysAreExactlyTheMoments;
41
+ /** The keys `.act()` accepts, derived from the moment list rather than typed. */
42
+ exports.ACT_KEYS = moments_js_1.LOOP_MOMENTS.map(moments_js_1.actKeyFor);
43
+ /**
44
+ * Restrict a message middleware to ONE phase.
45
+ *
46
+ * `.messageMiddleware()` attaches a link to both halves of the boundary and
47
+ * lets it read `msg.phase`; the bundle names the phases instead, so an entry
48
+ * written for one of them is wrapped in exactly the guard a person writes by
49
+ * hand today. The pass-through at the other phase is a real walk with a real
50
+ * row, because it is a real link in the chain — the same run, the same
51
+ * record, whichever spelling put it there.
52
+ */
53
+ function onlyAt(phase, mw) {
54
+ return {
55
+ name: mw.name,
56
+ onMessage: (msg) => (msg.phase === phase ? mw.onMessage(msg) : (0, outcomes_js_1.allow)()),
57
+ };
58
+ }
59
+ function assertList(value, key) {
60
+ if (!Array.isArray(value)) {
61
+ throw new Error(`AgentBuilder.act: '${key}' expects an array of middleware, got ${typeof value}. ` +
62
+ `Wrap a single rule in an array — the bundle is a list per moment.`);
63
+ }
64
+ return value;
65
+ }
66
+ function assertNamedHook(mw, key, hook) {
67
+ if (mw === null ||
68
+ typeof mw !== 'object' ||
69
+ typeof mw.name !== 'string' ||
70
+ mw.name.length === 0 ||
71
+ typeof mw[hook] !== 'function') {
72
+ throw new Error(`AgentBuilder.act: every '${key}' entry needs a non-empty \`name\` and a \`${hook}(...)\` ` +
73
+ `method. The name is what every ledger row and event says decided the call, so it ` +
74
+ `cannot be blank` +
75
+ (hook === 'onToolCall'
76
+ ? `; a rule that only has \`onToolResult\` belongs under 'afterTool'.`
77
+ : hook === 'onToolResult'
78
+ ? `; a rule that only has \`onToolCall\` belongs under 'beforeTool'.`
79
+ : `.`));
80
+ }
81
+ }
82
+ /**
83
+ * Validate a bundle and turn it into the arguments the five doors take.
84
+ *
85
+ * Pure — it throws or it returns; it touches no builder state. `.act()` is
86
+ * the caller that hands the result to the doors, which is what makes the
87
+ * sugar provably the same agent.
88
+ */
89
+ function resolveAct(options) {
90
+ if (options === null || typeof options !== 'object' || Array.isArray(options)) {
91
+ throw new Error(`AgentBuilder.act: expected an options object, got ${Array.isArray(options) ? 'an array' : typeof options}. The keys are ${exports.ACT_KEYS.join(', ')}.`);
92
+ }
93
+ for (const key of Object.keys(options)) {
94
+ if (!exports.ACT_KEYS.includes(key)) {
95
+ throw new Error(`AgentBuilder.act: unknown key '${key}'. The loop has ${moments_js_1.LOOP_MOMENTS.length} moments and ` +
96
+ `this bundle has one key for each: ${exports.ACT_KEYS.join(', ')}. A key nobody reads is a ` +
97
+ `governance rule that silently never runs, so it is refused here rather than ignored.`);
98
+ }
99
+ }
100
+ // ── The message halves ──────────────────────────────────────────────
101
+ // A link named at BOTH phases is attached once, unguarded — which is the
102
+ // plain `.messageMiddleware(mw)` spelling, and the one that files one row
103
+ // per phase instead of two.
104
+ const input = assertList(options.input ?? [], 'input');
105
+ const output = assertList(options.output ?? [], 'output');
106
+ for (const mw of input)
107
+ assertNamedHook(mw, 'input', 'onMessage');
108
+ for (const mw of output)
109
+ assertNamedHook(mw, 'output', 'onMessage');
110
+ const message = [];
111
+ for (const mw of input) {
112
+ message.push(output.includes(mw) ? mw : onlyAt('input', mw));
113
+ }
114
+ for (const mw of output) {
115
+ if (!input.includes(mw))
116
+ message.push(onlyAt('output', mw));
117
+ }
118
+ // ── The tool moments ────────────────────────────────────────────────
119
+ // One list, walked forwards for calls and backwards for results. The
120
+ // buckets are named for the MOMENTS (`afterTool` ⇄ `'after-tool'`); the
121
+ // hooks are named for what they RECEIVE (`onToolResult`). The bucket says
122
+ // where a rule is MEANT to speak and is checked for the hook it names; what
123
+ // it actually does is decided by the hooks it has, so a rule can never
124
+ // silently fail to run because it was written in the other bucket.
125
+ const beforeTool = assertList(options.beforeTool ?? [], 'beforeTool');
126
+ const afterTool = assertList(options.afterTool ?? [], 'afterTool');
127
+ for (const mw of beforeTool)
128
+ assertNamedHook(mw, 'beforeTool', 'onToolCall');
129
+ for (const mw of afterTool)
130
+ assertNamedHook(mw, 'afterTool', 'onToolResult');
131
+ const tool = [...beforeTool];
132
+ for (const mw of afterTool) {
133
+ if (!tool.includes(mw))
134
+ tool.push(mw);
135
+ }
136
+ return {
137
+ message,
138
+ tool,
139
+ ...(options.window !== undefined && { window: options.window }),
140
+ };
141
+ }
142
+ exports.resolveAct = resolveAct;
143
+ //# sourceMappingURL=act.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"act.js","sourceRoot":"","sources":["../../../src/core/agent/act.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,11 @@
11
11
  *
12
12
  * Three verbs: `allow`, `deny`, `ask`. There is no fourth, and in
13
13
  * particular there is no way to return a result — see `types.ts`.
14
+ *
15
+ * A tool link may speak twice: `onToolCall` about the call, `onToolResult`
16
+ * about the result. The chain is walked forwards for the first and backwards for the
17
+ * second, so the first-declared link has the first word going in and the last
18
+ * word coming out.
14
19
  */
15
20
  Object.defineProperty(exports, "__esModule", { value: true });
16
21
  exports.MessageDeniedError = exports.deny = exports.ask = exports.allow = void 0;