@epilot/cli 0.1.124 → 0.1.126

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 CHANGED
@@ -29,7 +29,7 @@ npm install -g @epilot/cli
29
29
 
30
30
  <!-- usage-help -->
31
31
  ```
32
- epilot v0.1.124 — CLI for epilot APIs
32
+ epilot v0.1.126 — CLI for epilot APIs
33
33
 
34
34
  USAGE
35
35
  epilot <api> <operationId> [params...] [flags]
@@ -2717,6 +2717,15 @@
2717
2717
  "description": "Pause automation execution after sending email to wait for a confirmation link to be clicked.\n\nThe email template should contain a confirmation link using the variable `{{confirmation_url}}`\n",
2718
2718
  "default": false
2719
2719
  },
2720
+ "wait_for_journey_submission": {
2721
+ "type": "boolean",
2722
+ "description": "Only relevant when this action runs from a workflow automation task. After the email is sent,\nthe workflow task waits for the journey referenced in the email template to be submitted and\nits submission automation to complete (AL-2521).\n\nThe email template should contain a journey link created with the generateJourneyLink variable.\n",
2723
+ "default": false
2724
+ },
2725
+ "journey_id": {
2726
+ "type": "string",
2727
+ "description": "Snapshot of the journey referenced by the selected email template's journey link; set by the\nbuilder UI. Display/validation only — correlation does not depend on it.\n"
2728
+ },
2720
2729
  "reply_to_sender": {
2721
2730
  "type": "boolean",
2722
2731
  "description": "When enabled, overrides the template's \"To\" field with the sender address of the triggering incoming email.\nThis is useful for auto-reply scenarios where you want to automatically respond to the person who sent the email.\nOnly works when the automation is triggered by a received email (received_email or new_email_thread triggers).\n",
@@ -3793,6 +3802,9 @@
3793
3802
  "workflow_context": {
3794
3803
  "$ref": "#/components/schemas/WorkflowExecutionContext"
3795
3804
  },
3805
+ "workflow_wait_context": {
3806
+ "$ref": "#/components/schemas/WorkflowWaitContext"
3807
+ },
3796
3808
  "loops": {
3797
3809
  "type": "array",
3798
3810
  "description": "Loop scope definitions propagated from the flow onto the execution record. Each loop has an id and a source_path resolved against the trigger entity at execution time. Actions referencing a loop's id via their loop_id property run once per item in the resolved array.\n",
@@ -3843,6 +3855,7 @@
3843
3855
  },
3844
3856
  "WorkflowExecutionContext": {
3845
3857
  "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",
3846
3859
  "required": [
3847
3860
  "workflow_exec_id",
3848
3861
  "workflow_role"
@@ -3887,6 +3900,26 @@
3887
3900
  }
3888
3901
  }
3889
3902
  },
3903
+ "WorkflowWaitContext": {
3904
+ "type": "object",
3905
+ "description": "Workflow automation tasks can be paused & waiting for journey automation executions to succeed. If such is the case, this context tracks the task_id of the workflow waiting for journey submission success This context is consumed by svc-workflows to resume a task waiting on this journey submission.\n",
3906
+ "required": [
3907
+ "workflow_execution_id",
3908
+ "workflow_task_id"
3909
+ ],
3910
+ "properties": {
3911
+ "workflow_execution_id": {
3912
+ "type": "string"
3913
+ },
3914
+ "workflow_task_id": {
3915
+ "type": "string"
3916
+ },
3917
+ "source": {
3918
+ "type": "string",
3919
+ "example": "journey_submission"
3920
+ }
3921
+ }
3922
+ },
3890
3923
  "ExecutionChain": {
3891
3924
  "type": "object",
3892
3925
  "description": "[Internal] Tracks execution chain for infinite loop prevention. This is an internal property and should not be used by external consumers.",
@@ -928,15 +928,21 @@
928
928
  {
929
929
  "$ref": "#/components/schemas/EqualsCondition"
930
930
  },
931
+ {
932
+ "$ref": "#/components/schemas/NotEqualsCondition"
933
+ },
931
934
  {
932
935
  "$ref": "#/components/schemas/EqualsCurrentUserCondition"
936
+ },
937
+ {
938
+ "$ref": "#/components/schemas/NotEqualsCurrentUserCondition"
933
939
  }
934
940
  ]
935
941
  }
936
942
  ]
937
943
  },
938
944
  "EqualsCurrentUserCondition": {
939
- "description": "Check if any relation_user attribute on the entity contains the current user. When attribute is provided, only that specific attribute path is checked.",
945
+ "description": "Check if any relation_user attribute on the entity contains the current user. When attribute is provided, only that specific attribute path is checked. When attributes is provided, it takes precedence over attribute and the condition passes when the current user appears in ANY of the listed attribute paths.",
940
946
  "type": "object",
941
947
  "properties": {
942
948
  "attribute": {
@@ -944,6 +950,18 @@
944
950
  "description": "Optional JSON path to a specific user attribute. When omitted, all relation_user attributes on the entity are scanned.",
945
951
  "example": "assignee.*.user_id"
946
952
  },
953
+ "attributes": {
954
+ "type": "array",
955
+ "description": "Optional list of JSON paths to user attributes. Takes precedence over attribute.",
956
+ "minItems": 1,
957
+ "items": {
958
+ "type": "string"
959
+ },
960
+ "example": [
961
+ "assignee.*.user_id",
962
+ "owner.*.user_id"
963
+ ]
964
+ },
947
965
  "operation": {
948
966
  "type": "string",
949
967
  "enum": [
@@ -955,6 +973,38 @@
955
973
  "operation"
956
974
  ]
957
975
  },
976
+ "NotEqualsCurrentUserCondition": {
977
+ "description": "Check if the current user is absent from the relation_user attributes on the entity. When attribute is provided, only that specific attribute path is checked. When attributes is provided, it takes precedence over attribute and the condition passes only when the current user appears in NONE of the listed attribute paths.",
978
+ "type": "object",
979
+ "properties": {
980
+ "attribute": {
981
+ "type": "string",
982
+ "description": "Optional JSON path to a specific user attribute. When omitted, all relation_user attributes on the entity are scanned.",
983
+ "example": "assignee.*.user_id"
984
+ },
985
+ "attributes": {
986
+ "type": "array",
987
+ "description": "Optional list of JSON paths to user attributes. Takes precedence over attribute.",
988
+ "minItems": 1,
989
+ "items": {
990
+ "type": "string"
991
+ },
992
+ "example": [
993
+ "assignee.*.user_id",
994
+ "owner.*.user_id"
995
+ ]
996
+ },
997
+ "operation": {
998
+ "type": "string",
999
+ "enum": [
1000
+ "not_equals_current_user"
1001
+ ]
1002
+ }
1003
+ },
1004
+ "required": [
1005
+ "operation"
1006
+ ]
1007
+ },
958
1008
  "EqualsCondition": {
959
1009
  "description": "Check if attribute equals to any of the values",
960
1010
  "type": "object",
@@ -971,6 +1021,35 @@
971
1021
  },
972
1022
  "values": {
973
1023
  "type": "array",
1024
+ "minItems": 1,
1025
+ "items": {
1026
+ "example": "Qualification"
1027
+ }
1028
+ }
1029
+ },
1030
+ "required": [
1031
+ "attribute",
1032
+ "operation",
1033
+ "values"
1034
+ ]
1035
+ },
1036
+ "NotEqualsCondition": {
1037
+ "description": "Passes when the attribute does not equal any of the values. Records where the attribute is missing or empty pass the condition.",
1038
+ "type": "object",
1039
+ "properties": {
1040
+ "attribute": {
1041
+ "type": "string",
1042
+ "example": "workflows.primary.task_name"
1043
+ },
1044
+ "operation": {
1045
+ "type": "string",
1046
+ "enum": [
1047
+ "not_equals"
1048
+ ]
1049
+ },
1050
+ "values": {
1051
+ "type": "array",
1052
+ "minItems": 1,
974
1053
  "items": {
975
1054
  "example": "Qualification"
976
1055
  }
@@ -1511,5 +1590,9 @@
1511
1590
  }
1512
1591
  }
1513
1592
  },
1514
- "servers": []
1593
+ "servers": [
1594
+ {
1595
+ "url": "https://permissions.sls.epilot.io"
1596
+ }
1597
+ ]
1515
1598
  }
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  API_LIST
4
- } from "../chunk-XV6Z22GM.js";
4
+ } from "../chunk-ONZTQZV4.js";
5
5
 
6
6
  // bin/epilot.ts
7
7
  import { runMain } from "citty";
@@ -11,7 +11,7 @@ import { defineCommand } from "citty";
11
11
  var main = defineCommand({
12
12
  meta: {
13
13
  name: "epilot",
14
- version: "0.1.124",
14
+ version: "0.1.126",
15
15
  description: "CLI for epilot APIs"
16
16
  },
17
17
  args: {
@@ -30,8 +30,8 @@ var main = defineCommand({
30
30
  auth: () => import("../auth-WMXFMPWE.js").then((m) => m.default),
31
31
  profile: () => import("../profile-OZJL5ZPT.js").then((m) => m.default),
32
32
  config: () => import("../config-DGZIMLZK.js").then((m) => m.default),
33
- completion: () => import("../completion-F6MX5VSK.js").then((m) => m.default),
34
- upgrade: () => import("../upgrade-SS3SL26Q.js").then((m) => m.default),
33
+ completion: () => import("../completion-XAU4BLMW.js").then((m) => m.default),
34
+ upgrade: () => import("../upgrade-J7IDXQVY.js").then((m) => m.default),
35
35
  "access-token": () => import("../access-token-WWE6BDJH.js").then((m) => m.default),
36
36
  address: () => import("../address-EH3C4CVB.js").then((m) => m.default),
37
37
  "address-suggestions": () => import("../address-suggestions-RRSLOBFW.js").then((m) => m.default),
@@ -134,13 +134,13 @@ process.stderr.on("error", (err) => {
134
134
  if (err.code === "EPIPE") process.exit(0);
135
135
  throw err;
136
136
  });
137
- var VERSION = true ? "0.1.124" : (await null).default.version;
137
+ var VERSION = true ? "0.1.126" : (await null).default.version;
138
138
  var reorderedArgv = hoistFlagsAfterSubcommand(process.argv.slice(2));
139
139
  process.argv = [process.argv[0], process.argv[1], ...reorderedArgv];
140
140
  var args = process.argv.slice(2);
141
141
  var completionsIdx = args.indexOf("--_completions");
142
142
  if (completionsIdx >= 0) {
143
- const { handleCompletions } = await import("../completion-F6MX5VSK.js");
143
+ const { handleCompletions } = await import("../completion-XAU4BLMW.js");
144
144
  handleCompletions(args[completionsIdx + 1], args[completionsIdx + 2]);
145
145
  process.exit(0);
146
146
  }
@@ -1183,7 +1183,7 @@ var API_LIST = [
1183
1183
  apiName: "permissions",
1184
1184
  kebabName: "permissions",
1185
1185
  title: "Permissions API",
1186
- serverUrl: "",
1186
+ serverUrl: "https://permissions.sls.epilot.io",
1187
1187
  operationCount: 13,
1188
1188
  operationIds: [
1189
1189
  "listCurrentRoles",
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  API_LIST
4
- } from "./chunk-XV6Z22GM.js";
4
+ } from "./chunk-ONZTQZV4.js";
5
5
  import {
6
6
  DIM,
7
7
  GREEN,
@@ -72,7 +72,7 @@ ${GREEN}${BOLD}Upgraded to @epilot/cli@${latest}${RESET}
72
72
  }
73
73
  });
74
74
  var getCurrentVersion = () => {
75
- if (true) return "0.1.124";
75
+ if (true) return "0.1.126";
76
76
  try {
77
77
  const output = execSync("npm ls -g @epilot/cli --depth=0 --json 2>/dev/null", {
78
78
  encoding: "utf-8",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/cli",
3
- "version": "0.1.124",
3
+ "version": "0.1.126",
4
4
  "description": "CLI for epilot APIs",
5
5
  "type": "module",
6
6
  "bin": {