MCPcopy
hub / github.com/coder/mux / setPendingRunMetadata

Method setPendingRunMetadata

src/node/services/devToolsService.ts:115–137  ·  view source on GitHub ↗

* Queue metadata to be merged into the next run created for this workspace. * * This bridges the timing gap between policy resolution in AIService (before * any provider call) and lazy run creation in DevTools middleware (on first * provider invocation). Metadata is consumed exactly once

(
    workspaceId: string,
    metadataId: string,
    metadata: Partial<Pick<DevToolsRun, "toolPolicy">>
  )

Source from the content-addressed store, hash-verified

113 * provider invocation). Metadata is consumed exactly once by createRun.
114 */
115 setPendingRunMetadata(
116 workspaceId: string,
117 metadataId: string,
118 metadata: Partial<Pick<DevToolsRun, "toolPolicy">>
119 ): void {
120 assert(
121 workspaceId.trim().length > 0,
122 "DevToolsService.setPendingRunMetadata requires a workspaceId"
123 );
124 assert(
125 metadataId.trim().length > 0,
126 "DevToolsService.setPendingRunMetadata requires a metadataId"
127 );
128
129 if (!this.enabled) {
130 return;
131 }
132
133 const byWorkspace =
134 this.pendingRunMetadata.get(workspaceId) ?? new Map<string, PendingRunMetadata>();
135 byWorkspace.set(metadataId, metadata);
136 this.pendingRunMetadata.set(workspaceId, byWorkspace);
137 }
138
139 /**
140 * Drop queued run metadata for a workspace.

Callers 2

streamMessageMethod · 0.80

Calls 3

setMethod · 0.80
getMethod · 0.65
assertFunction · 0.50

Tested by

no test coverage detected