              (= (:onyx/max-peers entry)
                 (:onyx/min-peers entry)))
         (= (:onyx/max-peers entry) 1))))
+
+(def InputTaskSchema
+  (let [base-input-schema (merge base-task-map partial-input-task)]
+    (s/conditional java?
+                   (merge base-input-schema partial-java-plugin)
+                   :else
+                   base-input-schema)))
 
 (def OutputTaskSchema
   (let [base-output-schema (merge base-task-map partial-output-task)

                 #(= (:onyx/type %) :function)
                 FunctionTaskSchema))

(def Catalog
  [TaskMap])


   UnsupportedWindowKey s/Any})

(def Window
  (s/constrained
   WindowBase
   (fn [v] (if (#{:fixed :sliding} (:window/type v))
             (:window/range v)
             true))
   ":window/range must be defined for :fixed or :sliding window"))

(def StateAggregationCall
  {(s/optional-key :aggregation/init) Function
