@salesforce/sfdx-agent-harness-openai 0.0.1 → 0.1.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/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
3
3
  All notable changes to `@salesforce/sfdx-agent-harness-openai` are documented in this file. Format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
+ ## [0.1.0] - 2026-07-27
7
+
8
+ ### Features
9
+ - **harness-openai**: skills bridge (AgentConfig.skills + multi-file skills) @W-23546666 ([#694](https://github.com/forcedotcom/agentic-dx/pull/694))
10
+ - **harness-openai**: rules loader (AgentConfig.rules support) @W-23546667@ ([#689](https://github.com/forcedotcom/agentic-dx/pull/689))
11
+ - **harness-openai**: MCP-tool approval gating @W-23546664@ ([#688](https://github.com/forcedotcom/agentic-dx/pull/688))
12
+
6
13
  ## [0.0.1] - 2026-07-22
7
14
 
8
15
  ### Features
package/README.md CHANGED
@@ -10,10 +10,19 @@ OpenAI Agents SDK-backed `AgentHarness` implementation for [`@salesforce/sfdx-ag
10
10
  > lifecycle + `updateAgent` preservation (#541), E's compaction / telemetry / hooks, and F's full conformance-gate + e2e
11
11
  > closeout. Every `AgentHarness` method has a working implementation, the shared cross-harness conformance gate is
12
12
  > green, and the harness passes the SDK's `describe.each` e2e matrix under `--harness openai` against the real gateway.
13
- > **Known deferred gaps** (each excluded from the e2e matrix with a documented rationale, not a silent skip): MCP-tool
14
- > **approval gating** (the `@openai/agents` native `Agent({ mcpServers })` attach exposes no per-tool `needsApproval`
15
- > hook), **multimodal** input (the harness is text-only), `AgentConfig.rules` / `skills` composition, and MCP
16
- > `tool-progress`. Consumer-tool approval + `submitToolResult`, and tool-result redaction, ARE supported.
13
+ > **MCP-tool approval gating IS supported** (added post-F): a `require-approval` / `deny` policy on an MCP tool surfaces
14
+ > a `tool-approval-request` and honors the parked-approval lifecycle. When a policy gates MCP tools (or a redaction hook
15
+ > is set), the harness materializes MCP tools via `getAllMcpTools(...)` and stamps a `needsApproval` predicate on each,
16
+ > so the run loop raises the interruption the coordinator already routes. Consumer-tool approval + `submitToolResult`,
17
+ > and tool-result redaction, are likewise supported. **`AgentConfig.rules` composition IS supported** (added post-F,
18
+ > W-23546667): `createAgent` / `updateAgent` load each rule file/directory, strip YAML frontmatter, and compose the
19
+ > bodies onto the effective system prompt — so the harness rejoins the dual-harness rules e2e. **`AgentConfig.skills`
20
+ > composition IS supported** (added post-F, W-23546666): `createAgent` / `updateAgent` load `config.skills` into a skill
21
+ > catalog exposed to the model as `load_skill` / `read_skill_file` function tools (the latter serving a skill's sibling
22
+ > files), so the harness rejoins the dual-harness skills e2e including multi-file skill reachability. **Known deferred
23
+ > gaps** (each excluded from the e2e matrix with a documented rationale, not a silent skip): **multimodal** input (the
24
+ > harness is text-only), and MCP **`tool-progress`** — the last is blocked UPSTREAM (`@openai/agents` 0.13.x exposes no
25
+ > seam to reach MCP `notifications/progress`) and tracked as W-23558557, not a harness gap.
17
26
 
18
27
  ## What it is
19
28
 
@@ -179,19 +179,20 @@ export declare class OpenAIAgentsHarness implements OpenAIAgentsAgentHarness {
179
179
  * request) with tracing off. `tools` carries the turn's consumer-executed
180
180
  * tools (mapped from `config.tools`).
181
181
  *
182
- * **MCP attach, two paths.** Without a redaction hook (`redaction`
183
- * undefined the common case), the agent's live MCP server instances attach
184
- * via the native `mcpServers` field; the SDK fetches their tools per run.
185
- * Because each instance has `cacheToolsList: true` (cache keyed by
182
+ * **MCP attach, two paths.** With neither a redaction hook nor an active
183
+ * approval gate (the common case), the agent's live MCP server instances
184
+ * attach via the native `mcpServers` field; the SDK fetches their tools per
185
+ * run. Because each instance has `cacheToolsList: true` (cache keyed by
186
186
  * `server.name`) and this harness reuses the SAME connected instances across
187
187
  * turns, a rebuilt `Agent` here does not re-run `tools/list` for a preserved
188
- * server — the #541 preservation mechanic. MCP tools are NOT approval-gated
189
- * this milestone (the native attach exposes no per-tool `needsApproval`).
188
+ * server — the #541 preservation mechanic.
190
189
  *
191
- * **When a redaction hook is set,** the native attach exposes no per-result
192
- * rewrite seam, so MCP tools are materialized via `getAllMcpTools(...)` and
193
- * their `invoke` wrapped with the redactor (see {@link buildRedactedMcpTools});
194
- * they attach as `tools` rather than `mcpServers`. #541 is preserved because
190
+ * **When a redaction hook OR an approval gate is set,** the native attach
191
+ * exposes neither a per-result rewrite seam nor a per-tool `needsApproval`
192
+ * seam, so MCP tools are materialized via `getAllMcpTools(...)` and rebuilt
193
+ * with the active hooks (see {@link buildManagedMcpTools}): a redaction shim
194
+ * on `invoke` and/or a `needsApproval` predicate driven by the policy. They
195
+ * attach as `tools` rather than `mcpServers`. #541 is preserved because
195
196
  * `getAllMcpTools` reads each server's warm `cacheToolsList` cache with no
196
197
  * network `tools/list`. This makes the method async (the materialize awaits
197
198
  * `listTools()`), so `stream()` awaits it.
@@ -274,7 +275,16 @@ export declare class OpenAIAgentsHarness implements OpenAIAgentsAgentHarness {
274
275
  private diffMcpServers;
275
276
  /** Close every MCP server on an agent, awaiting in-flight discovery first. */
276
277
  private closeMcpServers;
277
- /** Rebuild the catalog entries for one server from its freshly-discovered tools. */
278
+ /**
279
+ * Rebuild the catalog entries for one server from its freshly-discovered
280
+ * tools. Keys each entry by the tool's **sanitized display name** (what
281
+ * `@openai/agents` registers on materialized tools and run-item events — see
282
+ * {@link toFunctionToolName}), while preserving the original bare MCP name as
283
+ * `toolName`. Keying by the raw name would miss enrichment for any tool whose
284
+ * name carries a character the SDK sanitizes to `_` (e.g. `get-sum` →
285
+ * `get_sum`), so neither the event adapter nor the approval gate would see
286
+ * its `serverName`.
287
+ */
278
288
  private refreshCatalogForServer;
279
289
  /** Drop every catalog entry that points at `serverName`. */
280
290
  private removeCatalogForServer;
@@ -12,9 +12,12 @@ import { buildMcpErrorDetail, sanitizeMcpErrorMessage } from './mcp-error-classi
12
12
  import { hasEnabledServers, mapToOpenAIMcpServers } from './openai-mcp-config-mapper.js';
13
13
  import { MAX_TRANSCRIPT_CHARS, messagesToRecords, partToTranscriptText, recordsToMessages, splitIntoChunks, } from './openai-message-mapper.js';
14
14
  import { buildOpenAIModelProvider } from './openai-model-provider.js';
15
+ import { composeRulesAppend, composeSystemPrompt } from './rule-composer.js';
15
16
  import { OpenAISessionStore } from './openai-session-store.js';
17
+ import { buildSkillMap } from './skill-loader.js';
18
+ import { buildSkillTools } from './openai-skill-tools.js';
16
19
  import { ConsumerToolRegistry, mapConsumerTools } from './openai-tool-mapper.js';
17
- import { buildRedactedMcpTools } from './openai-tool-redaction.js';
20
+ import { buildManagedMcpTools } from './openai-tool-redaction.js';
18
21
  /**
19
22
  * OpenAI Agents SDK-backed implementation of the SDK's `AgentHarness` contract.
20
23
  *
@@ -119,11 +122,21 @@ export class OpenAIAgentsHarness {
119
122
  if (this.agents.has(agentId)) {
120
123
  throw new Error(`Agent with id "${agentId}" is already registered`);
121
124
  }
125
+ options?.abortSignal?.throwIfAborted();
126
+ // Compose `config.rules` and load `config.skills` BEFORE registering
127
+ // state or starting MCP servers, so a bad/unreadable rule or skill path
128
+ // rejects `createAgent` before any MCP client is constructed (matching
129
+ // Mastra's Phase-0 posture — a non-MCP input failure can't leave servers
130
+ // half-cycled).
131
+ const rulesAppend = await composeRulesAppend(config?.rules);
132
+ const skillMap = await buildSkillMap(config?.skills, projectRoot, this.buses.getLogBus());
122
133
  const state = {
123
134
  projectRoot,
124
135
  config: config ?? {},
125
136
  modelConnectivityInfo,
126
137
  hooks: options?.hooks ?? {},
138
+ rulesAppend,
139
+ skillMap,
127
140
  // The provider reads the live bag on every `getModel()` so a
128
141
  // within-shape modelId swap / JWT rotation lands without a rebuild.
129
142
  modelProvider: this.modelProviderFactory(() => this.getAgentOrThrow(agentId).modelConnectivityInfo),
@@ -218,6 +231,24 @@ export class OpenAIAgentsHarness {
218
231
  // fresh id must still persist under that thread rather than silently
219
232
  // dropping history.
220
233
  state.threads.add(threadId);
234
+ // Debug-emit the composed system prompt (config.instructions, with any
235
+ // rule bodies folded in by composeSystemPrompt) so consumers — notably
236
+ // the dual-harness rules e2e (#493) — can deterministically assert that
237
+ // `AgentConfig.rules` / `AgentConfig.instructions` reached the underlying
238
+ // runtime, without model-output marker assertions. The Mastra and Claude
239
+ // harnesses emit the equivalent `assembled systemPrompt` record from
240
+ // their own `stream()`, so the e2e captures the same record shape on
241
+ // every harness. Skip when the assembled body is empty (no instructions,
242
+ // no rules) so the emit guard matches the sibling harnesses' "skip when
243
+ // no system prompt is configured" posture.
244
+ const composedSystemPrompt = composeSystemPrompt(state.config.instructions, state.rulesAppend);
245
+ if (composedSystemPrompt.length > 0) {
246
+ this.buses.getLogBus()?.debug('openai harness assembled systemPrompt', {
247
+ agentId,
248
+ threadId,
249
+ systemPrompt: composedSystemPrompt,
250
+ });
251
+ }
221
252
  const input = lowerMessageToText(message);
222
253
  // The disk-backed Session the runner reads history from and appends new
223
254
  // items to. Passing it to `run(..., { session })` is what makes the turn
@@ -227,13 +258,10 @@ export class OpenAIAgentsHarness {
227
258
  // interruption, or `undefined` when gating is off for this turn (the
228
259
  // SDK's "no policy ⇒ no gating" back-compat path). Frozen at stream start;
229
260
  // the closure reads `state.config` live per call so a mid-turn
230
- // `updateAgentConfig` ("Allow always") is honored. Note: no tool the
231
- // harness registers today carries a `needsApproval` predicate MCP tools
232
- // attach via the SDK's native path, which exposes no per-tool
233
- // `needsApproval` hook, so they are NOT approval-gated this milestone
234
- // (gating is a deferred follow-up). This decider is therefore dormant in
235
- // production, though the coordinator plumbing it drives is exercised by
236
- // the coordinator unit tests.
261
+ // `updateAgentConfig` ("Allow always") is honored. When active, the same
262
+ // decider also drives the `needsApproval` predicate on materialized MCP
263
+ // tools (below), so a `require-approval` / `deny` MCP tool raises the
264
+ // interruption this decider then routes.
237
265
  const policy = this.buildPolicyGate(state);
238
266
  // The tool-result redaction context, or `undefined` when the agent has no
239
267
  // `onToolResult` hook (both redaction seams then take their zero-cost
@@ -253,7 +281,14 @@ export class OpenAIAgentsHarness {
253
281
  ? new ConsumerToolRegistry(new Set(consumerToolDefs.map((t) => t.name)))
254
282
  : undefined;
255
283
  const tools = consumerTools ? mapConsumerTools(consumerToolDefs, consumerTools, redaction) : [];
256
- const { agent, runner } = await this.buildAgent(agentId, state, tools, redaction);
284
+ // MCP-tool approval gate: when a policy is active, each materialized MCP
285
+ // tool gets a `needsApproval` predicate resolving this same decider over
286
+ // the enriched invocation (bare name → `{ serverName, annotations }` via
287
+ // the live catalog). `undefined` when gating is off, so MCP tools carry
288
+ // no predicate and never suspend. Materialization is forced whenever this
289
+ // OR `redaction` is set — the native attach exposes neither hook.
290
+ const mcpApproval = policy !== undefined ? { policy, mcpCatalog: state.mcpCatalog } : undefined;
291
+ const { agent, runner } = await this.buildAgent(agentId, state, tools, redaction, mcpApproval);
257
292
  // One coordinator owns this turn's run stream + sink + teardown. Dispose
258
293
  // any prior coordinator on the same thread first so a re-`stream()`
259
294
  // mid-turn can't leave a stale pump running against the old sink.
@@ -265,25 +300,20 @@ export class OpenAIAgentsHarness {
265
300
  session,
266
301
  policy,
267
302
  consumerTools,
268
- onConsumerToolErrors: (toolCallIds) => {
303
+ onToolResultErrors: (toolCallIds) => {
269
304
  // Stamp `isError` onto the persisted `function_call_result`
270
- // records for consumer tools the consumer settled with an error
271
- // the run loop wrote them without it (the OpenAI item shape has no
272
- // `isError` field). Best-effort: a persistence failure here must
273
- // not fail the settled turn, and the store's per-thread queue
274
- // orders this after the run's writes.
275
- void this.sessions.markToolResultError(agentId, threadId, toolCallIds).catch((error) => this.buses.getLogBus()?.warn('Failed to persist consumer-tool isError', {
305
+ // records the run loop wrote without it (the OpenAI item shape
306
+ // has no `isError` field): consumer tools the consumer settled
307
+ // with an error, plus MCP tools the coordinator rejected (policy
308
+ // deny / user decline). Best-effort: a persistence failure here
309
+ // must not fail the settled turn, and the store's per-thread
310
+ // queue orders this after the run's writes.
311
+ void this.sessions.markToolResultError(agentId, threadId, toolCallIds).catch((error) => this.buses.getLogBus()?.warn('Failed to persist tool-result isError', {
276
312
  agentId,
277
313
  threadId,
278
314
  error: getErrorMessage(error),
279
315
  }));
280
316
  },
281
- onSettled: () => {
282
- // The coordinator removes its own entry when the turn settles —
283
- // guard against a newer turn having already replaced it.
284
- if (state.coordinators.get(threadId) === coordinator)
285
- state.coordinators.delete(threadId);
286
- },
287
317
  externalSignal: abortSignal,
288
318
  // Live catalog reference so a mid-turn discovery settle enriches
289
319
  // later MCP tool events; empty when the agent has no MCP servers.
@@ -291,6 +321,10 @@ export class OpenAIAgentsHarness {
291
321
  // Factory-configured per-`toolCallId` approval timeout; the
292
322
  // coordinator falls back to its own default when undefined.
293
323
  toolApprovalTimeoutMs: this.toolApprovalTimeoutMs,
324
+ // Emission shape for a parallel `tool_use` batch's approvals: batch
325
+ // (all requests up front) vs serial (one at a time). Defaults to
326
+ // serial when unset, mirroring the sibling harnesses.
327
+ batchApprovals: options?.batchApprovals,
294
328
  // The turn's step limit → `run(..., { maxTurns })`. Undefined leaves
295
329
  // the SDK default in place; a hit surfaces as `finish('max-steps')`.
296
330
  maxTurns: options?.maxSteps,
@@ -344,12 +378,16 @@ export class OpenAIAgentsHarness {
344
378
  async updateAgent(agentId, modelConnectivityInfo, config, options) {
345
379
  const state = this.getAgentOrThrow(agentId);
346
380
  options?.abortSignal?.throwIfAborted();
347
- // Phase 0 — validate non-MCP inputs BEFORE touching any MCP client, so a
348
- // bad input can't leave servers half-cycled. This harness has no
349
- // rules/skills/workspace to load (unlike Mastra), and `instructions` is a
350
- // plain string, so there is nothing to validate today the phase is a
351
- // deliberate no-op. Kept as an explicit ordering anchor so a future
352
- // non-MCP validation lands here, before Phase 1.
381
+ // Phase 0 — load non-MCP inputs BEFORE touching any MCP client, so a bad
382
+ // input can't leave servers half-cycled. Re-compose `config.rules` and
383
+ // re-load `config.skills`: a bad/unreadable rule or skill path rejects
384
+ // here, before the Phase 1 MCP diff cycles any transport (mirrors
385
+ // Mastra's Phase 0). `updateAgent` is atomic a bad skill path in the
386
+ // new config rejects the whole update rather than applying the MCP delta
387
+ // and silently dropping the skill delta. Neither result is stamped onto
388
+ // state until Phase 2, so a rejection leaves the live agent untouched.
389
+ const rulesAppend = await composeRulesAppend(config?.rules);
390
+ const skillMap = await buildSkillMap(config?.skills, state.projectRoot, this.buses.getLogBus());
353
391
  // Phase 1 — diff the next MCP config against the applied one, preserving
354
392
  // structurally-equal servers and cycling the rest. Per-server Map
355
393
  // mutations are synchronous so a re-entrant rollback `updateAgent`
@@ -358,11 +396,16 @@ export class OpenAIAgentsHarness {
358
396
  this.diffMcpServers(agentId, state, next, config?.orgJwt, options?.abortSignal);
359
397
  // Phase 2 — apply non-MCP changes. The model provider closure and
360
398
  // `buildAgent` both read these live, so no provider/agent rebuild is
361
- // required; `hooks` is re-stamped for the next turn's tool-result seam.
399
+ // required; `hooks` is re-stamped for the next turn's tool-result seam,
400
+ // the freshly-composed `rulesAppend` is folded onto the next turn's
401
+ // instructions, and the reloaded `skillMap` backs the next turn's skill
402
+ // tools.
362
403
  state.config = config ?? {};
363
404
  state.mcpConfig = config?.mcpServers;
364
405
  state.modelConnectivityInfo = modelConnectivityInfo;
365
406
  state.hooks = options?.hooks ?? {};
407
+ state.rulesAppend = rulesAppend;
408
+ state.skillMap = skillMap;
366
409
  }
367
410
  // ── MCP Introspection / Reconnect ────────────────────────────────────
368
411
  /**
@@ -558,47 +601,57 @@ export class OpenAIAgentsHarness {
558
601
  * request) with tracing off. `tools` carries the turn's consumer-executed
559
602
  * tools (mapped from `config.tools`).
560
603
  *
561
- * **MCP attach, two paths.** Without a redaction hook (`redaction`
562
- * undefined the common case), the agent's live MCP server instances attach
563
- * via the native `mcpServers` field; the SDK fetches their tools per run.
564
- * Because each instance has `cacheToolsList: true` (cache keyed by
604
+ * **MCP attach, two paths.** With neither a redaction hook nor an active
605
+ * approval gate (the common case), the agent's live MCP server instances
606
+ * attach via the native `mcpServers` field; the SDK fetches their tools per
607
+ * run. Because each instance has `cacheToolsList: true` (cache keyed by
565
608
  * `server.name`) and this harness reuses the SAME connected instances across
566
609
  * turns, a rebuilt `Agent` here does not re-run `tools/list` for a preserved
567
- * server — the #541 preservation mechanic. MCP tools are NOT approval-gated
568
- * this milestone (the native attach exposes no per-tool `needsApproval`).
610
+ * server — the #541 preservation mechanic.
569
611
  *
570
- * **When a redaction hook is set,** the native attach exposes no per-result
571
- * rewrite seam, so MCP tools are materialized via `getAllMcpTools(...)` and
572
- * their `invoke` wrapped with the redactor (see {@link buildRedactedMcpTools});
573
- * they attach as `tools` rather than `mcpServers`. #541 is preserved because
612
+ * **When a redaction hook OR an approval gate is set,** the native attach
613
+ * exposes neither a per-result rewrite seam nor a per-tool `needsApproval`
614
+ * seam, so MCP tools are materialized via `getAllMcpTools(...)` and rebuilt
615
+ * with the active hooks (see {@link buildManagedMcpTools}): a redaction shim
616
+ * on `invoke` and/or a `needsApproval` predicate driven by the policy. They
617
+ * attach as `tools` rather than `mcpServers`. #541 is preserved because
574
618
  * `getAllMcpTools` reads each server's warm `cacheToolsList` cache with no
575
619
  * network `tools/list`. This makes the method async (the materialize awaits
576
620
  * `listTools()`), so `stream()` awaits it.
577
621
  */
578
- async buildAgent(agentId, state, tools = [], redaction) {
622
+ async buildAgent(agentId, state, tools = [], redaction, mcpApproval) {
579
623
  const mcpServerInstances = [...state.mcpServers.values()].map((s) => s.server);
580
- // Redaction path: materialize + wrap MCP tools so their result passes
581
- // through the redactor (the native `mcpServers` attach has no such seam).
582
- // Only CONNECTED servers are materialized: their `cacheToolsList` cache is
583
- // warm (discovery succeeded), so `getAllMcpTools` reads it with no network
584
- // `tools/list` and cannot throw where an errored / still-connecting
585
- // server would make `getAllMcpTools` (which fails fast on the first
586
- // server's throw) reject the whole turn PRE-stream. Skipping them keeps a
587
- // failed MCP server from failing the turn (the WI-D contract) and matches
588
- // the Claude harness's "only connected servers surface" posture; an
589
- // errored server contributes no usable tools on the native path either.
624
+ // Materialize + manage MCP tools when EITHER a redaction hook or an
625
+ // approval gate is active — the native `mcpServers` attach exposes
626
+ // neither the per-result rewrite seam nor the per-tool `needsApproval`
627
+ // seam. Only CONNECTED servers are materialized: their `cacheToolsList`
628
+ // cache is warm (discovery succeeded), so `getAllMcpTools` reads it with
629
+ // no network `tools/list` and cannot throw where an errored /
630
+ // still-connecting server would make `getAllMcpTools` (which fails fast
631
+ // on the first server's throw) reject the whole turn PRE-stream. Skipping
632
+ // them keeps a failed MCP server from failing the turn (the WI-D
633
+ // contract) and matches the Claude harness's "only connected servers
634
+ // surface" posture; an errored server contributes no usable tools on the
635
+ // native path either.
636
+ const manageMcp = redaction !== undefined || mcpApproval !== undefined;
590
637
  const connectedMcpServers = [...state.mcpServers.values()]
591
638
  .filter((s) => s.status === McpServerStatus.Connected)
592
639
  .map((s) => s.server);
593
- const redactedMcpTools = redaction !== undefined && connectedMcpServers.length > 0
594
- ? await buildRedactedMcpTools(connectedMcpServers, redaction)
640
+ const managedMcpTools = manageMcp && connectedMcpServers.length > 0
641
+ ? await buildManagedMcpTools(connectedMcpServers, { redaction, approval: mcpApproval })
595
642
  : [];
596
- const allTools = [...tools, ...redactedMcpTools];
597
- // Attach MCP natively only when we did NOT materialize them for redaction.
598
- const attachMcpServers = redaction === undefined && mcpServerInstances.length > 0;
643
+ // Skill tools (`load_skill` / `read_skill_file`) surface the agent's
644
+ // configured skills to the model. Built fresh per turn from the live
645
+ // `state.skillMap` never cached so an `updateAgent` that changes
646
+ // `config.skills` lands on the next turn. Empty when the agent has no
647
+ // skills, so a skill-less agent's tool surface is unchanged.
648
+ const skillTools = buildSkillTools(state.skillMap);
649
+ const allTools = [...tools, ...skillTools, ...managedMcpTools];
650
+ // Attach MCP natively only when we did NOT materialize them for a hook.
651
+ const attachMcpServers = !manageMcp && mcpServerInstances.length > 0;
599
652
  const agent = new Agent({
600
653
  name: agentId,
601
- instructions: state.config.instructions ?? '',
654
+ instructions: composeSystemPrompt(state.config.instructions, state.rulesAppend),
602
655
  model: state.modelConnectivityInfo.nativeModelId,
603
656
  ...(allTools.length > 0 ? { tools: allTools } : {}),
604
657
  ...(attachMcpServers ? { mcpServers: mcpServerInstances } : {}),
@@ -888,19 +941,32 @@ export class OpenAIAgentsHarness {
888
941
  state.mcpServers.clear();
889
942
  state.mcpCatalog.clear();
890
943
  }
891
- /** Rebuild the catalog entries for one server from its freshly-discovered tools. */
944
+ /**
945
+ * Rebuild the catalog entries for one server from its freshly-discovered
946
+ * tools. Keys each entry by the tool's **sanitized display name** (what
947
+ * `@openai/agents` registers on materialized tools and run-item events — see
948
+ * {@link toFunctionToolName}), while preserving the original bare MCP name as
949
+ * `toolName`. Keying by the raw name would miss enrichment for any tool whose
950
+ * name carries a character the SDK sanitizes to `_` (e.g. `get-sum` →
951
+ * `get_sum`), so neither the event adapter nor the approval gate would see
952
+ * its `serverName`.
953
+ */
892
954
  refreshCatalogForServer(state, serverName, tools) {
893
955
  this.removeCatalogForServer(state, serverName);
894
956
  for (const tool of tools) {
895
957
  const annotations = tool.annotations;
896
- state.mcpCatalog.set(tool.name, { serverName, ...(annotations !== undefined ? { annotations } : {}) });
958
+ state.mcpCatalog.set(toFunctionToolName(tool.name), {
959
+ serverName,
960
+ toolName: tool.name,
961
+ ...(annotations !== undefined ? { annotations } : {}),
962
+ });
897
963
  }
898
964
  }
899
965
  /** Drop every catalog entry that points at `serverName`. */
900
966
  removeCatalogForServer(state, serverName) {
901
- for (const [bareToolName, entry] of state.mcpCatalog) {
967
+ for (const [displayName, entry] of state.mcpCatalog) {
902
968
  if (entry.serverName === serverName)
903
- state.mcpCatalog.delete(bareToolName);
969
+ state.mcpCatalog.delete(displayName);
904
970
  }
905
971
  }
906
972
  /**
@@ -992,6 +1058,21 @@ function toMcpToolInfo(serverName, tool) {
992
1058
  function isJsonObject(value) {
993
1059
  return typeof value === 'object' && value !== null && !Array.isArray(value);
994
1060
  }
1061
+ /**
1062
+ * Sanitize an MCP tool name to the function-tool identifier `@openai/agents`
1063
+ * registers it under. A byte-identical copy of the SDK's internal
1064
+ * `toFunctionToolName` (`@openai/agents-core` `utils/tools.ts`), which is not
1065
+ * exported: whitespace and every non-alphanumeric character become `_`. The
1066
+ * SDK applies this to both the materialized function tool's `name` and the
1067
+ * `tool_called` / `tool_output` run-item names, so the harness must key its MCP
1068
+ * catalog by the same transformed name for enrichment + approval lookups to hit
1069
+ * (e.g. a `tools/list` name `get-sum` surfaces as `get_sum`). Kept local rather
1070
+ * than reached through a deep import per the harness-isolation rule; the
1071
+ * transform is a stable identifier-safety rule unlikely to drift.
1072
+ */
1073
+ function toFunctionToolName(name) {
1074
+ return name.replace(/\s/g, '_').replace(/[^a-zA-Z0-9]/g, '_');
1075
+ }
995
1076
  /**
996
1077
  * Lowers a `stream()` message to the plain-text `input` the OpenAI Agents run
997
1078
  * loop takes. Only `text` parts are supported; multimodal input is not yet
@@ -1 +1 @@
1
- {"version":3,"file":"openai-agents-harness.js","sourceRoot":"","sources":["../src/openai-agents-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-agents-harness.js","sourceRoot":"","sources":["../src/openai-agents-harness.ts"],"names":[],"mappings":"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"}