jmap-kit
    Preparing search index...

    Variable CoreCapabilityConst

    CoreCapability: {
        invocations: {
            Blob: {
                request: {
                    copy: InvocationFactory<
                        BlobCopyRequestInvocationArgs,
                        BlobInvocation<BlobCopyRequestInvocationArgs>,
                    >;
                };
                response: {
                    copy: InvocationFactory<
                        BlobCopyResponseInvocationArgs,
                        BlobInvocation<BlobCopyResponseInvocationArgs>,
                    >;
                };
            };
            Core: {
                request: {
                    echo: InvocationFactory<
                        BaseInvocationArgs,
                        CoreInvocation<BaseInvocationArgs>,
                    >;
                };
                response: {
                    echo: InvocationFactory<
                        BaseInvocationArgs,
                        CoreInvocation<BaseInvocationArgs>,
                    >;
                };
            };
        };
        schema: {
            serverCapability: ZodObject<
                {
                    collationAlgorithms: ZodArray<ZodString>;
                    maxCallsInRequest: ZodNumber;
                    maxConcurrentRequests: ZodNumber;
                    maxConcurrentUpload: ZodNumber;
                    maxObjectsInGet: ZodNumber;
                    maxObjectsInSet: ZodNumber;
                    maxSizeRequest: ZodNumber;
                    maxSizeUpload: ZodNumber;
                },
                $loose,
            >;
        };
        uri: "urn:ietf:params:jmap:core";
        validators: (
            | {
                hook: "pre-build";
                name: string;
                trigger: PluginTrigger;
                validate(
                    this: void,
                    context: PluginContext<"pre-build">,
                ): MaybePromise<ValidationResult>;
            }
            | {
                hook: "post-serialization";
                name: string;
                trigger: PluginTrigger;
                validate(
                    this: void,
                    context: PluginContext<"post-serialization">,
                ): MaybePromise<ValidationResult>;
            }
            | {
                hook: "invocation";
                name: string;
                trigger: {
                    capabilityUri?: keyof JMAPServerCapabilities;
                    dataType?: JMAPDataType;
                    method?: JMAPMethodName;
                };
                validate(
                    this: void,
                    context: BasePluginContext & {
                        invocation: Invocation<
                            BaseGetRequestInvocationArgs<BaseInvocationArgs>,
                        >;
                    },
                ): MaybePromise<ValidationResult>;
            }
            | {
                hook: "invocation";
                name: string;
                trigger: {
                    capabilityUri?: keyof JMAPServerCapabilities;
                    dataType?: JMAPDataType;
                    method?: JMAPMethodName;
                };
                validate(
                    this: void,
                    context: BasePluginContext & {
                        invocation: Invocation<
                            BaseSetRequestInvocationArgs<BaseInvocationArgs>,
                        >;
                    },
                ): MaybePromise<ValidationResult>;
            }
            | {
                hook: "invocation";
                name: string;
                trigger: {
                    capabilityUri?: keyof JMAPServerCapabilities;
                    dataType?: JMAPDataType;
                    method?: JMAPMethodName;
                };
                validate(
                    this: void,
                    context: BasePluginContext & {
                        invocation: Invocation<
                            BaseQueryRequestInvocationArgs<
                                BaseInvocationArgs,
                                BaseFilterCondition,
                            >,
                        >;
                    },
                ): MaybePromise<ValidationResult>;
            }
            | {
                hook: "invocation";
                name: string;
                trigger: {
                    capabilityUri?: keyof JMAPServerCapabilities;
                    dataType?: JMAPDataType;
                    method?: JMAPMethodName;
                };
                validate(
                    this: void,
                    context: BasePluginContext & {
                        invocation: Invocation<BlobCopyRequestInvocationArgs>;
                    },
                ): MaybePromise<ValidationResult>;
            }
        )[];
    } = ...

    Defines the Core capability, including Core/echo and Blob/copy invocations and validation plugins.

    Type Declaration

    • invocations: {
          Blob: {
              request: {
                  copy: InvocationFactory<
                      BlobCopyRequestInvocationArgs,
                      BlobInvocation<BlobCopyRequestInvocationArgs>,
                  >;
              };
              response: {
                  copy: InvocationFactory<
                      BlobCopyResponseInvocationArgs,
                      BlobInvocation<BlobCopyResponseInvocationArgs>,
                  >;
              };
          };
          Core: {
              request: {
                  echo: InvocationFactory<
                      BaseInvocationArgs,
                      CoreInvocation<BaseInvocationArgs>,
                  >;
              };
              response: {
                  echo: InvocationFactory<
                      BaseInvocationArgs,
                      CoreInvocation<BaseInvocationArgs>,
                  >;
              };
          };
      }
    • schema: {
          serverCapability: ZodObject<
              {
                  collationAlgorithms: ZodArray<ZodString>;
                  maxCallsInRequest: ZodNumber;
                  maxConcurrentRequests: ZodNumber;
                  maxConcurrentUpload: ZodNumber;
                  maxObjectsInGet: ZodNumber;
                  maxObjectsInSet: ZodNumber;
                  maxSizeRequest: ZodNumber;
                  maxSizeUpload: ZodNumber;
              },
              $loose,
          >;
      }
    • uri: "urn:ietf:params:jmap:core"
    • validators: (
          | {
              hook: "pre-build";
              name: string;
              trigger: PluginTrigger;
              validate(
                  this: void,
                  context: PluginContext<"pre-build">,
              ): MaybePromise<ValidationResult>;
          }
          | {
              hook: "post-serialization";
              name: string;
              trigger: PluginTrigger;
              validate(
                  this: void,
                  context: PluginContext<"post-serialization">,
              ): MaybePromise<ValidationResult>;
          }
          | {
              hook: "invocation";
              name: string;
              trigger: {
                  capabilityUri?: keyof JMAPServerCapabilities;
                  dataType?: JMAPDataType;
                  method?: JMAPMethodName;
              };
              validate(
                  this: void,
                  context: BasePluginContext & {
                      invocation: Invocation<
                          BaseGetRequestInvocationArgs<BaseInvocationArgs>,
                      >;
                  },
              ): MaybePromise<ValidationResult>;
          }
          | {
              hook: "invocation";
              name: string;
              trigger: {
                  capabilityUri?: keyof JMAPServerCapabilities;
                  dataType?: JMAPDataType;
                  method?: JMAPMethodName;
              };
              validate(
                  this: void,
                  context: BasePluginContext & {
                      invocation: Invocation<
                          BaseSetRequestInvocationArgs<BaseInvocationArgs>,
                      >;
                  },
              ): MaybePromise<ValidationResult>;
          }
          | {
              hook: "invocation";
              name: string;
              trigger: {
                  capabilityUri?: keyof JMAPServerCapabilities;
                  dataType?: JMAPDataType;
                  method?: JMAPMethodName;
              };
              validate(
                  this: void,
                  context: BasePluginContext & {
                      invocation: Invocation<
                          BaseQueryRequestInvocationArgs<
                              BaseInvocationArgs,
                              BaseFilterCondition,
                          >,
                      >;
                  },
              ): MaybePromise<ValidationResult>;
          }
          | {
              hook: "invocation";
              name: string;
              trigger: {
                  capabilityUri?: keyof JMAPServerCapabilities;
                  dataType?: JMAPDataType;
                  method?: JMAPMethodName;
              };
              validate(
                  this: void,
                  context: BasePluginContext & {
                      invocation: Invocation<BlobCopyRequestInvocationArgs>;
                  },
              ): MaybePromise<ValidationResult>;
          }
      )[]