import { RuntimeArtifactService } from "./artifact_service.js";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
/**
 * RuntimeArtifactService provides generic by-id artifact bytes retrieval for
 * runtime-emitted artifacts (audio / image / video / music / etc.).
 *
 * Authority: K-AGCORE-053 (.nimi/spec/runtime/kernel/runtime-artifact-contract.md)
 * SDK consume surface: S-RUNTIME-111 (.nimi/spec/sdk/kernel/runtime-contract.md)
 *
 * Use cases:
 * - avatar app reads voice_playback_requested.audio_artifact_id bytes for
 *   wLipSync analysis + AudioContext decode + speaker output.
 * - future image/video/music consumers read by id without depending on
 *   ScenarioJob (artifacts may originate from realtime, cache, streaming TTS,
 *   local voice engine, or user upload).
 *
 * Orthogonal to:
 * - RuntimeAiService.GetScenarioArtifacts (job-typed media projection;
 *   S-RUNTIME-073)
 * - RuntimeAiService.GetVoiceAsset (voice asset library)
 * - RuntimeAiService.UploadArtifact (write-side; distinct semantics)
 *
 * Trust model: same as existing getScenarioArtifacts/getVoiceAsset
 * (single-process / single-user / single-tenant). Multi-tenant ACL is
 * reserved future; ARTIFACT_FORBIDDEN reason code admitted but never
 * returned by current deployment.
 *
 * @generated from protobuf service nimi.runtime.v1.RuntimeArtifactService
 */
export class RuntimeArtifactServiceClient {
    _transport;
    typeName = RuntimeArtifactService.typeName;
    methods = RuntimeArtifactService.methods;
    options = RuntimeArtifactService.options;
    constructor(_transport) {
        this._transport = _transport;
    }
    /**
     * Read artifact bytes by runtime-owned artifact_id.
     *
     * Reason codes (admitted in common.proto ARTIFACT family 600+):
     * - ARTIFACT_INVALID_INPUT (codes.InvalidArgument): empty/malformed artifact_id
     * - ARTIFACT_NOT_FOUND (codes.NotFound): id not in runtime storage
     * - ARTIFACT_TOO_LARGE (codes.ResourceExhausted): exceeds 32 MiB inline cap
     * - ARTIFACT_FORBIDDEN (codes.PermissionDenied): multi-tenant ACL violation
     *   (reserved; current single-runtime deployment never returns this)
     *
     * ARTIFACT_MIME_MISMATCH is SDK-side only (client expectedMimePrefix check);
     * server never returns it.
     *
     * Inline retrieval is hard-capped at 32 MiB; chunked retrieval is reserved
     * for follow-up platform topic.
     *
     * Errors must be returned via grpcerr.WithReasonCode(codes.X,
     * runtimev1.ReasonCode_ARTIFACT_*) per K-ERR-003 (ReasonCode in ErrorInfo
     * details, not status message string).
     *
     * @generated from protobuf rpc: ReadArtifactBytes
     */
    readArtifactBytes(input, options) {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept("unary", this._transport, method, opt, input);
    }
}
//# sourceMappingURL=artifact_service.client.js.map