agentfootprint 7.14.0 → 7.15.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 (94) hide show
  1. package/dist/adapters/hosting/agentcore.js +350 -0
  2. package/dist/adapters/hosting/agentcore.js.map +1 -0
  3. package/dist/adapters/memory/agentcore.js +125 -1
  4. package/dist/adapters/memory/agentcore.js.map +1 -1
  5. package/dist/adapters/security/agentcore.js +0 -0
  6. package/dist/adapters/security/agentcore.js.map +1 -0
  7. package/dist/esm/adapters/hosting/agentcore.d.ts +199 -0
  8. package/dist/esm/adapters/hosting/agentcore.js +321 -0
  9. package/dist/esm/adapters/hosting/agentcore.js.map +1 -0
  10. package/dist/esm/adapters/memory/agentcore.d.ts +88 -2
  11. package/dist/esm/adapters/memory/agentcore.js +125 -1
  12. package/dist/esm/adapters/memory/agentcore.js.map +1 -1
  13. package/dist/esm/adapters/security/agentcore.d.ts +157 -0
  14. package/dist/esm/adapters/security/agentcore.js +0 -0
  15. package/dist/esm/adapters/security/agentcore.js.map +1 -0
  16. package/dist/esm/hosting/httpHost.d.ts +121 -0
  17. package/dist/esm/hosting/httpHost.js +248 -0
  18. package/dist/esm/hosting/httpHost.js.map +1 -0
  19. package/dist/esm/hosting/index.d.ts +8 -1
  20. package/dist/esm/hosting/index.js +7 -1
  21. package/dist/esm/hosting/index.js.map +1 -1
  22. package/dist/esm/hosting/nodeHost.d.ts +23 -16
  23. package/dist/esm/hosting/nodeHost.js +32 -199
  24. package/dist/esm/hosting/nodeHost.js.map +1 -1
  25. package/dist/esm/hosting-providers.d.ts +50 -0
  26. package/dist/esm/hosting-providers.js +50 -0
  27. package/dist/esm/hosting-providers.js.map +1 -0
  28. package/dist/esm/lib/mcp/gatewayTransport.d.ts +103 -0
  29. package/dist/esm/lib/mcp/gatewayTransport.js +123 -0
  30. package/dist/esm/lib/mcp/gatewayTransport.js.map +1 -0
  31. package/dist/esm/lib/mcp/index.d.ts +2 -1
  32. package/dist/esm/lib/mcp/index.js +1 -0
  33. package/dist/esm/lib/mcp/index.js.map +1 -1
  34. package/dist/esm/lib/mcp/mcpClient.js +10 -2
  35. package/dist/esm/lib/mcp/mcpClient.js.map +1 -1
  36. package/dist/esm/lib/mcp/types.d.ts +45 -1
  37. package/dist/esm/memory/store/types.d.ts +22 -0
  38. package/dist/esm/memory-providers.d.ts +1 -1
  39. package/dist/esm/memory-providers.js.map +1 -1
  40. package/dist/esm/security/index.d.ts +10 -1
  41. package/dist/esm/security/index.js +14 -1
  42. package/dist/esm/security/index.js.map +1 -1
  43. package/dist/esm/tool-providers/index.d.ts +6 -2
  44. package/dist/esm/tool-providers/index.js +5 -1
  45. package/dist/esm/tool-providers/index.js.map +1 -1
  46. package/dist/hosting/httpHost.js +276 -0
  47. package/dist/hosting/httpHost.js.map +1 -0
  48. package/dist/hosting/index.js +10 -1
  49. package/dist/hosting/index.js.map +1 -1
  50. package/dist/hosting/nodeHost.js +34 -224
  51. package/dist/hosting/nodeHost.js.map +1 -1
  52. package/dist/hosting-providers.js +57 -0
  53. package/dist/hosting-providers.js.map +1 -0
  54. package/dist/lib/mcp/gatewayTransport.js +129 -0
  55. package/dist/lib/mcp/gatewayTransport.js.map +1 -0
  56. package/dist/lib/mcp/index.js +4 -1
  57. package/dist/lib/mcp/index.js.map +1 -1
  58. package/dist/lib/mcp/mcpClient.js +10 -2
  59. package/dist/lib/mcp/mcpClient.js.map +1 -1
  60. package/dist/memory-providers.js.map +1 -1
  61. package/dist/security/index.js +16 -2
  62. package/dist/security/index.js.map +1 -1
  63. package/dist/tool-providers/index.js +7 -1
  64. package/dist/tool-providers/index.js.map +1 -1
  65. package/dist/types/adapters/hosting/agentcore.d.ts +200 -0
  66. package/dist/types/adapters/hosting/agentcore.d.ts.map +1 -0
  67. package/dist/types/adapters/memory/agentcore.d.ts +88 -2
  68. package/dist/types/adapters/memory/agentcore.d.ts.map +1 -1
  69. package/dist/types/adapters/security/agentcore.d.ts +158 -0
  70. package/dist/types/adapters/security/agentcore.d.ts.map +1 -0
  71. package/dist/types/hosting/httpHost.d.ts +122 -0
  72. package/dist/types/hosting/httpHost.d.ts.map +1 -0
  73. package/dist/types/hosting/index.d.ts +8 -1
  74. package/dist/types/hosting/index.d.ts.map +1 -1
  75. package/dist/types/hosting/nodeHost.d.ts +23 -16
  76. package/dist/types/hosting/nodeHost.d.ts.map +1 -1
  77. package/dist/types/hosting-providers.d.ts +51 -0
  78. package/dist/types/hosting-providers.d.ts.map +1 -0
  79. package/dist/types/lib/mcp/gatewayTransport.d.ts +104 -0
  80. package/dist/types/lib/mcp/gatewayTransport.d.ts.map +1 -0
  81. package/dist/types/lib/mcp/index.d.ts +2 -1
  82. package/dist/types/lib/mcp/index.d.ts.map +1 -1
  83. package/dist/types/lib/mcp/mcpClient.d.ts.map +1 -1
  84. package/dist/types/lib/mcp/types.d.ts +45 -1
  85. package/dist/types/lib/mcp/types.d.ts.map +1 -1
  86. package/dist/types/memory/store/types.d.ts +22 -0
  87. package/dist/types/memory/store/types.d.ts.map +1 -1
  88. package/dist/types/memory-providers.d.ts +1 -1
  89. package/dist/types/memory-providers.d.ts.map +1 -1
  90. package/dist/types/security/index.d.ts +10 -1
  91. package/dist/types/security/index.d.ts.map +1 -1
  92. package/dist/types/tool-providers/index.d.ts +6 -2
  93. package/dist/types/tool-providers/index.d.ts.map +1 -1
  94. package/package.json +14 -1
@@ -27,9 +27,15 @@
27
27
  * AgentCore's ids are server-assigned. **O(events in session)** — fine for typical
28
28
  * window sizes; if you need O(1) keyed access at scale, use RedisStore.
29
29
  * • `forget` → `ListEvents` + `DeleteEvent` per event (no `DeleteSession` on AgentCore).
30
- * • `search` → still unwired (AgentCore's `RetrieveMemoryRecords` lands as a later helper).
30
+ * • `search` → `RetrieveMemoryRecords`, **text-in**. AgentCore embeds and ranks on its
31
+ * own side, so it takes a natural-language query; the port's `search()` takes a
32
+ * vector. Pass `options.text` and this store serves the query; omit it and it refuses
33
+ * by name rather than ranking an empty set. See `search()` below for the whole story.
31
34
  * • `putIfVersion` / `seen` / `feedback` → in-process emulation (AgentCore has no native
32
35
  * CAS / dedup / feedback primitive; these don't survive process restart).
36
+ * • no `stream()` — AgentCore Memory has no streaming data-plane operation, and the
37
+ * `MemoryStore` port has no streaming method to implement. Inventing one for a single
38
+ * backend is how a port stops being a port.
33
39
  *
34
40
  * Role: Outer ring. Lazy-requires the AWS SDK; zero runtime cost when another adapter is
35
41
  * in use. Emits: N/A (storage adapters don't emit).
@@ -55,6 +61,8 @@ export class AgentCoreStore {
55
61
  client;
56
62
  memoryId;
57
63
  pageSize;
64
+ searchNamespace;
65
+ searchStrategyId;
58
66
  closed = false;
59
67
  // In-process shadow state for things AgentCore doesn't surface natively.
60
68
  signatures = new Map();
@@ -64,6 +72,10 @@ export class AgentCoreStore {
64
72
  throw new Error('AgentCoreStore requires `memoryId`.');
65
73
  this.memoryId = options.memoryId;
66
74
  this.pageSize = options.pageSize ?? 100;
75
+ this.searchNamespace =
76
+ options.searchNamespace ??
77
+ (({ actorId, sessionId }) => `/actors/${actorId}/sessions/${sessionId}`);
78
+ this.searchStrategyId = options.searchStrategyId;
67
79
  if (options._client)
68
80
  this.client = options._client;
69
81
  else if (options.client)
@@ -224,6 +236,90 @@ export class AgentCoreStore {
224
236
  this.feedbackBag.delete(key);
225
237
  }
226
238
  }
239
+ /**
240
+ * Server-side semantic retrieval over AgentCore's extracted memory records
241
+ * (`RetrieveMemoryRecords`).
242
+ *
243
+ * ── Read this before you call it ─────────────────────────────────────────
244
+ * **It takes TEXT, not the vector.** AgentCore embeds and ranks on its own
245
+ * side, so `query` — the port's vector — is unusable here, and the query it
246
+ * actually needs travels in `options.text`. Omit that and this method throws
247
+ * a corrective error naming what is missing, because the alternative is
248
+ * ranking nothing and handing back `[]`, which reads as "no matches" when it
249
+ * really means "wrong query form". Pass both and every store can serve you:
250
+ * local-ranking backends use the vector and ignore the text.
251
+ *
252
+ * **It searches a DIFFERENT population than `list()`.** `list` returns the
253
+ * events this store wrote. This returns the records AgentCore's extraction
254
+ * strategies derived FROM those events — summaries, semantic facts, user
255
+ * preferences. The ids therefore belong to AgentCore, not to entries you
256
+ * `put()`, and `store.get(entry.id)` will not find them. They arrive as
257
+ * entries so ranking code needs no special case, with `metadata.source`
258
+ * saying plainly where they came from.
259
+ *
260
+ * Filters: `searchStrategyId` and the namespace reach AgentCore's own side;
261
+ * `k`, `minScore` and `tiers` are applied to what comes back.
262
+ *
263
+ * @throws when `options.text` is absent, or when the client cannot retrieve.
264
+ */
265
+ async search(identity, query, options = {}) {
266
+ this.ensureOpen('search');
267
+ const text = options.text?.trim();
268
+ if (!text) {
269
+ throw new Error('AgentCoreStore.search() needs the query as TEXT, in `options.text`.\n' +
270
+ ` AgentCore embeds and ranks server-side (RetrieveMemoryRecords), so the ${query.length}-dimension\n` +
271
+ ' vector this method was handed cannot be sent anywhere — and returning [] would look\n' +
272
+ ' like "no matches" rather than "wrong query form".\n' +
273
+ ' Fix: store.search(identity, vector, { text: theUserQuestion })\n' +
274
+ ' Backends that rank locally ignore `text`, so passing both is always safe.');
275
+ }
276
+ if (!this.client.retrieveRecords) {
277
+ throw new Error('AgentCoreStore.search() requires a client that implements `retrieveRecords`.\n' +
278
+ ' The built-in client does; a custom or older injected `client` / `_client` may not.');
279
+ }
280
+ const scope = this.scope(identity);
281
+ const k = options.k ?? 10;
282
+ const page = await this.client.retrieveRecords({
283
+ memoryId: this.memoryId,
284
+ namespace: this.searchNamespace({ actorId: scope.actorId, sessionId: scope.sessionId }),
285
+ searchQuery: text,
286
+ maxResults: k,
287
+ ...(this.searchStrategyId !== undefined && { memoryStrategyId: this.searchStrategyId }),
288
+ });
289
+ const scored = [];
290
+ for (const record of page.records) {
291
+ const score = record.score ?? 0;
292
+ if (options.minScore !== undefined && score < options.minScore)
293
+ continue;
294
+ // AgentCore records carry no tier. A tier filter therefore excludes them
295
+ // all rather than silently ignoring the filter the caller asked for.
296
+ if (options.tiers && options.tiers.length > 0)
297
+ continue;
298
+ const createdAt = record.createdAt ?? Date.now();
299
+ const entry = {
300
+ id: record.memoryRecordId,
301
+ value: record.content,
302
+ version: 1,
303
+ createdAt,
304
+ updatedAt: createdAt,
305
+ lastAccessedAt: Date.now(),
306
+ accessCount: 0,
307
+ metadata: {
308
+ // Says plainly that this did not come from an event this store wrote.
309
+ source: 'agentcore-memory-record',
310
+ ...(record.memoryStrategyId !== undefined && {
311
+ memoryStrategyId: record.memoryStrategyId,
312
+ }),
313
+ ...(record.namespace !== undefined && { namespace: record.namespace }),
314
+ },
315
+ };
316
+ scored.push({ entry, score });
317
+ }
318
+ // AgentCore returns its own ranking; re-sort anyway so the port's
319
+ // "descending by score" holds even if a future API version reorders.
320
+ scored.sort((a, b) => b.score !== a.score ? b.score - a.score : a.entry.id < b.entry.id ? -1 : 1);
321
+ return scored.slice(0, k);
322
+ }
227
323
  async close() {
228
324
  if (this.closed)
229
325
  return;
@@ -318,6 +414,34 @@ function createAgentCoreClient(region, injected) {
318
414
  eventId,
319
415
  });
320
416
  },
417
+ async retrieveRecords({ memoryId, namespace, searchQuery, maxResults, memoryStrategyId }) {
418
+ // AgentCore nests the query under `searchCriteria`; the strategy id is the
419
+ // metadata filter that reaches its side rather than being applied after.
420
+ const r = (await send(mod.RetrieveMemoryRecordsCommand, 'RetrieveMemoryRecordsCommand', {
421
+ memoryId,
422
+ namespace,
423
+ searchCriteria: {
424
+ searchQuery,
425
+ ...(maxResults !== undefined && { topK: maxResults }),
426
+ ...(memoryStrategyId !== undefined && { memoryStrategyId }),
427
+ },
428
+ ...(maxResults !== undefined && { maxResults }),
429
+ }));
430
+ const records = (r?.memoryRecordSummaries ?? []).map((s) => {
431
+ const content = typeof s.content === 'string' ? s.content : s.content?.text ?? '';
432
+ const namespaceValue = Array.isArray(s.namespace) ? s.namespace[0] : s.namespace;
433
+ const createdAt = s.createdAt === undefined ? undefined : new Date(s.createdAt).getTime();
434
+ return {
435
+ memoryRecordId: s.memoryRecordId ?? '',
436
+ content,
437
+ ...(typeof s.score === 'number' && { score: s.score }),
438
+ ...(s.memoryStrategyId !== undefined && { memoryStrategyId: s.memoryStrategyId }),
439
+ ...(typeof namespaceValue === 'string' && { namespace: namespaceValue }),
440
+ ...(createdAt !== undefined && Number.isFinite(createdAt) && { createdAt }),
441
+ };
442
+ });
443
+ return { records };
444
+ },
321
445
  };
322
446
  }
323
447
  //# sourceMappingURL=agentcore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/memory/agentcore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/memory/agentcore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * agentCorePolicy — AWS Bedrock **AgentCore Policy** adapter for the
3
+ * {@link PermissionChecker} port (peer-dep `@aws-sdk/client-bedrock-agentcore`).
4
+ *
5
+ * import { agentCorePolicy } from 'agentfootprint/security';
6
+ *
7
+ * const agent = Agent.create({
8
+ * provider,
9
+ * model,
10
+ * permissionChecker: agentCorePolicy({ policyStoreId: process.env.POLICY_STORE_ID! }),
11
+ * }).build();
12
+ *
13
+ * Maps one port method onto one data-plane call: every attempted tool call
14
+ * becomes a policy evaluation, and the returned decision becomes a
15
+ * `PermissionDecision`. Nothing else.
16
+ *
17
+ * ── The three rules this adapter is written under ────────────────────────────
18
+ *
19
+ * **1. Fail closed.** A policy engine you cannot reach has not said yes. When
20
+ * evaluation throws — network, credentials, a renamed field, a policy store
21
+ * that does not exist — the decision is `deny`, and it says so in words a
22
+ * human can act on. `onUnavailable: 'allow-with-warning'` is available for
23
+ * teams rolling policy out gradually, and it is deliberately awkward to type,
24
+ * because "we could not check, so we allowed it" is a sentence you should have
25
+ * to write down on purpose.
26
+ *
27
+ * **2. The reason rides to the model AS DATA.** A denied tool call comes back
28
+ * to the LLM as a `tellLLM` string, not as an exception. The model then
29
+ * re-decides with the refusal in front of it, which is the difference between
30
+ * an agent that says "I am not allowed to do that" and a run that dies.
31
+ * Telemetry (`reason`) stays out of `tellLLM` — the model does not get taught
32
+ * the shape of the rule space.
33
+ *
34
+ * **3. One evaluation per (tool, principal) per turn.** The ReAct loop can put
35
+ * the same tool in front of the gate several times in one iteration; paying for
36
+ * a round-trip each time buys nothing, because nothing between them could have
37
+ * changed the answer. The cache key is the tool, the principal AND the
38
+ * iteration, so the NEXT turn re-asks — a policy that changed mid-conversation
39
+ * is honoured on the next turn rather than at the end of the run.
40
+ *
41
+ * ── Verification status, stated plainly ──────────────────────────────────────
42
+ * **Contract-mapped and injection-tested.** Every AWS interaction is exercised
43
+ * through the `_client` seam; no test in this repo reaches AWS, and none
44
+ * pretends to. Confirm the command and field names against your installed
45
+ * `@aws-sdk/client-bedrock-agentcore` — this adapter targets an
46
+ * evaluate-a-request shape and is structured so the request → decision mapping
47
+ * is unit-tested independently of the SDK. Real-cloud verification lands with a
48
+ * field deployment.
49
+ *
50
+ * Pattern: Adapter (GoF) + lazy peer-dep load. Role: Layer-3 cross-cutting
51
+ * guard, exactly where `PermissionPolicy` sits — this one just asks somebody
52
+ * else.
53
+ */
54
+ import type { PermissionChecker } from '../types.js';
55
+ /** What the policy engine answered. */
56
+ export interface AgentCorePolicyEvaluation {
57
+ /**
58
+ * The engine's verdict. Compared case-insensitively against `'allow'`;
59
+ * ANYTHING else is a denial, including a value this adapter has never seen.
60
+ * An unrecognised verdict is not a permission.
61
+ */
62
+ readonly decision: string;
63
+ /** Why, when the engine explains itself. Surfaces to the model on a denial. */
64
+ readonly reason?: string;
65
+ /** Which policy decided, for the audit trail. */
66
+ readonly policyId?: string;
67
+ }
68
+ /**
69
+ * The minimal surface this adapter calls. The real SDK client is adapted to it
70
+ * in one function below; tests inject a fake via `_client` and never touch AWS.
71
+ */
72
+ export interface AgentCorePolicyClientLike {
73
+ evaluate(input: {
74
+ readonly policyStoreId: string;
75
+ /** Who is acting — the end user when the run carries one, else the agent. */
76
+ readonly principal: string;
77
+ /** What they are trying to do — the tool name for a tool call. */
78
+ readonly action: string;
79
+ /** What they are trying to do it to — the capability being exercised. */
80
+ readonly resource: string;
81
+ /** Everything else the policy may want to read. */
82
+ readonly context?: Readonly<Record<string, unknown>>;
83
+ }): Promise<AgentCorePolicyEvaluation>;
84
+ }
85
+ /** What to do when the policy engine cannot be reached or answers unintelligibly. */
86
+ export type AgentCorePolicyUnavailable = 'deny' | 'allow-with-warning';
87
+ /** Options for {@link agentCorePolicy}. */
88
+ export interface AgentCorePolicyOptions {
89
+ /** The AgentCore policy store to evaluate against. Required. */
90
+ readonly policyStoreId: string;
91
+ /** AWS region, when the adapter constructs the SDK client itself. */
92
+ readonly region?: string;
93
+ /**
94
+ * What an evaluation FAILURE means. Default `'deny'` — fail closed.
95
+ *
96
+ * `'allow-with-warning'` allows the call and reports the failure through
97
+ * `onWarning`, for a rollout where the policy store is not yet the source of
98
+ * truth. It never applies to a successful evaluation that said no: an
99
+ * explicit denial is always a denial.
100
+ */
101
+ readonly onUnavailable?: AgentCorePolicyUnavailable;
102
+ /**
103
+ * Called when `onUnavailable: 'allow-with-warning'` lets a call through.
104
+ * Default: `console.warn`. Give it your logger so the allow-on-failure is
105
+ * something an on-call engineer can find later.
106
+ */
107
+ readonly onWarning?: (message: string, error: Error) => void;
108
+ /**
109
+ * Derive the policy principal from the run's identity. Default:
110
+ * `identity.principal`, else `identity.tenant`, else `'agent'`.
111
+ *
112
+ * The default is also the cache key, so a checker shared across users never
113
+ * hands one user's decision to another.
114
+ */
115
+ readonly principalFor?: (identity: {
116
+ readonly principal?: string;
117
+ readonly tenant?: string;
118
+ } | undefined) => string;
119
+ /** Stable name, surfaced on permission events. Default `'agentCorePolicy'`. */
120
+ readonly name?: string;
121
+ /** Most decisions to keep cached at once. Default 500. Oldest are evicted first. */
122
+ readonly cacheSize?: number;
123
+ /** @internal Test injection — skips the SDK require entirely. */
124
+ readonly _client?: AgentCorePolicyClientLike;
125
+ /** @internal Test injection — the AWS SDK module, to exercise the real shim with a fake SDK. */
126
+ readonly _sdk?: BedrockAgentCorePolicySdkModule;
127
+ }
128
+ /**
129
+ * A `PermissionChecker` backed by an AgentCore policy store.
130
+ *
131
+ * Composes with everything already in the box and knows about none of it. In
132
+ * particular `gatedTools(...)` is a DIFFERENT layer and stays untouched: the
133
+ * gate decides what the model is shown, this decides what actually runs, and
134
+ * neither needs to be told the other exists. A tool hidden by a gate is never
135
+ * evaluated (the model cannot call what it cannot see); a tool the gate shows
136
+ * still has to get past the policy.
137
+ *
138
+ * @example Fail closed (the default)
139
+ * permissionChecker: agentCorePolicy({ policyStoreId, region: 'us-west-2' })
140
+ *
141
+ * @example Rolling policy out, with the allow-on-failure logged where you can find it
142
+ * agentCorePolicy({
143
+ * policyStoreId,
144
+ * onUnavailable: 'allow-with-warning',
145
+ * onWarning: (message, error) => logger.warn({ err: error }, message),
146
+ * });
147
+ */
148
+ export declare function agentCorePolicy(options: AgentCorePolicyOptions): PermissionChecker;
149
+ /** The slice of `@aws-sdk/client-bedrock-agentcore` this shim touches. */
150
+ export interface BedrockAgentCorePolicySdkModule {
151
+ readonly BedrockAgentCoreClient?: new (config: {
152
+ region?: string;
153
+ }) => {
154
+ send(cmd: unknown): Promise<unknown>;
155
+ };
156
+ readonly EvaluatePolicyCommand?: new (input: unknown) => unknown;
157
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/security/agentcore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * hosting/httpHost — one HTTP host, parameterised by the JSON dialect it speaks.
3
+ *
4
+ * Everything hard about serving an agent over HTTP happens once, here: draining
5
+ * on close, aborting when the caller hangs up, failing a handler that throws,
6
+ * failing a handler that answers nothing, mapping refusal codes onto status
7
+ * codes, and choosing between one JSON body and Server-Sent Events based on
8
+ * what the caller asked for.
9
+ *
10
+ * Everything a deployment target gets to re-decide is an {@link HttpWire}: the
11
+ * two paths, and the five JSON shapes — how a request names its input and its
12
+ * session, and what a health probe, a completion, a failure and a streamed
13
+ * piece look like on the wire.
14
+ *
15
+ * ── Why this file exists ─────────────────────────────────────────────────────
16
+ * `nodeHost` shipped first and hard-coded its own dialect: `{ input }` in,
17
+ * `{ output }` out, `{ status: 'ok' }` on the health path. That was fine while
18
+ * it was the only HTTP adapter and wrong the moment there was a second one. A
19
+ * container runtime dictates its own body shape as surely as it dictates its
20
+ * paths, and an adapter for it should be a CONFIGURATION of the HTTP work, not
21
+ * a second copy of it — a copy is where the drain semantics of two adapters
22
+ * silently diverge.
23
+ *
24
+ * Note what did NOT have to change for that: the ports. `AgentHost`,
25
+ * `HostRequest` and `HostReply` say exactly what they said before. The gap was
26
+ * in the first adapter, which had no seam, not in the port, which needed none.
27
+ *
28
+ * Pattern: Template method via configuration (Strategy on the wire format).
29
+ * Everything HTTP lives here and in the wires; `types.ts` knows none of it.
30
+ */
31
+ import type { AgentHost, HostCapability, HostHandle, HostHandler } from './types.js';
32
+ /** Everything a {@link HttpWire} may read when pulling a request apart. */
33
+ export interface HttpRequestFacts {
34
+ /** The parsed JSON body, or `{}` for an empty one. */
35
+ readonly body: Readonly<Record<string, unknown>>;
36
+ /** Request headers with lower-cased names — so a wire never has to guess casing. */
37
+ readonly headers: Readonly<Record<string, string>>;
38
+ /** The query string, already parsed. */
39
+ readonly query: URLSearchParams;
40
+ }
41
+ /**
42
+ * The JSON dialect one deployment target speaks.
43
+ *
44
+ * A wire is pure: it reads facts and returns values. It never touches the
45
+ * socket, never decides a status code, and never knows whether the reply is
46
+ * going out as one body or as a stream of frames — those are {@link httpHost}'s
47
+ * job, identical for every wire, which is the entire point of separating them.
48
+ */
49
+ export interface HttpWire {
50
+ /**
51
+ * Pull the port's vocabulary out of one request. Anything the wire cannot
52
+ * find is simply absent — a missing input is the empty string, and a missing
53
+ * session id means "no session", never an error, because refusing a request
54
+ * on the shape of its body is a policy decision that belongs above the
55
+ * transport.
56
+ */
57
+ readRequest(facts: HttpRequestFacts): {
58
+ readonly input: string;
59
+ readonly sessionId?: string;
60
+ };
61
+ /** Body for a health probe. `uptimeMs` is how long this host has been serving. */
62
+ health(uptimeMs: number): unknown;
63
+ /** Body for a reply that completed. */
64
+ output(output: string): unknown;
65
+ /** Body for a reply that failed. `code` is the refusal's stable code, when it has one. */
66
+ failure(message: string, code?: string): unknown;
67
+ /** Body for one streamed piece, when the caller asked for Server-Sent Events. */
68
+ chunk(text: string): unknown;
69
+ }
70
+ /** Options for {@link httpHost}. */
71
+ export interface HttpHostOptions {
72
+ /**
73
+ * Which adapter this is. Every refusal names it, so a caller reading an error
74
+ * learns which adapter said no rather than which file it came from.
75
+ */
76
+ readonly name: string;
77
+ /** The JSON dialect this host speaks. */
78
+ readonly wire: HttpWire;
79
+ /**
80
+ * Path that takes a request. **Required, deliberately.** A default here would
81
+ * be inherited by every adapter built on this file, and a default that
82
+ * silently matched one runtime's container contract is exactly how a vendor
83
+ * leaks into a library that promises not to know about one.
84
+ */
85
+ readonly invokePath: string;
86
+ /** Path that answers a health probe. Required, for the same reason. */
87
+ readonly healthPath: string;
88
+ /** Port to bind. Default `8080`. Pass `0` for an ephemeral port. */
89
+ readonly port?: number;
90
+ /** Interface to bind. Default `'0.0.0.0'`. */
91
+ readonly hostname?: string;
92
+ /** What this adapter claims beyond the baseline. Default `['streaming']`. */
93
+ readonly capabilities?: readonly HostCapability[];
94
+ }
95
+ /** A {@link HostHandle} that also says where it landed. */
96
+ export interface HttpHostHandle extends HostHandle {
97
+ /** Where it is actually listening, e.g. `http://127.0.0.1:53211`. */
98
+ readonly url: string;
99
+ /** The port it actually bound — the real one, when you asked for `0`. */
100
+ readonly port: number;
101
+ }
102
+ /** {@link AgentHost} narrowed to an HTTP handle. */
103
+ export interface HttpHost extends AgentHost {
104
+ serve(handler: HostHandler): Promise<HttpHostHandle>;
105
+ }
106
+ /**
107
+ * An HTTP host for one handler, speaking the dialect you hand it.
108
+ *
109
+ * @example The same machinery, two dialects
110
+ * httpHost({ name: 'nodeHost', wire: jsonWire, invokePath: '/invoke', healthPath: '/health' });
111
+ * httpHost({ name: 'myRuntime', wire: myWire, invokePath: '/v1/run', healthPath: '/up' });
112
+ */
113
+ export declare function httpHost(options: HttpHostOptions): HttpHost;
114
+ /**
115
+ * Read a header case-insensitively from already-lower-cased facts.
116
+ *
117
+ * Exported because every wire that maps a header needs it and re-deriving it
118
+ * per adapter is how one of them ends up matching only the exact casing the
119
+ * author happened to test with.
120
+ */
121
+ export declare function headerValue(facts: HttpRequestFacts, name: string, ...fallbacks: string[]): string | undefined;