Milestone 0: import zappier billing, Verae middleware, and Zapier research

Compose-ready workspace: packages/zappier (rate card, portal, Stripe),
packages/verae-zapier-middleware (timestamp + NATS), packages/verae-zapier
(CLI app), vendor/zapier-platform, and research/zapier vendor corpus.

Gate 0 structure checks pass. Product code and research are not yet wired.
This commit is contained in:
George Lambert 2026-09-09 02:37:36 -04:00
commit b4150c8250
1364 changed files with 6814366 additions and 0 deletions

View file

@ -0,0 +1,52 @@
'use strict';
const makeSchema = require('../utils/makeSchema');
module.exports = makeSchema({
id: '/AppFlagsSchema',
description: 'Codifies high-level options for your integration.',
type: 'object',
properties: {
skipHttpPatch: {
description:
"By default, Zapier patches the core `http` module so that all requests (including those from 3rd-party SDKs) can be logged. Set this to true if you're seeing issues using an SDK (such as AWS).",
type: 'boolean',
},
skipThrowForStatus: {
description:
'Starting in `core` version `10.0.0`, `response.throwForStatus()` was called by default. We introduced a per-request way to opt-out of this behavior. This flag takes that a step further and controls that behavior integration-wide **for requests made using `z.request()`**. Unless they specify otherwise (per-request, or via middleware), [Shorthand requests](https://github.com/zapier/zapier-platform/blob/main/packages/cli/README.md#shorthand-http-requests) _always_ call `throwForStatus()`. `z.request()` calls can also ignore this flag if they set `skipThrowForStatus` directly. It is important to note that for oauth2 or session auths with `authRefresh:true`, `401` status codes will throw a `RefreshAuthError` regardless of `skipThrowForStatus`, and will need to be handled manually if intervention is required.',
type: 'boolean',
},
throwForThrottlingEarly: {
description:
'Starting in `core` version `18.0.0`, 429 (throttling) responses throw a `ThrottledError` before `afterResponse` middleware runs by default. Set this flag to `true` to preserve the old behavior where `afterResponse` middleware can see and handle 429 responses. This flag can be overridden per-request by setting `throwForThrottlingEarly` directly on the request options.',
type: 'boolean',
},
cleanInputData: {
description:
'If true, Zapier removes empty strings, `null`, `undefined`, and empty Arrays or objects from `bundle.inputData` recursively before passing it to your `perform*` function. If you want to handle empty values yourself in your code, explicitly set this to false. This is a global flag that affects all the triggers and actions in your integration. The `cleanInputData` flag in `operation` takes precedence over this one.',
type: 'boolean',
},
},
additionalProperties: false,
examples: [
{
skipHttpPatch: true,
skipThrowForStatus: false,
throwForThrottlingEarly: true,
},
{
skipHttpPatch: false,
skipThrowForStatus: true,
throwForThrottlingEarly: false,
},
{ throwForThrottlingEarly: true },
{},
],
antiExamples: [
{ example: { foo: true }, reason: 'Invalid key.' },
{ example: { skipHttpPatch: 'yes' }, reason: 'Invalid value.' },
{ example: { skipThrowForStatus: 'no' }, reason: 'Invalid value.' },
{ example: { throwForThrottlingEarly: 'yes' }, reason: 'Invalid value.' },
],
});