The documentation states that:
The function is first run when the user drags the sync table into the document, and then again before every sync.
Creating sync tables with dynamic schemas - Coda Pack SDK
However, the type of the context.sync.schema is possibly undefined (Sync.schema?: coda.ArraySchema<coda.Schema> | undefined) as passed into the execute async hook. Why is this the case? Is it safe to assert it as defined?
Related, is it safe to assume that before every invocation of the execute hook, the getSchema hook has always been ran with the same arguments passed in as the params (to avoid having to perform validation on those params twice, assuming that an error thrown in getSchema prevents execute from running)?