MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / parseOAuthClientOrigin

Function parseOAuthClientOrigin

packages/core/sdk/src/oauth-service.ts:365–393  ·  view source on GitHub ↗
(row: {
  readonly slug?: unknown;
  readonly grant?: unknown;
  readonly resource?: unknown;
  readonly origin_kind?: unknown;
  readonly origin_integration?: unknown;
})

Source from the content-addressed store, hash-verified

363};
364
365const parseOAuthClientOrigin = (row: {
366 readonly slug?: unknown;
367 readonly grant?: unknown;
368 readonly resource?: unknown;
369 readonly origin_kind?: unknown;
370 readonly origin_integration?: unknown;
371}): OAuthClientOrigin => {
372 // Shared DCR classification (explicit origin_kind OR the legacy MCP-shaped
373 // heuristic) lives in `oauth-gc` so the runtime and the GC/backfill
374 // migrations agree exactly on what counts as a DCR row.
375 if (!isDcrClassifiedRow(row)) {
376 return {
377 kind: "manual",
378 integration:
379 row.origin_integration == null
380 ? null
381 : IntegrationSlug.make(String(row.origin_integration)),
382 };
383 }
384 // An explicit-origin DCR row carries its requesting integration; a
385 // heuristic-classified legacy row (null origin_kind) has none.
386 return {
387 kind: "dynamic_client_registration",
388 integration:
389 row.origin_kind === "dynamic_client_registration" && row.origin_integration != null
390 ? IntegrationSlug.make(String(row.origin_integration))
391 : null,
392 };
393};
394
395interface LoadedOAuthClient {
396 readonly slug: string;

Callers 2

dcrCandidatesForIssuerFunction · 0.85
listClientsFunction · 0.85

Calls 1

isDcrClassifiedRowFunction · 0.90

Tested by

no test coverage detected