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,72 @@
> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
> Use this file to discover all available pages before exploring further.
# What's changed in v18.4.0
> JSON input field type, `versions` command improvements, function-based dynamic dropdown fix
*Released: 2026-04-06*
This release introduces the new `json` input field type, improved `zapier versions` output, and a schema validation fix.
You can now accept structured JSON input from users with the new [`json` field type](/integrations/build-cli/input-fields#json-fields). Optionally provide a `schema` to validate and describe the expected shape:
```javascript theme={null}
{
key: 'product',
type: 'json',
label: 'Product',
helpText: 'Enter a JSON object',
schema: {
type: 'object',
properties: {
name: { type: 'string' },
price: { type: 'integer' },
},
required: ['name'],
},
}
```
We also fixed a bug where pushing code with [function-based dynamic dropdowns](/integrations/build-cli/dynamic-dropdowns#function-based-dynamic-dropdowns-perform) caused an unexpected validation error on the server. If you want to use function-based dynamic dropdowns, upgrade to 18.4.0 or later:
```javascript theme={null}
{
key: 'project_id',
label: 'Project',
type: 'string',
required: true,
choices: {
perform: async (z, bundle) => {
const response = await z.request('https://api.example.com/projects');
return {
results: response.data.map((project) => ({
id: project.id,
label: project.name,
})),
paging_token: null,
};
},
},
}
```
## cli
* 💅 Clarify `zapier-platform versions` timestamps with separate "Created at" and "Updated at" columns ([#1275](https://github.com/zapier/zapier-platform/pull/1275))
## core
* 🎉 Add JSON field type handling with schema-aware TypeScript inference ([#1273](https://github.com/zapier/zapier-platform/pull/1273))
## schema
* 🎉 Add JSON input field type with optional `schema` property for structured data ([#1265](https://github.com/zapier/zapier-platform/pull/1265))
* 🎉 Validate `schema` property on JSON fields against JSON Schema meta-schema ([#1267](https://github.com/zapier/zapier-platform/pull/1267))
* 🐛 Fix oneOf ambiguity in FieldChoicesSchema that caused server-side validation errors for function-based dynamic dropdowns ([#1268](https://github.com/zapier/zapier-platform/pull/1268))
* 📜 Update `skipThrowForStatus` documentation to note 401 errors are not subject to the flag ([#1270](https://github.com/zapier/zapier-platform/pull/1270))
## misc
* 🔨 Improve publish workflow with path filters and boilerplate build fixes ([#1264](https://github.com/zapier/zapier-platform/pull/1264), [#1266](https://github.com/zapier/zapier-platform/pull/1266))