mirror of
https://github.com/hanzoai/insights.git
synced 2026-11-03 00:52:32 +00:00
Mechanically re-derived: bin/debrand runs over a fresh import of posthog/posthog@fa1a9a60d4 (2026-08-06). The pipeline (.hanzo/workflows), the Dockerfiles and bin/docker* entrypoints, compose files, LLM.md and the squashed initial migration are restored from the shipped tree, same as the previous import. The prune's import-closure guard kept 21 products the new core now imports; dropping them is a refactor now, recorded rather than forced.
886 lines
45 KiB
JSON
886 lines
45 KiB
JSON
{
|
||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||
"properties": {
|
||
"datastore_event": {
|
||
"additionalProperties": {},
|
||
"description": "Mock Datastore event data to test the function with.",
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"configuration": {
|
||
"description": "Full function configuration to test. Omit when use_draft is true.",
|
||
"properties": {
|
||
"_create_in_folder": {
|
||
"type": "string"
|
||
},
|
||
"base_updated_at": {
|
||
"description": "Optimistic concurrency: the updated_at (or draft_updated_at when editing a staged draft) you last read. If the stored side is newer, the write fails with 409 instead of overwriting the concurrent edit. Omit to overwrite unconditionally.",
|
||
"format": "date-time",
|
||
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
|
||
"type": "string"
|
||
},
|
||
"batch_export_id": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"bytecode": {},
|
||
"created_at": {
|
||
"format": "date-time",
|
||
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
|
||
"type": "string"
|
||
},
|
||
"created_by": {
|
||
"properties": {
|
||
"distinct_id": {
|
||
"anyOf": [
|
||
{
|
||
"maxLength": 200,
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"email": {
|
||
"format": "email",
|
||
"maxLength": 254,
|
||
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
|
||
"type": "string"
|
||
},
|
||
"first_name": {
|
||
"maxLength": 150,
|
||
"type": "string"
|
||
},
|
||
"mascot_config": {
|
||
"anyOf": [
|
||
{
|
||
"additionalProperties": {},
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"id": {
|
||
"type": "number"
|
||
},
|
||
"is_email_verified": {
|
||
"anyOf": [
|
||
{
|
||
"type": "boolean"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"last_name": {
|
||
"maxLength": 150,
|
||
"type": "string"
|
||
},
|
||
"role_at_organization": {
|
||
"anyOf": [
|
||
{
|
||
"description": "* `engineering` - Engineering\n* `data` - Data\n* `product` - Product Management\n* `founder` - Founder\n* `leadership` - Leadership\n* `marketing` - Marketing\n* `sales` - Sales / Success\n* `student` - Student\n* `other` - Other",
|
||
"enum": [
|
||
"engineering",
|
||
"data",
|
||
"product",
|
||
"founder",
|
||
"leadership",
|
||
"marketing",
|
||
"sales",
|
||
"student",
|
||
"other"
|
||
],
|
||
"type": "string"
|
||
},
|
||
{
|
||
"enum": [""],
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"uuid": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": ["email"],
|
||
"type": "object"
|
||
},
|
||
"deleted": {
|
||
"description": "Soft-delete flag. Set to true to archive the function.",
|
||
"type": "boolean"
|
||
},
|
||
"description": {
|
||
"description": "Human-readable description of what this function does.",
|
||
"type": "string"
|
||
},
|
||
"draft": {
|
||
"description": "Config staged for review but not live yet: a full snapshot of script, inputs_schema, inputs, filters, mappings and masking. Null when nothing is staged. Publish or discard it to clear."
|
||
},
|
||
"draft_updated_at": {
|
||
"anyOf": [
|
||
{
|
||
"format": "date-time",
|
||
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "When config was last staged for review, or null when nothing is staged."
|
||
},
|
||
"enabled": {
|
||
"description": "Whether the function is active and processing events.",
|
||
"type": "boolean"
|
||
},
|
||
"execution_order": {
|
||
"anyOf": [
|
||
{
|
||
"maximum": 32767,
|
||
"minimum": 0,
|
||
"type": "number"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Execution priority for transformations. Lower values run first."
|
||
},
|
||
"filters": {
|
||
"description": "Event filters that control which events trigger this function.",
|
||
"properties": {
|
||
"actions": {
|
||
"items": {
|
||
"additionalProperties": {},
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"bytecode": {},
|
||
"bytecode_error": {
|
||
"type": "string"
|
||
},
|
||
"data_warehouse": {
|
||
"items": {
|
||
"additionalProperties": {},
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"events": {
|
||
"items": {
|
||
"additionalProperties": {},
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"filter_test_accounts": {
|
||
"type": "boolean"
|
||
},
|
||
"properties": {
|
||
"items": {
|
||
"additionalProperties": {},
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"source": {
|
||
"default": "events",
|
||
"description": "* `events` - events\n* `person-updates` - person-updates\n* `data-warehouse-table` - data-warehouse-table",
|
||
"enum": ["events", "person-updates", "data-warehouse-table"],
|
||
"type": "string"
|
||
},
|
||
"transpiled": {}
|
||
},
|
||
"type": "object"
|
||
},
|
||
"script": {
|
||
"description": "Source code. Script language for most types; TypeScript for site_destination and site_app.",
|
||
"type": "string"
|
||
},
|
||
"icon_url": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "URL for the function's icon displayed in the UI."
|
||
},
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"inputs": {
|
||
"additionalProperties": {
|
||
"properties": {
|
||
"bytecode": {
|
||
"items": {},
|
||
"type": "array"
|
||
},
|
||
"order": {
|
||
"type": "number"
|
||
},
|
||
"templating": {
|
||
"description": "* `script` - script\n* `liquid` - liquid",
|
||
"enum": ["script", "liquid"],
|
||
"type": "string"
|
||
},
|
||
"transpiled": {},
|
||
"value": {}
|
||
},
|
||
"type": "object"
|
||
},
|
||
"description": "Values for each input defined in inputs_schema.",
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"inputs_schema": {
|
||
"description": "Schema defining the configurable input parameters for this function.",
|
||
"items": {
|
||
"properties": {
|
||
"choices": {
|
||
"items": {
|
||
"additionalProperties": {},
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"default": {},
|
||
"description": {
|
||
"type": "string"
|
||
},
|
||
"hidden": {
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"integration": {
|
||
"type": "string"
|
||
},
|
||
"integration_field": {
|
||
"type": "string"
|
||
},
|
||
"integration_key": {
|
||
"type": "string"
|
||
},
|
||
"key": {
|
||
"type": "string"
|
||
},
|
||
"label": {
|
||
"type": "string"
|
||
},
|
||
"required": {
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"requiredScopes": {
|
||
"type": "string"
|
||
},
|
||
"requires_field": {
|
||
"type": "string"
|
||
},
|
||
"searchable": {
|
||
"type": "boolean"
|
||
},
|
||
"secret": {
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"templating": {
|
||
"anyOf": [
|
||
{
|
||
"type": "boolean"
|
||
},
|
||
{
|
||
"enum": ["script", "liquid"],
|
||
"type": "string"
|
||
}
|
||
]
|
||
},
|
||
"type": {
|
||
"description": "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_multi` - integration_multi\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `insights_assignee` - insights_assignee\n* `insights_ticket_tags` - insights_ticket_tags\n* `insights_business_hours` - insights_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships",
|
||
"enum": [
|
||
"string",
|
||
"number",
|
||
"boolean",
|
||
"dictionary",
|
||
"choice",
|
||
"json",
|
||
"integration",
|
||
"integration_multi",
|
||
"integration_field",
|
||
"email",
|
||
"native_email",
|
||
"insights_assignee",
|
||
"insights_ticket_tags",
|
||
"insights_business_hours",
|
||
"non_failure_status_codes",
|
||
"customer_analytics_account_properties",
|
||
"customer_analytics_account_relationships"
|
||
],
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": ["type", "key"],
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"mappings": {
|
||
"anyOf": [
|
||
{
|
||
"items": {
|
||
"properties": {
|
||
"filters": {
|
||
"properties": {
|
||
"actions": {
|
||
"items": {
|
||
"additionalProperties": {},
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"bytecode": {},
|
||
"bytecode_error": {
|
||
"type": "string"
|
||
},
|
||
"data_warehouse": {
|
||
"items": {
|
||
"additionalProperties": {},
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"events": {
|
||
"items": {
|
||
"additionalProperties": {},
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"filter_test_accounts": {
|
||
"type": "boolean"
|
||
},
|
||
"properties": {
|
||
"items": {
|
||
"additionalProperties": {},
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"source": {
|
||
"default": "events",
|
||
"description": "* `events` - events\n* `person-updates` - person-updates\n* `data-warehouse-table` - data-warehouse-table",
|
||
"enum": ["events", "person-updates", "data-warehouse-table"],
|
||
"type": "string"
|
||
},
|
||
"transpiled": {}
|
||
},
|
||
"type": "object"
|
||
},
|
||
"inputs": {
|
||
"additionalProperties": {
|
||
"properties": {
|
||
"bytecode": {
|
||
"items": {},
|
||
"type": "array"
|
||
},
|
||
"order": {
|
||
"type": "number"
|
||
},
|
||
"templating": {
|
||
"description": "* `script` - script\n* `liquid` - liquid",
|
||
"enum": ["script", "liquid"],
|
||
"type": "string"
|
||
},
|
||
"transpiled": {},
|
||
"value": {}
|
||
},
|
||
"type": "object"
|
||
},
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"inputs_schema": {
|
||
"items": {
|
||
"properties": {
|
||
"choices": {
|
||
"items": {
|
||
"additionalProperties": {},
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"default": {},
|
||
"description": {
|
||
"type": "string"
|
||
},
|
||
"hidden": {
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"integration": {
|
||
"type": "string"
|
||
},
|
||
"integration_field": {
|
||
"type": "string"
|
||
},
|
||
"integration_key": {
|
||
"type": "string"
|
||
},
|
||
"key": {
|
||
"type": "string"
|
||
},
|
||
"label": {
|
||
"type": "string"
|
||
},
|
||
"required": {
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"requiredScopes": {
|
||
"type": "string"
|
||
},
|
||
"requires_field": {
|
||
"type": "string"
|
||
},
|
||
"searchable": {
|
||
"type": "boolean"
|
||
},
|
||
"secret": {
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"templating": {
|
||
"anyOf": [
|
||
{
|
||
"type": "boolean"
|
||
},
|
||
{
|
||
"enum": ["script", "liquid"],
|
||
"type": "string"
|
||
}
|
||
]
|
||
},
|
||
"type": {
|
||
"description": "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_multi` - integration_multi\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `insights_assignee` - insights_assignee\n* `insights_ticket_tags` - insights_ticket_tags\n* `insights_business_hours` - insights_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships",
|
||
"enum": [
|
||
"string",
|
||
"number",
|
||
"boolean",
|
||
"dictionary",
|
||
"choice",
|
||
"json",
|
||
"integration",
|
||
"integration_multi",
|
||
"integration_field",
|
||
"email",
|
||
"native_email",
|
||
"insights_assignee",
|
||
"insights_ticket_tags",
|
||
"insights_business_hours",
|
||
"non_failure_status_codes",
|
||
"customer_analytics_account_properties",
|
||
"customer_analytics_account_relationships"
|
||
],
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": ["type", "key"],
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"name": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Event-to-destination field mappings. Only for destination and site_destination types."
|
||
},
|
||
"masking": {
|
||
"anyOf": [
|
||
{
|
||
"properties": {
|
||
"bytecode": {
|
||
"description": "Compiled bytecode for the hash expression. Auto-generated."
|
||
},
|
||
"hash": {
|
||
"description": "Script expression used to compute the masking hash.",
|
||
"type": "string"
|
||
},
|
||
"threshold": {
|
||
"anyOf": [
|
||
{
|
||
"type": "number"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Optional threshold count before masking applies."
|
||
},
|
||
"ttl": {
|
||
"description": "Time-to-live in seconds for the masking cache (60–86400).",
|
||
"maximum": 86400,
|
||
"minimum": 60,
|
||
"type": "number"
|
||
}
|
||
},
|
||
"required": ["ttl", "hash"],
|
||
"type": "object"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "PII masking configuration with TTL, threshold, and hash expression."
|
||
},
|
||
"name": {
|
||
"anyOf": [
|
||
{
|
||
"maxLength": 400,
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Display name for the function."
|
||
},
|
||
"search_match_type": {
|
||
"anyOf": [
|
||
{
|
||
"enum": ["exact", "similar"],
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "How this row matched the `search` query parameter: `exact` (the term is a case-insensitive substring of a searched field) or `similar` (a fuzzy trigram match, returned only when no exact match exists). Null when the list is not filtered by `search`."
|
||
},
|
||
"status": {
|
||
"anyOf": [
|
||
{
|
||
"properties": {
|
||
"state": {
|
||
"anyOf": [
|
||
{
|
||
"const": 0,
|
||
"type": "number"
|
||
},
|
||
{
|
||
"const": 1,
|
||
"type": "number"
|
||
},
|
||
{
|
||
"const": 2,
|
||
"type": "number"
|
||
},
|
||
{
|
||
"const": 3,
|
||
"type": "number"
|
||
},
|
||
{
|
||
"const": 11,
|
||
"type": "number"
|
||
},
|
||
{
|
||
"const": 12,
|
||
"type": "number"
|
||
}
|
||
],
|
||
"description": "* `0` - 0\n* `1` - 1\n* `2` - 2\n* `3` - 3\n* `11` - 11\n* `12` - 12"
|
||
},
|
||
"tokens": {
|
||
"type": "number"
|
||
}
|
||
},
|
||
"required": ["state", "tokens"],
|
||
"type": "object"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"template": {
|
||
"properties": {
|
||
"category": {
|
||
"description": "Category tags for organizing templates."
|
||
},
|
||
"code": {
|
||
"description": "Source code of the template.",
|
||
"type": "string"
|
||
},
|
||
"code_language": {
|
||
"description": "Programming language: 'script' or 'javascript'.",
|
||
"maxLength": 20,
|
||
"type": "string"
|
||
},
|
||
"description": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "What this template does."
|
||
},
|
||
"filters": {
|
||
"description": "Default event filters."
|
||
},
|
||
"free": {
|
||
"description": "Whether available on free plans.",
|
||
"type": "boolean"
|
||
},
|
||
"icon_url": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "URL for the template's icon."
|
||
},
|
||
"id": {
|
||
"description": "Unique template identifier (e.g. 'template-slack').",
|
||
"type": "string"
|
||
},
|
||
"inputs_schema": {
|
||
"description": "Schema defining configurable inputs for functions created from this template."
|
||
},
|
||
"mapping_templates": {
|
||
"anyOf": [
|
||
{
|
||
"items": {
|
||
"properties": {
|
||
"filters": {
|
||
"description": "Event filters specific to this mapping."
|
||
},
|
||
"include_by_default": {
|
||
"anyOf": [
|
||
{
|
||
"type": "boolean"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Whether this mapping is enabled by default."
|
||
},
|
||
"inputs": {
|
||
"description": "Input values specific to this mapping."
|
||
},
|
||
"inputs_schema": {
|
||
"description": "Additional input schema fields specific to this mapping."
|
||
},
|
||
"name": {
|
||
"description": "Name of this mapping template.",
|
||
"type": "string"
|
||
},
|
||
"use_all_events_by_default": {
|
||
"anyOf": [
|
||
{
|
||
"type": "boolean"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Whether this mapping should match all events by default, hiding the event filter UI."
|
||
}
|
||
},
|
||
"required": ["name"],
|
||
"type": "object"
|
||
},
|
||
"type": "array"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Pre-defined mapping configurations for destination templates."
|
||
},
|
||
"masking": {
|
||
"description": "Default PII masking configuration."
|
||
},
|
||
"name": {
|
||
"description": "Display name of the template.",
|
||
"maxLength": 400,
|
||
"type": "string"
|
||
},
|
||
"status": {
|
||
"description": "Lifecycle status: alpha, beta, stable, deprecated, or hidden.",
|
||
"maxLength": 20,
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"description": "Function type this template creates.",
|
||
"maxLength": 50,
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": ["id", "name", "code", "inputs_schema", "type"],
|
||
"type": "object"
|
||
},
|
||
"template_id": {
|
||
"anyOf": [
|
||
{
|
||
"maxLength": 400,
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "ID of the template to create this function from."
|
||
},
|
||
"transpiled": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"type": {
|
||
"anyOf": [
|
||
{
|
||
"description": "* `destination` - Destination\n* `site_destination` - Site Destination\n* `internal_destination` - Internal Destination\n* `source_webhook` - Source Webhook\n* `warehouse_source_webhook` - Warehouse Source Webhook\n* `site_app` - Site App\n* `transformation` - Transformation\n* `transformation_log` - Transformation Log",
|
||
"enum": [
|
||
"destination",
|
||
"site_destination",
|
||
"internal_destination",
|
||
"source_webhook",
|
||
"warehouse_source_webhook",
|
||
"site_app",
|
||
"transformation",
|
||
"transformation_log"
|
||
],
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Function type: destination, site_destination, internal_destination, source_webhook, warehouse_source_webhook, site_app, transformation, or transformation_log.\n\n* `destination` - Destination\n* `site_destination` - Site Destination\n* `internal_destination` - Internal Destination\n* `source_webhook` - Source Webhook\n* `warehouse_source_webhook` - Warehouse Source Webhook\n* `site_app` - Site App\n* `transformation` - Transformation\n* `transformation_log` - Transformation Log"
|
||
},
|
||
"updated_at": {
|
||
"format": "date-time",
|
||
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
|
||
"type": "string"
|
||
},
|
||
"version": {
|
||
"description": "Incremented every time the live config changes. See the revisions endpoint.",
|
||
"type": "number"
|
||
}
|
||
},
|
||
"type": "object"
|
||
},
|
||
"globals": {
|
||
"additionalProperties": {},
|
||
"description": "Mock global variables available during test invocation.",
|
||
"propertyNames": {
|
||
"type": "string"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"id": {
|
||
"description": "A UUID string identifying this script function.",
|
||
"type": "string"
|
||
},
|
||
"invocation_id": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Optional invocation ID for correlation."
|
||
},
|
||
"mock_async_functions": {
|
||
"default": true,
|
||
"description": "When true (default), async functions like fetch() are simulated.",
|
||
"type": "boolean"
|
||
},
|
||
"use_draft": {
|
||
"default": false,
|
||
"description": "Test the function's staged draft instead of passing a configuration. Staged secret inputs are used; secrets the draft doesn't change fall back to the live values. 400 when nothing is staged.",
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"required": ["id"],
|
||
"type": "object"
|
||
}
|