ReadonlyContractOptional structural contract fingerprint emitted by CodeGen (or set by a hand-authored
operation). Automatically forwarded on Execute when the caller didn't override
options.contractFingerprint, allowing the server resolver to detect stale client bundles.
ReadonlyExecutionWhether this operation is a plain Sync request/response or a LongRunning run.
Optional ReadonlyExposeWhen true, exposes this operation for automatic discovery by MJ AI Agent tool adapters.
Optional ReadonlyExposeWhen true, exposes this operation for automatic discovery by MJ MCP server tool adapters.
ReadonlyOperationStable registry key and wire token for this operation (e.g. RecordProcess.RunNow).
ReadonlyRequiredOptional API-key scope string (e.g. recordprocess:execute) enforced for API-key / MCP
callers by the server resolver. undefined means no scope gate; interactive users remain
bounded by their entity permissions. Informational here — the server applies it.
ReadonlyRequiresWhen true, the server only permits the system user to invoke this operation.
Optional ReadonlyToolHuman/LLM-readable description when exposed as an Agent or MCP tool.
Optional ReadonlyToolOptional JSON-Schema object describing TInput when exposed as an Agent or MCP tool.
ProtectedAuthorizePer-operation authorization hook, composed with (and applied after) the framework gates that
the server resolver runs. Returns true by default. Override to enforce operation-specific
rules against the input, acting user, and server transport context (e.g. context.requestOrigin).
The typed input payload.
The acting user.
Optional_context: RemoteOpServerContextOptional server execution context (always supplied by ExecuteServer).
True if the operation may proceed.
ProtectedcountCount how many of the mutually-exclusive scope selectors are populated. More
than one is ambiguous and is rejected the same as none, so the caller's intent
is always unambiguous (mirrors the Score action's scopeHasTarget).
The universal entry point — identical on client and server. Routes the operation through the active (or explicitly supplied) provider's IRemoteOperationProvider.RouteOperation.
The typed input payload.
Optionaloptions: RemoteOpInvokeOptionsOptional invocation options (mode, progress callback, explicit provider/user).
The result; never throws for logical failures — inspect Success / ErrorMessage.
Returns refusals as typed ResultCodes (see PredictiveStudioRefusals).
ProtectedInternalThe operation's server-side work. The default throws — a routable operation must supply a
body (CodeGen-emitted AI/default plumbing, or a hand-authored override). Implementations must
use context.provider / context.user for data access (never new Metadata()), per the
multi-provider rule.
The typed input payload.
The owning provider for data access.
The acting user.
The full server execution context (provider, user, progress emitter, handle, origin, IP).
The typed output payload.
ProtectedrunnerThe scoring runner to delegate to. Overridable so unit tests inject a mock with
no live DB / sidecar (mirrors the Action's createRunner seam). The production
default (ProductionScoreRecordSetRunner) resolves the scope and drives
the MLModelInferenceProcessor — the SAME path the Score action uses.
StaticGetDiscovers all ClassFactory-registered BaseRemotableOperation subclasses that opt into
AI Agent (ExposeAsAgentTool) and/or MCP (ExposeAsMCPTool) tool exposure.
Optionalfilter: { agentOnly?: boolean; mcpOnly?: boolean }
Server implementation of
PredictiveStudio.ScoreRecordSet. Extends the CodeGen-emitted PredictiveStudioScoreRecordSetOperation base (ExecutionMode='LongRunning',RequiredScope='predictive:execute') and supplies only the body; registered last so it wins server-side dispatch.