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

Function parseOAuthClientOrigin

packages/core/sdk/src/oauth-service.ts:353–381  ·  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

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

Callers 2

dcrCandidatesForIssuerFunction · 0.85
listClientsFunction · 0.85

Calls 1

isDcrClassifiedRowFunction · 0.90

Tested by

no test coverage detected