@epilot/cli 0.1.143 → 0.1.145
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/definitions/app.json +251 -4
- package/definitions/automation.json +344 -12
- package/definitions/event-catalog.json +431 -12
- package/definitions/validation-rules.json +104 -5
- package/dist/bin/epilot.js +6 -6
- package/dist/{chunk-4EODPJ5A.js → chunk-GNZOIBKX.js} +5 -1
- package/dist/{completion-HPDI7RNO.js → completion-RZ6CSKPV.js} +1 -1
- package/dist/{upgrade-7VYPWNEV.js → upgrade-4DRMPNCM.js} +1 -1
- package/package.json +1 -1
|
@@ -79,6 +79,15 @@
|
|
|
79
79
|
"example": "wfABCDEFGH"
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
|
+
{
|
|
83
|
+
"name": "trigger_event_name",
|
|
84
|
+
"in": "query",
|
|
85
|
+
"description": "Filter by Event Catalog event name. Returns only automations that have an event_catalog trigger for this event.",
|
|
86
|
+
"schema": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"example": "CustomerRequestSubmitted"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
82
91
|
{
|
|
83
92
|
"name": "include_flows",
|
|
84
93
|
"in": "query",
|
|
@@ -1249,6 +1258,9 @@
|
|
|
1249
1258
|
},
|
|
1250
1259
|
{
|
|
1251
1260
|
"$ref": "#/components/schemas/FlowsTrigger"
|
|
1261
|
+
},
|
|
1262
|
+
{
|
|
1263
|
+
"$ref": "#/components/schemas/EventCatalogTrigger"
|
|
1252
1264
|
}
|
|
1253
1265
|
]
|
|
1254
1266
|
},
|
|
@@ -1900,12 +1912,168 @@
|
|
|
1900
1912
|
"items": {
|
|
1901
1913
|
"type": "string"
|
|
1902
1914
|
}
|
|
1915
|
+
},
|
|
1916
|
+
"graph_context": {
|
|
1917
|
+
"type": "array",
|
|
1918
|
+
"description": "Multi-hop graph queries (executed via entity-api's `POST /v1/entity:graph`), each\nmerging every traversed node into the mapping's source context under its own node id,\nso `mapping_attributes` (e.g. `_copy` / `_template`) can reference it alongside the\nmain entity, e.g. `{ \"_copy\": \"order.line_items\" }`.\n\n`seed.entity_id` and any node `filter[].value` may contain `{{handlebars}}`\nplaceholders (e.g. `{{trigger.entity._id}}`) that are resolved at execution time\nagainst the mapping's source context. Resolution and graph execution happen in\nentity-mapping-api; this API only accepts, validates and passes through this field.\n",
|
|
1919
|
+
"items": {
|
|
1920
|
+
"$ref": "#/components/schemas/GraphContextEntry"
|
|
1921
|
+
}
|
|
1903
1922
|
}
|
|
1904
1923
|
},
|
|
1905
1924
|
"required": [
|
|
1906
1925
|
"target_schema"
|
|
1907
1926
|
]
|
|
1908
1927
|
},
|
|
1928
|
+
"GraphContextEntry": {
|
|
1929
|
+
"type": "object",
|
|
1930
|
+
"description": "One multi-hop graph query to run against entity-api's `POST /v1/entity:graph`. Every node\nin `graph.nodes` is merged into the mapping's source context under its own `id`, so\nlisting multiple nodes here costs one entity-api call, not one per node. A node's value\noverwrites any existing source-context key of the same name (the source entity, a 1-hop\nrelation, or another graph node).\n",
|
|
1931
|
+
"required": [
|
|
1932
|
+
"seed",
|
|
1933
|
+
"graph"
|
|
1934
|
+
],
|
|
1935
|
+
"properties": {
|
|
1936
|
+
"seed": {
|
|
1937
|
+
"$ref": "#/components/schemas/GraphSeed"
|
|
1938
|
+
},
|
|
1939
|
+
"graph": {
|
|
1940
|
+
"$ref": "#/components/schemas/GraphDefinition"
|
|
1941
|
+
}
|
|
1942
|
+
}
|
|
1943
|
+
},
|
|
1944
|
+
"GraphSeed": {
|
|
1945
|
+
"type": "object",
|
|
1946
|
+
"required": [
|
|
1947
|
+
"entity_id",
|
|
1948
|
+
"node_id"
|
|
1949
|
+
],
|
|
1950
|
+
"properties": {
|
|
1951
|
+
"entity_id": {
|
|
1952
|
+
"type": "string",
|
|
1953
|
+
"format": "uuid"
|
|
1954
|
+
},
|
|
1955
|
+
"node_id": {
|
|
1956
|
+
"type": "string",
|
|
1957
|
+
"description": "The node ID in the graph definition that corresponds to the seed entity",
|
|
1958
|
+
"example": "contact"
|
|
1959
|
+
}
|
|
1960
|
+
}
|
|
1961
|
+
},
|
|
1962
|
+
"GraphDefinition": {
|
|
1963
|
+
"type": "object",
|
|
1964
|
+
"required": [
|
|
1965
|
+
"nodes",
|
|
1966
|
+
"edges"
|
|
1967
|
+
],
|
|
1968
|
+
"properties": {
|
|
1969
|
+
"nodes": {
|
|
1970
|
+
"type": "array",
|
|
1971
|
+
"description": "List of node definitions in the graph",
|
|
1972
|
+
"items": {
|
|
1973
|
+
"$ref": "#/components/schemas/GraphNode"
|
|
1974
|
+
}
|
|
1975
|
+
},
|
|
1976
|
+
"edges": {
|
|
1977
|
+
"type": "array",
|
|
1978
|
+
"description": "List of edge definitions connecting nodes",
|
|
1979
|
+
"items": {
|
|
1980
|
+
"$ref": "#/components/schemas/GraphEdge"
|
|
1981
|
+
}
|
|
1982
|
+
}
|
|
1983
|
+
}
|
|
1984
|
+
},
|
|
1985
|
+
"GraphNode": {
|
|
1986
|
+
"type": "object",
|
|
1987
|
+
"required": [
|
|
1988
|
+
"id",
|
|
1989
|
+
"schema"
|
|
1990
|
+
],
|
|
1991
|
+
"properties": {
|
|
1992
|
+
"id": {
|
|
1993
|
+
"type": "string",
|
|
1994
|
+
"description": "Unique identifier for this node in the graph definition",
|
|
1995
|
+
"example": "contact"
|
|
1996
|
+
},
|
|
1997
|
+
"schema": {
|
|
1998
|
+
"type": "string",
|
|
1999
|
+
"description": "Entity schema slug for this node",
|
|
2000
|
+
"example": "contact"
|
|
2001
|
+
},
|
|
2002
|
+
"cardinality": {
|
|
2003
|
+
"type": "string",
|
|
2004
|
+
"enum": [
|
|
2005
|
+
"one",
|
|
2006
|
+
"many"
|
|
2007
|
+
],
|
|
2008
|
+
"description": "\"one\": this node resolves to a single entity. \"many\" (default if unset): this node\nresolves to an array of entities. The seed node always returns a single entity\nregardless of this setting.\n",
|
|
2009
|
+
"example": "one"
|
|
2010
|
+
},
|
|
2011
|
+
"fields": {
|
|
2012
|
+
"type": "array",
|
|
2013
|
+
"description": "Optional entity fields to include in the hydrated response for this node.",
|
|
2014
|
+
"items": {
|
|
2015
|
+
"type": "string"
|
|
2016
|
+
}
|
|
2017
|
+
},
|
|
2018
|
+
"filter": {
|
|
2019
|
+
"type": "array",
|
|
2020
|
+
"description": "Narrows this node's traversal results to entities matching every filter (AND\nsemantics). Useful for disambiguating among multiple entities reachable via the same\ngraph edge.\n",
|
|
2021
|
+
"items": {
|
|
2022
|
+
"$ref": "#/components/schemas/GraphNodeFilter"
|
|
2023
|
+
}
|
|
2024
|
+
}
|
|
2025
|
+
}
|
|
2026
|
+
},
|
|
2027
|
+
"GraphNodeFilter": {
|
|
2028
|
+
"type": "object",
|
|
2029
|
+
"description": "Entities are included in this node's result only if `attribute` exactly equals the literal `value`.",
|
|
2030
|
+
"required": [
|
|
2031
|
+
"attribute",
|
|
2032
|
+
"value"
|
|
2033
|
+
],
|
|
2034
|
+
"properties": {
|
|
2035
|
+
"attribute": {
|
|
2036
|
+
"type": "string",
|
|
2037
|
+
"description": "Entity attribute name to match against.",
|
|
2038
|
+
"example": "order_number"
|
|
2039
|
+
},
|
|
2040
|
+
"value": {
|
|
2041
|
+
"description": "Literal value the attribute must exactly equal for the entity to be included in this node's result. Supports `{{handlebars}}` placeholders resolved against sourceContext when given as a string.",
|
|
2042
|
+
"oneOf": [
|
|
2043
|
+
{
|
|
2044
|
+
"type": "string",
|
|
2045
|
+
"nullable": true
|
|
2046
|
+
},
|
|
2047
|
+
{
|
|
2048
|
+
"type": "number"
|
|
2049
|
+
},
|
|
2050
|
+
{
|
|
2051
|
+
"type": "boolean"
|
|
2052
|
+
}
|
|
2053
|
+
],
|
|
2054
|
+
"example": "OR-113"
|
|
2055
|
+
}
|
|
2056
|
+
}
|
|
2057
|
+
},
|
|
2058
|
+
"GraphEdge": {
|
|
2059
|
+
"type": "object",
|
|
2060
|
+
"required": [
|
|
2061
|
+
"from",
|
|
2062
|
+
"to"
|
|
2063
|
+
],
|
|
2064
|
+
"properties": {
|
|
2065
|
+
"from": {
|
|
2066
|
+
"type": "string",
|
|
2067
|
+
"description": "Source node ID",
|
|
2068
|
+
"example": "contact"
|
|
2069
|
+
},
|
|
2070
|
+
"to": {
|
|
2071
|
+
"type": "string",
|
|
2072
|
+
"description": "Target node ID",
|
|
2073
|
+
"example": "billing_account"
|
|
2074
|
+
}
|
|
2075
|
+
}
|
|
2076
|
+
},
|
|
1909
2077
|
"MappingConfigRef": {
|
|
1910
2078
|
"type": "object",
|
|
1911
2079
|
"properties": {
|
|
@@ -2663,10 +2831,7 @@
|
|
|
2663
2831
|
"language_code": {
|
|
2664
2832
|
"type": "string",
|
|
2665
2833
|
"description": "Language code for the email template",
|
|
2666
|
-
"
|
|
2667
|
-
"de",
|
|
2668
|
-
"en"
|
|
2669
|
-
]
|
|
2834
|
+
"example": "de"
|
|
2670
2835
|
},
|
|
2671
2836
|
"reply_mode": {
|
|
2672
2837
|
"type": "string",
|
|
@@ -2697,10 +2862,7 @@
|
|
|
2697
2862
|
},
|
|
2698
2863
|
"language_code": {
|
|
2699
2864
|
"type": "string",
|
|
2700
|
-
"
|
|
2701
|
-
"de",
|
|
2702
|
-
"en"
|
|
2703
|
-
]
|
|
2865
|
+
"example": "de"
|
|
2704
2866
|
},
|
|
2705
2867
|
"notify_portal_user_only": {
|
|
2706
2868
|
"type": "boolean",
|
|
@@ -3503,10 +3665,12 @@
|
|
|
3503
3665
|
},
|
|
3504
3666
|
"originType": {
|
|
3505
3667
|
"type": "string",
|
|
3668
|
+
"description": "`event` reads the operand from the trigger's Event Catalog payload instead of an entity: `attribute` is then a dot path into the payload (e.g. `ticket.subject`). Only valid with `origin: trigger` on flows started by an EventCatalogTrigger.\n",
|
|
3506
3669
|
"enum": [
|
|
3507
3670
|
"entity",
|
|
3508
3671
|
"workflow",
|
|
3509
|
-
"journey_block"
|
|
3672
|
+
"journey_block",
|
|
3673
|
+
"event"
|
|
3510
3674
|
]
|
|
3511
3675
|
},
|
|
3512
3676
|
"schema": {
|
|
@@ -3796,6 +3960,9 @@
|
|
|
3796
3960
|
},
|
|
3797
3961
|
{
|
|
3798
3962
|
"$ref": "#/components/schemas/TriggerEventMessaging"
|
|
3963
|
+
},
|
|
3964
|
+
{
|
|
3965
|
+
"$ref": "#/components/schemas/TriggerEventEventCatalog"
|
|
3799
3966
|
}
|
|
3800
3967
|
]
|
|
3801
3968
|
},
|
|
@@ -3855,7 +4022,6 @@
|
|
|
3855
4022
|
},
|
|
3856
4023
|
"WorkflowExecutionContext": {
|
|
3857
4024
|
"type": "object",
|
|
3858
|
-
"description": "Automation Executions triggered by workflow task automations will always carry information about the triggering workflow. This information is helpful in correlating workflow executions with all the triggered automation executions\n",
|
|
3859
4025
|
"required": [
|
|
3860
4026
|
"workflow_exec_id",
|
|
3861
4027
|
"workflow_role"
|
|
@@ -3897,12 +4063,17 @@
|
|
|
3897
4063
|
}
|
|
3898
4064
|
}
|
|
3899
4065
|
}
|
|
4066
|
+
},
|
|
4067
|
+
"trigger_user_id": {
|
|
4068
|
+
"type": "string",
|
|
4069
|
+
"description": "Id of the user on whose behalf the workflow task triggered this automation — the caller of a user-initiated run, or the user whose task completion advanced the flow to the automation task. Action workers resolve it as the acting user for template variable resolution (user.*) and email thread assignment, matching the attribution of manually triggered executions. Absent when no human action led to the trigger (scheduler fires, journey-triggered flows).\n",
|
|
4070
|
+
"example": "10006129"
|
|
3900
4071
|
}
|
|
3901
4072
|
}
|
|
3902
4073
|
},
|
|
3903
4074
|
"WorkflowWaitContext": {
|
|
3904
4075
|
"type": "object",
|
|
3905
|
-
"description": "
|
|
4076
|
+
"description": "Correlation stamped when the triggering submission entity carried workflow wait claims from a journey link (AL-2521). Consumed by svc-workflows to resume a task waiting on this journey submission.\n",
|
|
3906
4077
|
"required": [
|
|
3907
4078
|
"workflow_execution_id",
|
|
3908
4079
|
"workflow_task_id"
|
|
@@ -4088,6 +4259,92 @@
|
|
|
4088
4259
|
"operation_type"
|
|
4089
4260
|
]
|
|
4090
4261
|
},
|
|
4262
|
+
"TriggerEventEventCatalog": {
|
|
4263
|
+
"type": "object",
|
|
4264
|
+
"description": "Set on executions started by an Event Catalog event (see EventCatalogTrigger). The full event payload is not stored inline (it may be up to 256 KB) but by reference in `payload_ref`; automation workers hydrate it before every action.\n",
|
|
4265
|
+
"properties": {
|
|
4266
|
+
"type": {
|
|
4267
|
+
"type": "string",
|
|
4268
|
+
"enum": [
|
|
4269
|
+
"event_catalog"
|
|
4270
|
+
]
|
|
4271
|
+
},
|
|
4272
|
+
"org_id": {
|
|
4273
|
+
"type": "string",
|
|
4274
|
+
"example": "123"
|
|
4275
|
+
},
|
|
4276
|
+
"entity_id": {
|
|
4277
|
+
"$ref": "#/components/schemas/EntityId"
|
|
4278
|
+
},
|
|
4279
|
+
"entity_node_id": {
|
|
4280
|
+
"type": "string",
|
|
4281
|
+
"description": "Node id of the event's entity graph that was resolved to `entity_id`",
|
|
4282
|
+
"example": "ticket"
|
|
4283
|
+
},
|
|
4284
|
+
"event_id": {
|
|
4285
|
+
"type": "string",
|
|
4286
|
+
"description": "Event Catalog event id (ULID) of the published event",
|
|
4287
|
+
"example": "01K3ZK8QZ7Y7Q2M8W1V3N4X5P6"
|
|
4288
|
+
},
|
|
4289
|
+
"event_name": {
|
|
4290
|
+
"type": "string",
|
|
4291
|
+
"example": "CustomerRequestSubmitted"
|
|
4292
|
+
},
|
|
4293
|
+
"event_version": {
|
|
4294
|
+
"type": "string",
|
|
4295
|
+
"description": "Version the payload was delivered in (the version pinned on the trigger)",
|
|
4296
|
+
"example": "1.1"
|
|
4297
|
+
},
|
|
4298
|
+
"published_version": {
|
|
4299
|
+
"type": "string",
|
|
4300
|
+
"description": "Version the event was originally published with, before downgrading to `event_version`",
|
|
4301
|
+
"example": "1.2"
|
|
4302
|
+
},
|
|
4303
|
+
"event_time": {
|
|
4304
|
+
"type": "string",
|
|
4305
|
+
"format": "date-time"
|
|
4306
|
+
},
|
|
4307
|
+
"trigger_source_type": {
|
|
4308
|
+
"type": "string",
|
|
4309
|
+
"description": "How the event was triggered in the catalog (api | automation | operation | portal_user)",
|
|
4310
|
+
"example": "operation"
|
|
4311
|
+
},
|
|
4312
|
+
"trigger_source": {
|
|
4313
|
+
"type": "string",
|
|
4314
|
+
"description": "Opaque source reference from the catalog (e.g. activity id, automation execution id)"
|
|
4315
|
+
},
|
|
4316
|
+
"payload_ref": {
|
|
4317
|
+
"$ref": "#/components/schemas/TriggerEventPayloadRef"
|
|
4318
|
+
}
|
|
4319
|
+
},
|
|
4320
|
+
"required": [
|
|
4321
|
+
"type",
|
|
4322
|
+
"org_id",
|
|
4323
|
+
"entity_id",
|
|
4324
|
+
"entity_node_id",
|
|
4325
|
+
"event_id",
|
|
4326
|
+
"event_name",
|
|
4327
|
+
"event_version"
|
|
4328
|
+
]
|
|
4329
|
+
},
|
|
4330
|
+
"TriggerEventPayloadRef": {
|
|
4331
|
+
"type": "object",
|
|
4332
|
+
"description": "S3 reference to the stored trigger event payload (`_downgrades` stripped, downgraded to the pinned version)",
|
|
4333
|
+
"properties": {
|
|
4334
|
+
"bucket": {
|
|
4335
|
+
"type": "string",
|
|
4336
|
+
"example": "automation-trigger-payloads-prod"
|
|
4337
|
+
},
|
|
4338
|
+
"key": {
|
|
4339
|
+
"type": "string",
|
|
4340
|
+
"example": "trigger-payloads/123/6c8e5d9a-7f1b-4c2e-9d3a-0b1c2d3e4f5a.json"
|
|
4341
|
+
}
|
|
4342
|
+
},
|
|
4343
|
+
"required": [
|
|
4344
|
+
"bucket",
|
|
4345
|
+
"key"
|
|
4346
|
+
]
|
|
4347
|
+
},
|
|
4091
4348
|
"ApiCallerContext": {
|
|
4092
4349
|
"type": "object",
|
|
4093
4350
|
"additionalProperties": true,
|
|
@@ -4999,7 +5256,12 @@
|
|
|
4999
5256
|
"updateEntity",
|
|
5000
5257
|
"deleteEntity",
|
|
5001
5258
|
"softDeleteEntity",
|
|
5002
|
-
"restoreEntity"
|
|
5259
|
+
"restoreEntity",
|
|
5260
|
+
"relationsAdded",
|
|
5261
|
+
"relationsRemoved",
|
|
5262
|
+
"relationsSoftDeleted",
|
|
5263
|
+
"relationsRestored",
|
|
5264
|
+
"relationsDeleted"
|
|
5003
5265
|
]
|
|
5004
5266
|
},
|
|
5005
5267
|
"EntitySearchFilter": {
|
|
@@ -5205,6 +5467,76 @@
|
|
|
5205
5467
|
}
|
|
5206
5468
|
]
|
|
5207
5469
|
},
|
|
5470
|
+
"EventCatalogTrigger": {
|
|
5471
|
+
"description": "Starts the flow when an Event Catalog event is published for the organization. The execution runs in the context of one entity from the event's entity graph (`entity_node_id`), and the event payload is available to conditions and actions as the `event` variable context.\n",
|
|
5472
|
+
"allOf": [
|
|
5473
|
+
{
|
|
5474
|
+
"$ref": "#/components/schemas/AutomationTrigger"
|
|
5475
|
+
},
|
|
5476
|
+
{
|
|
5477
|
+
"type": "object",
|
|
5478
|
+
"properties": {
|
|
5479
|
+
"type": {
|
|
5480
|
+
"type": "string",
|
|
5481
|
+
"enum": [
|
|
5482
|
+
"event_catalog"
|
|
5483
|
+
]
|
|
5484
|
+
},
|
|
5485
|
+
"configuration": {
|
|
5486
|
+
"type": "object",
|
|
5487
|
+
"properties": {
|
|
5488
|
+
"event_name": {
|
|
5489
|
+
"type": "string",
|
|
5490
|
+
"description": "Name of the Event Catalog event that starts this flow",
|
|
5491
|
+
"example": "CustomerRequestSubmitted"
|
|
5492
|
+
},
|
|
5493
|
+
"event_version": {
|
|
5494
|
+
"type": "string",
|
|
5495
|
+
"description": "Event version (MAJOR.MINOR) this trigger is pinned to. Payloads published in a newer version are downgraded to this version before the flow runs, so field references in conditions and actions stay stable.\n",
|
|
5496
|
+
"example": "1.1"
|
|
5497
|
+
},
|
|
5498
|
+
"entity_node_id": {
|
|
5499
|
+
"type": "string",
|
|
5500
|
+
"description": "Id of the cardinality-one node in the event's entity graph whose entity becomes the execution's main entity (the entity actions operate on).\n",
|
|
5501
|
+
"example": "ticket"
|
|
5502
|
+
},
|
|
5503
|
+
"entity_schema": {
|
|
5504
|
+
"type": "string",
|
|
5505
|
+
"description": "Schema of the entity behind `entity_node_id`, denormalized from the event definition at configuration time",
|
|
5506
|
+
"example": "ticket"
|
|
5507
|
+
},
|
|
5508
|
+
"ignore_automation_triggered": {
|
|
5509
|
+
"type": "boolean",
|
|
5510
|
+
"default": true,
|
|
5511
|
+
"description": "When true (default), events that were emitted by an automation (`_trigger_source_type: automation`) do not start this flow. This prevents automation → event → automation chains unless explicitly enabled.\n"
|
|
5512
|
+
}
|
|
5513
|
+
},
|
|
5514
|
+
"required": [
|
|
5515
|
+
"event_name",
|
|
5516
|
+
"event_version",
|
|
5517
|
+
"entity_node_id",
|
|
5518
|
+
"entity_schema"
|
|
5519
|
+
]
|
|
5520
|
+
}
|
|
5521
|
+
},
|
|
5522
|
+
"required": [
|
|
5523
|
+
"type",
|
|
5524
|
+
"configuration"
|
|
5525
|
+
]
|
|
5526
|
+
}
|
|
5527
|
+
],
|
|
5528
|
+
"example": {
|
|
5529
|
+
"id": "12d4f45a-1883-4841-a94c-5928cb338a94",
|
|
5530
|
+
"type": "event_catalog",
|
|
5531
|
+
"configuration": {
|
|
5532
|
+
"event_name": "CustomerRequestSubmitted",
|
|
5533
|
+
"event_version": "1.1",
|
|
5534
|
+
"entity_node_id": "ticket",
|
|
5535
|
+
"entity_schema": "ticket",
|
|
5536
|
+
"ignore_automation_triggered": true
|
|
5537
|
+
}
|
|
5538
|
+
}
|
|
5539
|
+
},
|
|
5208
5540
|
"TriggerCondition": {
|
|
5209
5541
|
"type": "object",
|
|
5210
5542
|
"properties": {
|