The injected admin surfaces. Omit any (or all) to preserve the not-bound seam behavior for that identity type.
Provisions an identity for an agent and returns the concrete value (+ provider detail). The caller persists the result onto an MJAIBridgeAgentIdentityEntity (see ApplyProvisionResultToIdentity); this method does NOT write the row itself, keeping the provisioner free of MJ entity concerns.
What to provision.
The provisioned identity detail.
Provisioner over injected admin surfaces. Implements IAgentIdentityProvisioner for the §1e identity types — Graph mailbox/
Email, Google WorkspaceEmail, and the telephony carrierPhoneNumberpath — each over an injected admin surface so the package builds + unit-tests with no admin-SDK install and no network. Pure request→payload mapping lives in thebuild*Payloadhelpers; this class only routes byIdentityType, calls the surface, and shapes the AgentIdentityProvisionResult the existing ApplyProvisionResultToIdentity consumes.When the surface required for a request's
IdentityTypeis not bound, it preserves the original seam behavior — throwing IdentityProvisionerNotBoundError so a misconfigured deployment fails loudly rather than silently never provisioning. Constructing it with no options reproduces the prior "throws for every type" stub exactly.Remarks
TODO (production): bind
@microsoft/microsoft-graph-client/googleapis/ the carrier SDK (all optionalDependencies), resolve the admin credential from the providerConfigurationvia MJ's credential system, and inject them as the AgentIdentityProvisionerOptions surfaces.