@n8n/telemetry 1.9.0 → 1.10.0

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.
Files changed (40) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/catalog.js +18 -16
  3. package/dist/catalog.js.map +1 -1
  4. package/dist/events/agents.d.ts +90 -0
  5. package/dist/events/agents.js +65 -0
  6. package/dist/events/agents.js.map +1 -1
  7. package/dist/events/context.d.ts +81 -5
  8. package/dist/events/context.js +73 -19
  9. package/dist/events/context.js.map +1 -1
  10. package/dist/events/credentials.d.ts +32 -3
  11. package/dist/events/credentials.js +15 -2
  12. package/dist/events/credentials.js.map +1 -1
  13. package/dist/events/instance-ai.d.ts +307 -1
  14. package/dist/events/instance-ai.js +241 -2
  15. package/dist/events/instance-ai.js.map +1 -1
  16. package/dist/events/mcp.d.ts +1 -0
  17. package/dist/events/mcp.js +1 -1
  18. package/dist/events/mcp.js.map +1 -1
  19. package/dist/events/{node-type-policies.d.ts → type-availability-policies.d.ts} +9 -9
  20. package/dist/events/{node-type-policies.js → type-availability-policies.js} +16 -16
  21. package/dist/events/type-availability-policies.js.map +1 -0
  22. package/dist/events/workflow.d.ts +186 -0
  23. package/dist/events/workflow.js +123 -0
  24. package/dist/events/workflow.js.map +1 -1
  25. package/dist/index.d.ts +3 -2
  26. package/dist/index.js +5 -3
  27. package/dist/index.js.map +1 -1
  28. package/dist/registry-checks.js +3 -2
  29. package/dist/registry-checks.js.map +1 -1
  30. package/dist/schemas.d.ts +5 -0
  31. package/dist/schemas.js +8 -0
  32. package/dist/schemas.js.map +1 -0
  33. package/dist/setup-properties.d.ts +22 -0
  34. package/dist/setup-properties.js +18 -0
  35. package/dist/setup-properties.js.map +1 -0
  36. package/dist/telemetry-events.d.ts +705 -18
  37. package/dist/telemetry-events.js +2 -2
  38. package/dist/telemetry-events.js.map +1 -1
  39. package/package.json +8 -8
  40. package/dist/events/node-type-policies.js.map +0 -1
@@ -875,8 +875,109 @@ export declare const TELEMETRY_EVENT: {
875
875
  } & import("./define").TelemetryEventInput & {
876
876
  readonly getValidationError: (properties: unknown) => string | null;
877
877
  };
878
+ readonly USER_STARTED_AGENT_CHANNEL_SETUP: {
879
+ readonly name: "User started agent channel setup";
880
+ readonly description: "The setup view of a chat channel became visible in the agent channel modal. Pairs with \"User closed agent channel setup\" to measure the setup funnel.";
881
+ readonly properties: import("zod/v4").ZodObject<{
882
+ agent_id: import("zod/v4").ZodString;
883
+ channel_type: import("zod/v4").ZodString;
884
+ session_id: import("zod/v4").ZodString;
885
+ }, import("zod/v4/core").$strip>;
886
+ } & import("./define").TelemetryEventInput & {
887
+ readonly getValidationError: (properties: unknown) => string | null;
888
+ };
889
+ readonly USER_CLOSED_AGENT_CHANNEL_SETUP: {
890
+ readonly name: "User closed agent channel setup";
891
+ readonly description: "The user left a chat channel setup view: after connecting the channel, going back to the channel list, or closing the modal. Fires once for each \"User started agent channel setup\".";
892
+ readonly properties: import("zod/v4").ZodObject<{
893
+ agent_id: import("zod/v4").ZodString;
894
+ channel_type: import("zod/v4").ZodString;
895
+ completed: import("zod/v4").ZodBoolean;
896
+ session_id: import("zod/v4").ZodString;
897
+ }, import("zod/v4/core").$strip>;
898
+ } & import("./define").TelemetryEventInput & {
899
+ readonly getValidationError: (properties: unknown) => string | null;
900
+ };
901
+ readonly USER_FAILED_TO_CONNECT_AGENT_CHANNEL: {
902
+ readonly name: "User failed to connect agent channel";
903
+ readonly description: "Saving a chat channel setup failed. The user can retry, so one setup can emit this more than once.";
904
+ readonly properties: import("zod/v4").ZodObject<{
905
+ agent_id: import("zod/v4").ZodString;
906
+ channel_type: import("zod/v4").ZodString;
907
+ stage: import("zod/v4").ZodEnum<{
908
+ before_save: "before_save";
909
+ connect: "connect";
910
+ persist: "persist";
911
+ }>;
912
+ conflict: import("zod/v4").ZodBoolean;
913
+ session_id: import("zod/v4").ZodString;
914
+ }, import("zod/v4/core").$strip>;
915
+ } & import("./define").TelemetryEventInput & {
916
+ readonly getValidationError: (properties: unknown) => string | null;
917
+ };
918
+ readonly USER_CHECKED_TEAMS_CHANNEL_CREDENTIAL: {
919
+ readonly name: "User checked Teams channel credential";
920
+ readonly description: "The Teams channel setup checked the selected credential against Microsoft. Runs on its own whenever the selected credential changes, including when the setup opens with one, and when the user clicks recheck.";
921
+ readonly properties: import("zod/v4").ZodObject<{
922
+ agent_id: import("zod/v4").ZodString;
923
+ trigger: import("zod/v4").ZodEnum<{
924
+ auto: "auto";
925
+ recheck: "recheck";
926
+ }>;
927
+ status: import("zod/v4").ZodEnum<{
928
+ failed: "failed";
929
+ ok: "ok";
930
+ }>;
931
+ reason: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
932
+ certificate: "certificate";
933
+ cloud: "cloud";
934
+ incomplete: "incomplete";
935
+ rejected: "rejected";
936
+ request_failed: "request_failed";
937
+ unreachable: "unreachable";
938
+ }>>;
939
+ session_id: import("zod/v4").ZodString;
940
+ }, import("zod/v4/core").$strip>;
941
+ } & import("./define").TelemetryEventInput & {
942
+ readonly getValidationError: (properties: unknown) => string | null;
943
+ };
944
+ readonly USER_CLICKED_DEPLOY_TO_AZURE_FOR_TEAMS_CHANNEL: {
945
+ readonly name: "User clicked Deploy to Azure for Teams channel";
946
+ readonly description: "The user clicked the Deploy to Azure button in the Teams channel setup.";
947
+ readonly properties: import("zod/v4").ZodObject<{
948
+ agent_id: import("zod/v4").ZodString;
949
+ session_id: import("zod/v4").ZodString;
950
+ }, import("zod/v4/core").$strip>;
951
+ } & import("./define").TelemetryEventInput & {
952
+ readonly getValidationError: (properties: unknown) => string | null;
953
+ };
954
+ readonly USER_DOWNLOADED_TEAMS_APP_PACKAGE: {
955
+ readonly name: "User downloaded Teams app package";
956
+ readonly description: "The user tried to download the Teams app package in the Teams channel setup.";
957
+ readonly properties: import("zod/v4").ZodObject<{
958
+ agent_id: import("zod/v4").ZodString;
959
+ status: import("zod/v4").ZodEnum<{
960
+ error: "error";
961
+ success: "success";
962
+ }>;
963
+ session_id: import("zod/v4").ZodString;
964
+ }, import("zod/v4/core").$strip>;
965
+ } & import("./define").TelemetryEventInput & {
966
+ readonly getValidationError: (properties: unknown) => string | null;
967
+ };
878
968
  };
879
969
  CREDENTIALS: {
970
+ readonly USER_VIEWED_GATEWAY_CREDITS_CREDENTIAL_ERROR_NUDGE: {
971
+ readonly name: "User viewed Gateway credits credential error nudge";
972
+ readonly description: "The credential modal showed a Gateway credits suggestion after a failed credential test for an eligible workflow node.";
973
+ readonly properties: import("zod/v4").ZodObject<{
974
+ credential_type: import("zod/v4").ZodString;
975
+ node_type: import("zod/v4").ZodString;
976
+ workflow_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
977
+ }, import("zod/v4/core").$strip>;
978
+ } & import("./define").TelemetryEventInput & {
979
+ readonly getValidationError: (properties: unknown) => string | null;
980
+ };
880
981
  readonly USER_CREATED_CREDENTIALS: {
881
982
  readonly name: "User created credentials";
882
983
  readonly description: "A credential was created. The server sets source to backend and reports description metadata. Existing editor events omit these properties. Description text is never included.";
@@ -906,13 +1007,13 @@ export declare const TELEMETRY_EVENT: {
906
1007
  readonly name: "User updated credentials";
907
1008
  readonly description: "The server updated a credential through the internal credential API. Description metadata comes from the saved record. Description text is never included.";
908
1009
  readonly properties: import("zod/v4").ZodObject<{
909
- has_description: import("zod/v4").ZodBoolean;
910
- description_length: import("zod/v4").ZodNumber;
911
1010
  user_id: import("zod/v4").ZodString;
912
1011
  user_role: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
913
1012
  credential_id: import("zod/v4").ZodString;
914
1013
  credential_type: import("zod/v4").ZodString;
915
- source: import("zod/v4").ZodLiteral<"backend">;
1014
+ source: import("zod/v4").ZodOptional<import("zod/v4").ZodLiteral<"backend">>;
1015
+ has_description: import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>;
1016
+ description_length: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
916
1017
  is_private: import("zod/v4").ZodBoolean;
917
1018
  uses_external_secrets: import("zod/v4").ZodBoolean;
918
1019
  jwe_enabled: import("zod/v4").ZodBoolean;
@@ -926,6 +1027,15 @@ export declare const TELEMETRY_EVENT: {
926
1027
  readonly name: "User started credential connection";
927
1028
  readonly description: "The user started a connection attempt or selected an existing credential in the setup panel. Includes retries.";
928
1029
  readonly properties: import("zod/v4").ZodObject<{
1030
+ session_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
1031
+ variant: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1032
+ control: "control";
1033
+ variant: "variant";
1034
+ }>>;
1035
+ '$feature/118_instance_ai_setup_overhaul': import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1036
+ control: "control";
1037
+ variant: "variant";
1038
+ }>>;
929
1039
  source: import("zod/v4").ZodLiteral<"instance_ai_setup_panel">;
930
1040
  workflow_id: import("zod/v4").ZodString;
931
1041
  thread_id: import("zod/v4").ZodString;
@@ -945,6 +1055,15 @@ export declare const TELEMETRY_EVENT: {
945
1055
  readonly name: "User completed credential connection";
946
1056
  readonly description: "A setup-panel credential was selected or connected and its workflow binding was applied or queued. This does not report workflow validation.";
947
1057
  readonly properties: import("zod/v4").ZodObject<{
1058
+ session_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
1059
+ variant: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1060
+ control: "control";
1061
+ variant: "variant";
1062
+ }>>;
1063
+ '$feature/118_instance_ai_setup_overhaul': import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1064
+ control: "control";
1065
+ variant: "variant";
1066
+ }>>;
948
1067
  source: import("zod/v4").ZodLiteral<"instance_ai_setup_panel">;
949
1068
  workflow_id: import("zod/v4").ZodString;
950
1069
  thread_id: import("zod/v4").ZodString;
@@ -983,6 +1102,37 @@ export declare const TELEMETRY_EVENT: {
983
1102
  };
984
1103
  };
985
1104
  CONTEXT: {
1105
+ readonly USER_VIEWED_PREFERENCES: {
1106
+ readonly name: "User viewed preferences";
1107
+ readonly description: "A user opened the preferences list in the Context settings area. Fires on every visit, so it is the first step of the create funnel and the only sign that somebody read their saved preferences without changing one.";
1108
+ readonly properties: import("zod/v4").ZodObject<{
1109
+ count: import("zod/v4").ZodNumber;
1110
+ scope_types: import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
1111
+ instance: "instance";
1112
+ project: "project";
1113
+ user: "user";
1114
+ }>>;
1115
+ }, import("zod/v4/core").$strip>;
1116
+ } & import("./define").TelemetryEventInput & {
1117
+ readonly getValidationError: (properties: unknown) => string | null;
1118
+ };
1119
+ readonly USER_OPENED_PREFERENCE_MODAL: {
1120
+ readonly name: "User opened preference modal";
1121
+ readonly description: "A user opened the create or edit dialog on the preferences settings page. Pairs with `User created preference` and `User updated preference`: an open with no save that follows is an abandoned edit, which no other event shows.";
1122
+ readonly properties: import("zod/v4").ZodObject<{
1123
+ mode: import("zod/v4").ZodEnum<{
1124
+ edit: "edit";
1125
+ new: "new";
1126
+ }>;
1127
+ scope_type: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1128
+ instance: "instance";
1129
+ project: "project";
1130
+ user: "user";
1131
+ }>>;
1132
+ }, import("zod/v4/core").$strip>;
1133
+ } & import("./define").TelemetryEventInput & {
1134
+ readonly getValidationError: (properties: unknown) => string | null;
1135
+ };
986
1136
  readonly USER_CREATED_PREFERENCE: {
987
1137
  readonly name: "User created preference";
988
1138
  readonly description: "A user saved a new preference from the Context settings area. Fires once the save succeeds, so opening the modal and cancelling reports nothing.";
@@ -1010,6 +1160,11 @@ export declare const TELEMETRY_EVENT: {
1010
1160
  text_length: import("zod/v4").ZodNumber;
1011
1161
  scope_changed: import("zod/v4").ZodBoolean;
1012
1162
  project_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
1163
+ surface: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1164
+ aia: "aia";
1165
+ mcp: "mcp";
1166
+ ui: "ui";
1167
+ }>>;
1013
1168
  }, import("zod/v4/core").$strip>;
1014
1169
  } & import("./define").TelemetryEventInput & {
1015
1170
  readonly getValidationError: (properties: unknown) => string | null;
@@ -1021,6 +1176,7 @@ export declare const TELEMETRY_EVENT: {
1021
1176
  count: import("zod/v4").ZodNumber;
1022
1177
  source: import("zod/v4").ZodEnum<{
1023
1178
  bulk: "bulk";
1179
+ rejected: "rejected";
1024
1180
  row: "row";
1025
1181
  }>;
1026
1182
  scope_types: import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
@@ -1028,6 +1184,11 @@ export declare const TELEMETRY_EVENT: {
1028
1184
  project: "project";
1029
1185
  user: "user";
1030
1186
  }>>;
1187
+ surface: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1188
+ aia: "aia";
1189
+ mcp: "mcp";
1190
+ }>>;
1191
+ seconds_since_saved: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
1031
1192
  }, import("zod/v4/core").$strip>;
1032
1193
  } & import("./define").TelemetryEventInput & {
1033
1194
  readonly getValidationError: (properties: unknown) => string | null;
@@ -1054,9 +1215,25 @@ export declare const TELEMETRY_EVENT: {
1054
1215
  } & import("./define").TelemetryEventInput & {
1055
1216
  readonly getValidationError: (properties: unknown) => string | null;
1056
1217
  };
1218
+ readonly PREFERENCES_READ_OVER_MCP: {
1219
+ readonly name: "Preferences read over MCP";
1220
+ readonly description: "An MCP client called `get_user_preferences`. Kept apart from `Preferences applied to a turn` because an MCP read is not a turn: n8n hands the text over and never learns whether the client applied it, so the latency and token columns of the turn event would stay empty. Fires on a successful read, including one that found nothing.";
1221
+ readonly properties: import("zod/v4").ZodObject<{
1222
+ count: import("zod/v4").ZodNumber;
1223
+ scope_types: import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
1224
+ instance: "instance";
1225
+ project: "project";
1226
+ user: "user";
1227
+ }>>;
1228
+ rendered_length: import("zod/v4").ZodNumber;
1229
+ project_scoped: import("zod/v4").ZodBoolean;
1230
+ }, import("zod/v4/core").$strip>;
1231
+ } & import("./define").TelemetryEventInput & {
1232
+ readonly getValidationError: (properties: unknown) => string | null;
1233
+ };
1057
1234
  readonly ASSISTANT_SAVED_PREFERENCE: {
1058
1235
  readonly name: "Assistant saved preference";
1059
- readonly description: "An AI surface created or updated a preference on the user behalf, after the user accepted it. Kept apart from the UI events so an assistant write is never counted as a person writing in settings. CONTEXT-138 fires it.";
1236
+ readonly description: "An AI surface created or updated a preference on the user behalf. The assistant writes first and the chat card is the confirmation, so this fires with the write, before the user has said anything. Kept apart from the UI events so an assistant write is never counted as a person writing in settings.";
1060
1237
  readonly properties: import("zod/v4").ZodObject<{
1061
1238
  surface: import("zod/v4").ZodEnum<{
1062
1239
  aia: "aia";
@@ -1075,7 +1252,7 @@ export declare const TELEMETRY_EVENT: {
1075
1252
  };
1076
1253
  readonly PREFERENCE_CONFIRMATION_SHOWN: {
1077
1254
  readonly name: "Preference confirmation shown";
1078
- readonly description: "The assistant proposed a preference and the confirmation card was shown. Fires when the card appears, whatever the user does next. CONTEXT-138 fires it.";
1255
+ readonly description: "The assistant saved a preference and the user was given the way to edit or undo it: the chat card, the MCP review form, or, on an MCP client without elicitation, the tool result that tells the client to relay the saved text and the settings link. Fires with the write, whatever the user does next.";
1079
1256
  readonly properties: import("zod/v4").ZodObject<{
1080
1257
  surface: import("zod/v4").ZodEnum<{
1081
1258
  aia: "aia";
@@ -1091,9 +1268,27 @@ export declare const TELEMETRY_EVENT: {
1091
1268
  } & import("./define").TelemetryEventInput & {
1092
1269
  readonly getValidationError: (properties: unknown) => string | null;
1093
1270
  };
1271
+ readonly USER_SAW_PREFERENCE_CARD: {
1272
+ readonly name: "User saw preference card";
1273
+ readonly description: "The preference card rendered in the chat thread. `Preference confirmation shown` fires with the write, so it counts confirmations offered, not confirmations seen. The gap between the two is a write whose card never reached the screen, which an MCP client without a review form always produces.";
1274
+ readonly properties: import("zod/v4").ZodObject<{
1275
+ scope_type: import("zod/v4").ZodEnum<{
1276
+ instance: "instance";
1277
+ project: "project";
1278
+ user: "user";
1279
+ }>;
1280
+ state: import("zod/v4").ZodEnum<{
1281
+ edited: "edited";
1282
+ saved: "saved";
1283
+ undone: "undone";
1284
+ }>;
1285
+ }, import("zod/v4/core").$strip>;
1286
+ } & import("./define").TelemetryEventInput & {
1287
+ readonly getValidationError: (properties: unknown) => string | null;
1288
+ };
1094
1289
  readonly PREFERENCE_CONFIRMATION_RESOLVED: {
1095
1290
  readonly name: "Preference confirmation resolved";
1096
- readonly description: "The user answered a preference confirmation. A high `rejected` share means the assistant proposes the wrong preferences, and no other number shows that. CONTEXT-138 fires it.";
1291
+ readonly description: "How a preference the assistant saved was settled. `accepted` fires with the write itself: the assistant writes first and silence is agreement, so it is not a user answer. `accepted_after_edit` and `rejected` are the explicit user actions, and either one supersedes the `accepted` already recorded for the same preference: read the last outcome for a preference, not the count of them. A high share of edits and removals means the assistant saves the wrong preferences, and no other number shows that.";
1097
1292
  readonly properties: import("zod/v4").ZodObject<{
1098
1293
  surface: import("zod/v4").ZodEnum<{
1099
1294
  aia: "aia";
@@ -1116,7 +1311,7 @@ export declare const TELEMETRY_EVENT: {
1116
1311
  };
1117
1312
  readonly PREFERENCE_SCOPE_ACCEPTED: {
1118
1313
  readonly name: "Preference scope accepted";
1119
- readonly description: "The scope the user accepted against the scope the assistant offered. Shows whether the assistant reads the difference between a personal habit and a team rule. Fires only on an accepted write. CONTEXT-138 and the scope ticket fire it.";
1314
+ readonly description: "The scope the user accepted against the scope offered. An accepted write from the assistant reports `user` for both, because the tool writes only `user`. A later move reports the scope the row left as `offered_scope`, so `user` appears there only on the first move off the default. Fires on an accepted assistant write, on every move from the chat card, and on a move from MCP: the review form, or `update_user_preference` with a scope.";
1120
1315
  readonly properties: import("zod/v4").ZodObject<{
1121
1316
  surface: import("zod/v4").ZodEnum<{
1122
1317
  aia: "aia";
@@ -1139,7 +1334,7 @@ export declare const TELEMETRY_EVENT: {
1139
1334
  };
1140
1335
  readonly PREFERENCE_WRITE_REJECTED: {
1141
1336
  readonly name: "Preference write rejected";
1142
- readonly description: "A preference write was refused before it reached the database. Separates a rule the code applied from a user saying no, which is `Preference confirmation resolved`. CONTEXT-138 fires it.";
1337
+ readonly description: "A preference write was refused before it reached the database. Separates a rule the code applied from a user saying no, which is `Preference confirmation resolved`.";
1143
1338
  readonly properties: import("zod/v4").ZodObject<{
1144
1339
  surface: import("zod/v4").ZodEnum<{
1145
1340
  aia: "aia";
@@ -1274,6 +1469,15 @@ export declare const TELEMETRY_EVENT: {
1274
1469
  readonly name: "AI Assistant setup panel state observed";
1275
1470
  readonly description: "The setup panel observed a new requirement snapshot. Also fires when no setup is needed, including workflows whose credentials were already connected.";
1276
1471
  readonly properties: import("zod/v4").ZodObject<{
1472
+ session_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
1473
+ variant: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1474
+ control: "control";
1475
+ variant: "variant";
1476
+ }>>;
1477
+ '$feature/118_instance_ai_setup_overhaul': import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1478
+ control: "control";
1479
+ variant: "variant";
1480
+ }>>;
1277
1481
  workflow_id: import("zod/v4").ZodString;
1278
1482
  thread_id: import("zod/v4").ZodString;
1279
1483
  credential_count: import("zod/v4").ZodNumber;
@@ -1288,6 +1492,15 @@ export declare const TELEMETRY_EVENT: {
1288
1492
  readonly name: "AI Assistant setup panel item shown";
1289
1493
  readonly description: "A setup checklist row became visible. Reopening the same row within the mounted panel does not emit another event.";
1290
1494
  readonly properties: import("zod/v4").ZodObject<{
1495
+ session_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
1496
+ variant: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1497
+ control: "control";
1498
+ variant: "variant";
1499
+ }>>;
1500
+ '$feature/118_instance_ai_setup_overhaul': import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1501
+ control: "control";
1502
+ variant: "variant";
1503
+ }>>;
1291
1504
  workflow_id: import("zod/v4").ZodString;
1292
1505
  thread_id: import("zod/v4").ZodString;
1293
1506
  kind: import("zod/v4").ZodEnum<{
@@ -1297,6 +1510,16 @@ export declare const TELEMETRY_EVENT: {
1297
1510
  }>;
1298
1511
  credential_type: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
1299
1512
  parameter_count: import("zod/v4").ZodNumber;
1513
+ items: import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodObject<{
1514
+ node_id: import("zod/v4").ZodString;
1515
+ node_type: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
1516
+ kind: import("zod/v4").ZodEnum<{
1517
+ credential: "credential";
1518
+ parameter: "parameter";
1519
+ }>;
1520
+ credential_type: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
1521
+ parameter_name: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
1522
+ }, import("zod/v4/core").$strip>>>;
1300
1523
  }, import("zod/v4/core").$strip>;
1301
1524
  } & import("./define").TelemetryEventInput & {
1302
1525
  readonly getValidationError: (properties: unknown) => string | null;
@@ -1305,6 +1528,15 @@ export declare const TELEMETRY_EVENT: {
1305
1528
  readonly name: "AI Assistant setup panel dismissed";
1306
1529
  readonly description: "A visible setup panel closed. The reason separates navigation and removed requirements from a finished execution or an explicit dismissal.";
1307
1530
  readonly properties: import("zod/v4").ZodObject<{
1531
+ session_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
1532
+ variant: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1533
+ control: "control";
1534
+ variant: "variant";
1535
+ }>>;
1536
+ '$feature/118_instance_ai_setup_overhaul': import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
1537
+ control: "control";
1538
+ variant: "variant";
1539
+ }>>;
1308
1540
  workflow_id: import("zod/v4").ZodString;
1309
1541
  thread_id: import("zod/v4").ZodString;
1310
1542
  reason: import("zod/v4").ZodEnum<{
@@ -1555,8 +1787,15 @@ export declare const TELEMETRY_EVENT: {
1555
1787
  };
1556
1788
  readonly USER_RECEIVED_AI_ASSISTANT_RESPONSE: {
1557
1789
  readonly name: "User received AI Assistant response";
1558
- readonly description: "The initial foreground AI Assistant reply was rendered after a user submitted a chat message. Starts before attachment processing and first-thread creation, then fires once when the initial run completes or pauses for user input. Automated follow-up runs do not create another sample.";
1790
+ readonly description: "The initial foreground AI Assistant reply was rendered after a user submitted a chat message. Starts before attachment processing and first-thread creation, then fires once when the initial run completes or pauses for user input. Automated follow-up runs do not create another sample. Repeats the mention and attachment counts of the message that started the run, so outcome cuts by context need no join back to \"User sent builder message\".";
1559
1791
  readonly properties: import("zod/v4").ZodObject<{
1792
+ mention_counts: import("zod/v4").ZodObject<{
1793
+ total: import("zod/v4").ZodNumber;
1794
+ workflow: import("zod/v4").ZodNumber;
1795
+ node: import("zod/v4").ZodNumber;
1796
+ group: import("zod/v4").ZodNumber;
1797
+ }, import("zod/v4/core").$strip>;
1798
+ attachment_count: import("zod/v4").ZodNumber;
1560
1799
  instance_id: import("zod/v4").ZodString;
1561
1800
  thread_id: import("zod/v4").ZodString;
1562
1801
  run_id: import("zod/v4").ZodString;
@@ -1576,6 +1815,7 @@ export declare const TELEMETRY_EVENT: {
1576
1815
  credentials_list: "credentials_list";
1577
1816
  evals: "evals";
1578
1817
  node_error_view: "node_error_view";
1818
+ onboarding: "onboarding";
1579
1819
  playwright: "playwright";
1580
1820
  "template-view": "template-view";
1581
1821
  unknown: "unknown";
@@ -1796,10 +2036,131 @@ export declare const TELEMETRY_EVENT: {
1796
2036
  } & import("./define").TelemetryEventInput & {
1797
2037
  readonly getValidationError: (properties: unknown) => string | null;
1798
2038
  };
2039
+ readonly USER_OPENED_AI_ASSISTANT_MENTION_PICKER: {
2040
+ readonly name: "User opened AI Assistant mention picker";
2041
+ readonly description: "The user opened the n8n Assistant mention picker by typing an at sign or selecting the composer button. Every open ends in exactly one \"User selected AI Assistant mention\" or one \"User dismissed AI Assistant mention picker\", so the two together give the pick rate per open.";
2042
+ readonly properties: import("zod/v4").ZodObject<{
2043
+ thread_id: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
2044
+ source: import("zod/v4").ZodEnum<{
2045
+ button: "button";
2046
+ typed: "typed";
2047
+ }>;
2048
+ }, import("zod/v4/core").$strip>;
2049
+ } & import("./define").TelemetryEventInput & {
2050
+ readonly getValidationError: (properties: unknown) => string | null;
2051
+ };
2052
+ readonly USER_DISMISSED_AI_ASSISTANT_MENTION_PICKER: {
2053
+ readonly name: "User dismissed AI Assistant mention picker";
2054
+ readonly description: "The n8n Assistant mention picker closed without a selection. The list properties describe what was on screen at that moment: a search with result_count 0 is a resource the user could not find, a non-zero ambiguous_result_count is a list the user could not tell apart. Carries interaction metadata but no query text or resource names; the query text of an empty search is on \"User searched AI Assistant mentions without results\".";
2055
+ readonly properties: import("zod/v4").ZodObject<{
2056
+ thread_id: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
2057
+ source: import("zod/v4").ZodEnum<{
2058
+ button: "button";
2059
+ typed: "typed";
2060
+ }>;
2061
+ reason: import("zod/v4").ZodEnum<{
2062
+ closed_menu: "closed_menu";
2063
+ deleted_trigger: "deleted_trigger";
2064
+ moved_caret: "moved_caret";
2065
+ unavailable: "unavailable";
2066
+ }>;
2067
+ mode: import("zod/v4").ZodEnum<{
2068
+ browse: "browse";
2069
+ search: "search";
2070
+ }>;
2071
+ query_length: import("zod/v4").ZodNumber;
2072
+ result_count: import("zod/v4").ZodNumber;
2073
+ ambiguous_result_count: import("zod/v4").ZodNumber;
2074
+ submenu_open_count: import("zod/v4").ZodNumber;
2075
+ }, import("zod/v4/core").$strip>;
2076
+ } & import("./define").TelemetryEventInput & {
2077
+ readonly getValidationError: (properties: unknown) => string | null;
2078
+ };
2079
+ readonly USER_SEARCHED_AI_ASSISTANT_MENTIONS_WITHOUT_RESULTS: {
2080
+ readonly name: "User searched AI Assistant mentions without results";
2081
+ readonly description: "The n8n Assistant mention picker showed its empty state for a search query the user let settle for about a second, or closed the picker on. Fires once per distinct settled query within one picker open, so typing straight through a prefix chain like \"S\", \"Sl\", \"Slack\" reports \"Slack\" once. The one mention event that carries the query text, to learn what users try to mention and cannot.";
2082
+ readonly properties: import("zod/v4").ZodObject<{
2083
+ thread_id: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
2084
+ source: import("zod/v4").ZodEnum<{
2085
+ button: "button";
2086
+ typed: "typed";
2087
+ }>;
2088
+ query: import("zod/v4").ZodString;
2089
+ query_length: import("zod/v4").ZodNumber;
2090
+ matched_node_type: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
2091
+ artifact_count: import("zod/v4").ZodNumber;
2092
+ }, import("zod/v4/core").$strip>;
2093
+ } & import("./define").TelemetryEventInput & {
2094
+ readonly getValidationError: (properties: unknown) => string | null;
2095
+ };
2096
+ readonly USER_SELECTED_AI_ASSISTANT_MENTION: {
2097
+ readonly name: "User selected AI Assistant mention";
2098
+ readonly description: "The user selected a workflow, node, or canvas group from the n8n Assistant mention picker. A pick of a mention that is already staged also counts, so every open ends in this event or in \"User dismissed AI Assistant mention picker\". The event contains interaction metadata but no resource names or IDs.";
2099
+ readonly properties: import("zod/v4").ZodObject<{
2100
+ thread_id: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
2101
+ kind: import("zod/v4").ZodEnum<{
2102
+ group: "group";
2103
+ node: "node";
2104
+ workflow: "workflow";
2105
+ }>;
2106
+ mode: import("zod/v4").ZodEnum<{
2107
+ browse: "browse";
2108
+ search: "search";
2109
+ }>;
2110
+ source: import("zod/v4").ZodEnum<{
2111
+ artifacts: "artifacts";
2112
+ workflows: "workflows";
2113
+ }>;
2114
+ result_position: import("zod/v4").ZodNumber;
2115
+ query_length: import("zod/v4").ZodNumber;
2116
+ already_artifact: import("zod/v4").ZodBoolean;
2117
+ artifact_origin: import("zod/v4").ZodNullable<import("zod/v4").ZodEnum<{
2118
+ attached: "attached";
2119
+ built: "built";
2120
+ fetched: "fetched";
2121
+ mentioned: "mentioned";
2122
+ }>>;
2123
+ }, import("zod/v4/core").$strip>;
2124
+ } & import("./define").TelemetryEventInput & {
2125
+ readonly getValidationError: (properties: unknown) => string | null;
2126
+ };
2127
+ readonly USER_REMOVED_AI_ASSISTANT_MENTION: {
2128
+ readonly name: "User removed AI Assistant mention";
2129
+ readonly description: "The user removed workflow, node, or canvas group context that they added through the n8n Assistant mention picker.";
2130
+ readonly properties: import("zod/v4").ZodObject<{
2131
+ thread_id: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
2132
+ kind: import("zod/v4").ZodEnum<{
2133
+ group: "group";
2134
+ node: "node";
2135
+ workflow: "workflow";
2136
+ }>;
2137
+ }, import("zod/v4/core").$strip>;
2138
+ } & import("./define").TelemetryEventInput & {
2139
+ readonly getValidationError: (properties: unknown) => string | null;
2140
+ };
1799
2141
  readonly USER_SENT_BUILDER_MESSAGE: {
1800
2142
  readonly name: "User sent builder message";
1801
2143
  readonly description: "The user sent a message to the n8n Assistant. Fires once per message on the optimistic send, before the request is admitted, so a refused send still counts as an attempt. Carries who wrote the text: a pre-fill is an opener n8n composed (a failed execution, a credential modal, a template card, a suggestion chip) that the user accepted or edited, so pre-fill share must be read from prefill_type rather than matched against the message body.";
1802
2144
  readonly properties: import("zod/v4").ZodObject<{
2145
+ session_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2146
+ variant: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
2147
+ control: "control";
2148
+ variant: "variant";
2149
+ }>>;
2150
+ '$feature/118_instance_ai_setup_overhaul': import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
2151
+ control: "control";
2152
+ variant: "variant";
2153
+ }>>;
2154
+ mention_counts: import("zod/v4").ZodObject<{
2155
+ total: import("zod/v4").ZodNumber;
2156
+ workflow: import("zod/v4").ZodNumber;
2157
+ node: import("zod/v4").ZodNumber;
2158
+ group: import("zod/v4").ZodNumber;
2159
+ }, import("zod/v4/core").$strip>;
2160
+ attachment_count: import("zod/v4").ZodNumber;
2161
+ workflow_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2162
+ pending_credential_count: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
2163
+ pending_parameter_count: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
1803
2164
  thread_id: import("zod/v4").ZodString;
1804
2165
  instance_id: import("zod/v4").ZodString;
1805
2166
  is_first_message: import("zod/v4").ZodBoolean;
@@ -1813,6 +2174,7 @@ export declare const TELEMETRY_EVENT: {
1813
2174
  credentials_list: "credentials_list";
1814
2175
  evals: "evals";
1815
2176
  node_error_view: "node_error_view";
2177
+ onboarding: "onboarding";
1816
2178
  playwright: "playwright";
1817
2179
  "template-view": "template-view";
1818
2180
  unknown: "unknown";
@@ -1872,6 +2234,144 @@ export declare const TELEMETRY_EVENT: {
1872
2234
  } & import("./define").TelemetryEventInput & {
1873
2235
  readonly getValidationError: (properties: unknown) => string | null;
1874
2236
  };
2237
+ readonly USER_STARTED_AI_ASSISTANT_ONBOARDING: {
2238
+ readonly name: "User started AI Assistant onboarding";
2239
+ readonly description: "An onboarding thread was created: the user arrived from the n8n Cloud signup survey (/assistant?source=onboarding) or opened the onboarding by hand. Fires once per thread, from the backend, when the seeded greeting and question card are stored.";
2240
+ readonly properties: import("zod/v4").ZodObject<{
2241
+ user_id: import("zod/v4").ZodString;
2242
+ thread_id: import("zod/v4").ZodString;
2243
+ team: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
2244
+ team_source: import("zod/v4").ZodNullable<import("zod/v4").ZodEnum<{
2245
+ cloud: "cloud";
2246
+ url: "url";
2247
+ }>>;
2248
+ }, import("zod/v4/core").$strip>;
2249
+ } & import("./define").TelemetryEventInput & {
2250
+ readonly getValidationError: (properties: unknown) => string | null;
2251
+ };
2252
+ readonly USER_ANSWERED_AI_ASSISTANT_ONBOARDING_CARD: {
2253
+ readonly name: "User answered AI Assistant onboarding card";
2254
+ readonly description: "The user settled the question card an onboarding thread opens with. Fires once per thread, from the backend, when the answers are stored. Carries the picked apps and the free text as typed.";
2255
+ readonly properties: import("zod/v4").ZodObject<{
2256
+ user_id: import("zod/v4").ZodString;
2257
+ thread_id: import("zod/v4").ZodString;
2258
+ team: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
2259
+ team_source: import("zod/v4").ZodNullable<import("zod/v4").ZodEnum<{
2260
+ card: "card";
2261
+ cloud: "cloud";
2262
+ url: "url";
2263
+ }>>;
2264
+ apps: import("zod/v4").ZodArray<import("zod/v4").ZodString>;
2265
+ custom_text: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
2266
+ }, import("zod/v4/core").$strip>;
2267
+ } & import("./define").TelemetryEventInput & {
2268
+ readonly getValidationError: (properties: unknown) => string | null;
2269
+ };
2270
+ readonly AI_ASSISTANT_ONBOARDING_ENDED: {
2271
+ readonly name: "AI Assistant onboarding ended";
2272
+ readonly description: "The onboarding flow of a thread ended and the normal chat came back. Fires once per thread, from the browser, on the first build, when the agent calls `leave-onboarding`, or when a run fails.";
2273
+ readonly properties: import("zod/v4").ZodObject<{
2274
+ thread_id: import("zod/v4").ZodString;
2275
+ instance_id: import("zod/v4").ZodString;
2276
+ outcome: import("zod/v4").ZodEnum<{
2277
+ build: "build";
2278
+ left: "left";
2279
+ run_failed: "run_failed";
2280
+ }>;
2281
+ leave_reason: import("zod/v4").ZodNullable<import("zod/v4").ZodString>;
2282
+ }, import("zod/v4/core").$strip>;
2283
+ } & import("./define").TelemetryEventInput & {
2284
+ readonly getValidationError: (properties: unknown) => string | null;
2285
+ };
2286
+ readonly INSTANCE_CONTEXT_TURN: {
2287
+ readonly name: "Instance AI instance-context turn completed";
2288
+ readonly description: "One context result per turn segment, including turns without a block. Group by run_id. Count distinct runs, sum segment tokens, and count a question if any segment asked one.";
2289
+ readonly properties: import("zod/v4").ZodDiscriminatedUnion<[import("zod/v4").ZodObject<{
2290
+ surface: import("zod/v4").ZodEnum<{
2291
+ aia: "aia";
2292
+ mcp: "mcp";
2293
+ }>;
2294
+ user_id: import("zod/v4").ZodString;
2295
+ thread_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2296
+ run_id: import("zod/v4").ZodString;
2297
+ segment: import("zod/v4").ZodEnum<{
2298
+ resumed: "resumed";
2299
+ suspended: "suspended";
2300
+ whole: "whole";
2301
+ }>;
2302
+ instance_context_enabled: import("zod/v4").ZodBoolean;
2303
+ node_usage_enabled: import("zod/v4").ZodBoolean;
2304
+ context_depth: import("zod/v4").ZodNumber;
2305
+ context_surfaces: import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
2306
+ "activity-expand": "activity-expand";
2307
+ "activity-list": "activity-list";
2308
+ "node-usage": "node-usage";
2309
+ "workflow-read": "workflow-read";
2310
+ }>>;
2311
+ asked_clarifying_question: import("zod/v4").ZodBoolean;
2312
+ tool_calls: import("zod/v4").ZodNumber;
2313
+ turn_prompt_tokens: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
2314
+ turn_completion_tokens: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
2315
+ turn_total_tokens: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
2316
+ turn_cost_usd: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
2317
+ status: import("zod/v4").ZodEnum<{
2318
+ cancelled: "cancelled";
2319
+ completed: "completed";
2320
+ errored: "errored";
2321
+ suspended: "suspended";
2322
+ }>;
2323
+ block_state: import("zod/v4").ZodLiteral<"absent">;
2324
+ absence_reason: import("zod/v4").ZodEnum<{
2325
+ disabled: "disabled";
2326
+ empty: "empty";
2327
+ failed: "failed";
2328
+ "machine-follow-up": "machine-follow-up";
2329
+ }>;
2330
+ }, import("zod/v4/core").$strict>, import("zod/v4").ZodObject<{
2331
+ surface: import("zod/v4").ZodEnum<{
2332
+ aia: "aia";
2333
+ mcp: "mcp";
2334
+ }>;
2335
+ user_id: import("zod/v4").ZodString;
2336
+ thread_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2337
+ run_id: import("zod/v4").ZodString;
2338
+ segment: import("zod/v4").ZodEnum<{
2339
+ resumed: "resumed";
2340
+ suspended: "suspended";
2341
+ whole: "whole";
2342
+ }>;
2343
+ instance_context_enabled: import("zod/v4").ZodBoolean;
2344
+ node_usage_enabled: import("zod/v4").ZodBoolean;
2345
+ context_depth: import("zod/v4").ZodNumber;
2346
+ context_surfaces: import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
2347
+ "activity-expand": "activity-expand";
2348
+ "activity-list": "activity-list";
2349
+ "node-usage": "node-usage";
2350
+ "workflow-read": "workflow-read";
2351
+ }>>;
2352
+ asked_clarifying_question: import("zod/v4").ZodBoolean;
2353
+ tool_calls: import("zod/v4").ZodNumber;
2354
+ turn_prompt_tokens: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
2355
+ turn_completion_tokens: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
2356
+ turn_total_tokens: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
2357
+ turn_cost_usd: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
2358
+ status: import("zod/v4").ZodEnum<{
2359
+ cancelled: "cancelled";
2360
+ completed: "completed";
2361
+ errored: "errored";
2362
+ suspended: "suspended";
2363
+ }>;
2364
+ block_state: import("zod/v4").ZodLiteral<"injected">;
2365
+ block_is_update: import("zod/v4").ZodBoolean;
2366
+ block_inventory_rows: import("zod/v4").ZodNumber;
2367
+ block_event_rows: import("zod/v4").ZodNumber;
2368
+ block_run_rows: import("zod/v4").ZodNumber;
2369
+ block_chars: import("zod/v4").ZodNumber;
2370
+ block_tokens_estimated: import("zod/v4").ZodNumber;
2371
+ }, import("zod/v4/core").$strict>]>;
2372
+ } & import("./define").TelemetryEventInput & {
2373
+ readonly getValidationError: (properties: unknown) => string | null;
2374
+ };
1875
2375
  };
1876
2376
  MCP: {
1877
2377
  readonly MCP_NUDGE_VIEWED: {
@@ -1993,6 +2493,7 @@ export declare const TELEMETRY_EVENT: {
1993
2493
  client_brand: import("zod/v4").ZodNullable<import("zod/v4").ZodEnum<{
1994
2494
  claude: "claude";
1995
2495
  cursor: "cursor";
2496
+ mistral: "mistral";
1996
2497
  openai: "openai";
1997
2498
  vscode: "vscode";
1998
2499
  }>>;
@@ -2021,10 +2522,10 @@ export declare const TELEMETRY_EVENT: {
2021
2522
  readonly getValidationError: (properties: unknown) => string | null;
2022
2523
  };
2023
2524
  };
2024
- NODE_TYPE_POLICIES: {
2025
- readonly USER_SAVED_NODE_TYPE_POLICY: {
2026
- readonly name: "User saved node type policy";
2027
- readonly description: "A node type availability policy was saved for one scope through the composed write that the policy UI uses. One event per save, covering both the scope default action and its rules. Rule-level edits through the advanced document and attachment APIs report separately. The type counts and list report what this scope decides on its own, so at project scope they are the project layer before it composes with the instance policy.";
2525
+ TYPE_AVAILABILITY_POLICIES: {
2526
+ readonly USER_SAVED_TYPE_AVAILABILITY_POLICY: {
2527
+ readonly name: "User saved type availability policy";
2528
+ readonly description: "A type availability policy (node types or credential types, per `kind`) was saved for one scope through the composed write that the policy UI uses. One event per save, covering both the scope default action and its rules. Rule-level edits through the advanced document and attachment APIs report separately. The type counts and list report what this scope decides on its own, so at project scope they are the project layer before it composes with the instance policy.";
2028
2529
  readonly properties: import("zod/v4").ZodObject<{
2029
2530
  rule_count: import("zod/v4").ZodNumber;
2030
2531
  allow_rule_count: import("zod/v4").ZodNumber;
@@ -2070,9 +2571,9 @@ export declare const TELEMETRY_EVENT: {
2070
2571
  } & import("./define").TelemetryEventInput & {
2071
2572
  readonly getValidationError: (properties: unknown) => string | null;
2072
2573
  };
2073
- readonly USER_UPDATED_NODE_TYPE_POLICY_DOCUMENT: {
2074
- readonly name: "User updated node type policy document";
2075
- readonly description: "A policy document was created, edited, or deleted through the advanced instance-only document API. The composed save that the policy UI uses reports as \"User saved node type policy\" instead. Rule counts describe the document after the operation, so a delete reports 0 and carries the deleted size in previous_rule_count.";
2574
+ readonly USER_UPDATED_TYPE_AVAILABILITY_POLICY_DOCUMENT: {
2575
+ readonly name: "User updated type availability policy document";
2576
+ readonly description: "A policy document was created, edited, or deleted through the advanced instance-only document API. The composed save that the policy UI uses reports as \"User saved type availability policy\" instead. Rule counts describe the document after the operation, so a delete reports 0 and carries the deleted size in previous_rule_count.";
2076
2577
  readonly properties: import("zod/v4").ZodObject<{
2077
2578
  rule_count: import("zod/v4").ZodNumber;
2078
2579
  allow_rule_count: import("zod/v4").ZodNumber;
@@ -2098,8 +2599,8 @@ export declare const TELEMETRY_EVENT: {
2098
2599
  } & import("./define").TelemetryEventInput & {
2099
2600
  readonly getValidationError: (properties: unknown) => string | null;
2100
2601
  };
2101
- readonly USER_UPDATED_NODE_TYPE_POLICY_ATTACHMENTS: {
2102
- readonly name: "User updated node type policy attachments";
2602
+ readonly USER_UPDATED_TYPE_AVAILABILITY_POLICY_ATTACHMENTS: {
2603
+ readonly name: "User updated type availability policy attachments";
2103
2604
  readonly description: "The set of policy documents attached to one scope was replaced through the advanced instance-only attachment API. Reports the resulting set, not the individual add or remove.";
2104
2605
  readonly properties: import("zod/v4").ZodObject<{
2105
2606
  user_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
@@ -2126,13 +2627,199 @@ export declare const TELEMETRY_EVENT: {
2126
2627
  };
2127
2628
  };
2128
2629
  WORKFLOW: {
2630
+ readonly USER_GROUPED_NODES: {
2631
+ readonly name: "User grouped nodes";
2632
+ readonly description: "The user created a node group on the workflow canvas. Empty groups report no node ids because their internal anchor is excluded.";
2633
+ readonly properties: import("zod/v4").ZodObject<{
2634
+ workflow_id: import("zod/v4").ZodString;
2635
+ group_id: import("zod/v4").ZodString;
2636
+ node_ids: import("zod/v4").ZodArray<import("zod/v4").ZodString>;
2637
+ node_count: import("zod/v4").ZodNumber;
2638
+ group_title: import("zod/v4").ZodString;
2639
+ source: import("zod/v4").ZodEnum<{
2640
+ "context-menu": "context-menu";
2641
+ "group-header": "group-header";
2642
+ "group-toolbar": "group-toolbar";
2643
+ "keyboard-shortcut": "keyboard-shortcut";
2644
+ "node-creator": "node-creator";
2645
+ "sub-workflow-extraction": "sub-workflow-extraction";
2646
+ "update-blocked-toast": "update-blocked-toast";
2647
+ }>;
2648
+ push_ref: import("zod/v4").ZodString;
2649
+ is_empty: import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>;
2650
+ node_creator_open_source: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
2651
+ add_evaluation_node_button: "add_evaluation_node_button";
2652
+ add_input_endpoint: "add_input_endpoint";
2653
+ add_node_button: "add_node_button";
2654
+ context_menu: "context_menu";
2655
+ instance_ai: "instance_ai";
2656
+ no_trigger_execution_tooltip: "no_trigger_execution_tooltip";
2657
+ node_connection_action: "node_connection_action";
2658
+ node_connection_drop: "node_connection_drop";
2659
+ node_shortcut: "node_shortcut";
2660
+ notice_error_message: "notice_error_message";
2661
+ plus_endpoint: "plus_endpoint";
2662
+ replace_node_action: "replace_node_action";
2663
+ templates_callout: "templates_callout";
2664
+ trigger_placeholder_button: "trigger_placeholder_button";
2665
+ }>>;
2666
+ }, import("zod/v4/core").$strip>;
2667
+ } & import("./define").TelemetryEventInput & {
2668
+ readonly getValidationError: (properties: unknown) => string | null;
2669
+ };
2670
+ readonly USER_FILLED_EMPTY_GROUP: {
2671
+ readonly name: "User filled empty group";
2672
+ readonly description: "The user added the first real node or node batch to a group that contained only its internal empty-group anchor.";
2673
+ readonly properties: import("zod/v4").ZodObject<{
2674
+ workflow_id: import("zod/v4").ZodString;
2675
+ group_id: import("zod/v4").ZodString;
2676
+ push_ref: import("zod/v4").ZodString;
2677
+ node_count_after: import("zod/v4").ZodNumber;
2678
+ connection_count_before_fill: import("zod/v4").ZodNumber;
2679
+ }, import("zod/v4/core").$strip>;
2680
+ } & import("./define").TelemetryEventInput & {
2681
+ readonly getValidationError: (properties: unknown) => string | null;
2682
+ };
2683
+ readonly USER_DELETED_LAST_NODE_FROM_GROUP: {
2684
+ readonly name: "User deleted last node from group";
2685
+ readonly description: "The user deleted the last real node from a group and the editor replaced it with an internal empty-group anchor.";
2686
+ readonly properties: import("zod/v4").ZodObject<{
2687
+ workflow_id: import("zod/v4").ZodString;
2688
+ group_id: import("zod/v4").ZodString;
2689
+ push_ref: import("zod/v4").ZodString;
2690
+ }, import("zod/v4/core").$strip>;
2691
+ } & import("./define").TelemetryEventInput & {
2692
+ readonly getValidationError: (properties: unknown) => string | null;
2693
+ };
2694
+ readonly USER_DELETED_GROUP: {
2695
+ readonly name: "User deleted group";
2696
+ readonly description: "The user deleted the final member of a group, which removed the group from the workflow.";
2697
+ readonly properties: import("zod/v4").ZodObject<{
2698
+ workflow_id: import("zod/v4").ZodString;
2699
+ group_id: import("zod/v4").ZodString;
2700
+ push_ref: import("zod/v4").ZodString;
2701
+ was_empty: import("zod/v4").ZodBoolean;
2702
+ }, import("zod/v4/core").$strip>;
2703
+ } & import("./define").TelemetryEventInput & {
2704
+ readonly getValidationError: (properties: unknown) => string | null;
2705
+ };
2706
+ readonly USER_CONNECTED_EMPTY_GROUP: {
2707
+ readonly name: "User connected empty group";
2708
+ readonly description: "The user added a connection whose source or target was a group that still contained only its internal empty-group anchor.";
2709
+ readonly properties: import("zod/v4").ZodObject<{
2710
+ workflow_id: import("zod/v4").ZodString;
2711
+ group_id: import("zod/v4").ZodString;
2712
+ push_ref: import("zod/v4").ZodString;
2713
+ was_first_connection: import("zod/v4").ZodBoolean;
2714
+ }, import("zod/v4/core").$strip>;
2715
+ } & import("./define").TelemetryEventInput & {
2716
+ readonly getValidationError: (properties: unknown) => string | null;
2717
+ };
2718
+ readonly USER_ACTIVATED_WORKFLOW: {
2719
+ readonly name: "User activated workflow";
2720
+ readonly description: "A workflow version became active. The empty-group count is calculated from that published version, not from the current draft.";
2721
+ readonly properties: import("zod/v4").ZodObject<{
2722
+ user_id: import("zod/v4").ZodString;
2723
+ workflow_id: import("zod/v4").ZodString;
2724
+ public_api: import("zod/v4").ZodBoolean;
2725
+ source: import("zod/v4").ZodEnum<{
2726
+ api: "api";
2727
+ import: "import";
2728
+ "n8n-ai": "n8n-ai";
2729
+ "n8n-mcp": "n8n-mcp";
2730
+ "review-approval": "review-approval";
2731
+ ui: "ui";
2732
+ }>;
2733
+ private_credentials_count: import("zod/v4").ZodNumber;
2734
+ private_credential_types: import("zod/v4").ZodArray<import("zod/v4").ZodString>;
2735
+ empty_group_count: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
2736
+ }, import("zod/v4/core").$strip>;
2737
+ } & import("./define").TelemetryEventInput & {
2738
+ readonly getValidationError: (properties: unknown) => string | null;
2739
+ };
2129
2740
  readonly USER_REQUESTED_WORKFLOW_TEST: {
2130
2741
  readonly name: "User requested workflow test";
2131
2742
  readonly description: "The user started a manual workflow test from the AI Assistant setup panel. This event does not report execution success.";
2132
2743
  readonly properties: import("zod/v4").ZodObject<{
2744
+ session_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2745
+ variant: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
2746
+ control: "control";
2747
+ variant: "variant";
2748
+ }>>;
2749
+ '$feature/118_instance_ai_setup_overhaul': import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
2750
+ control: "control";
2751
+ variant: "variant";
2752
+ }>>;
2133
2753
  source: import("zod/v4").ZodLiteral<"instance_ai_setup_panel">;
2134
2754
  workflow_id: import("zod/v4").ZodString;
2135
2755
  thread_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2756
+ test_request_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2757
+ }, import("zod/v4/core").$strip>;
2758
+ } & import("./define").TelemetryEventInput & {
2759
+ readonly getValidationError: (properties: unknown) => string | null;
2760
+ };
2761
+ readonly SETUP_TEST_FINISHED: {
2762
+ readonly name: "AI Assistant setup test finished";
2763
+ readonly description: "The setup panel observed a terminal test result or a failed run request. A failed request does not prove that execution did not start. Leaving setup before the result can omit this event.";
2764
+ readonly properties: import("zod/v4").ZodObject<{
2765
+ session_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2766
+ variant: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
2767
+ control: "control";
2768
+ variant: "variant";
2769
+ }>>;
2770
+ '$feature/118_instance_ai_setup_overhaul': import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
2771
+ control: "control";
2772
+ variant: "variant";
2773
+ }>>;
2774
+ source: import("zod/v4").ZodLiteral<"instance_ai_setup_panel">;
2775
+ workflow_id: import("zod/v4").ZodString;
2776
+ thread_id: import("zod/v4").ZodString;
2777
+ test_request_id: import("zod/v4").ZodString;
2778
+ execution_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2779
+ status: import("zod/v4").ZodEnum<{
2780
+ canceled: "canceled";
2781
+ crashed: "crashed";
2782
+ error: "error";
2783
+ request_failed: "request_failed";
2784
+ success: "success";
2785
+ }>;
2786
+ }, import("zod/v4/core").$strip>;
2787
+ } & import("./define").TelemetryEventInput & {
2788
+ readonly getValidationError: (properties: unknown) => string | null;
2789
+ };
2790
+ readonly SETUP_SAVED: {
2791
+ readonly name: "AI Assistant workflow setup saved";
2792
+ readonly description: "A setup surface observed saved requirements after applying changes. Completion covers the observed setup requirements, not credential validity or edits made while setup is closed.";
2793
+ readonly properties: import("zod/v4").ZodObject<{
2794
+ session_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2795
+ variant: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
2796
+ control: "control";
2797
+ variant: "variant";
2798
+ }>>;
2799
+ '$feature/118_instance_ai_setup_overhaul': import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
2800
+ control: "control";
2801
+ variant: "variant";
2802
+ }>>;
2803
+ instance_id: import("zod/v4").ZodString;
2804
+ workflow_id: import("zod/v4").ZodString;
2805
+ thread_id: import("zod/v4").ZodString;
2806
+ source: import("zod/v4").ZodEnum<{
2807
+ instance_ai_setup_panel: "instance_ai_setup_panel";
2808
+ instance_ai_setup_wizard: "instance_ai_setup_wizard";
2809
+ }>;
2810
+ request_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2811
+ items: import("zod/v4").ZodArray<import("zod/v4").ZodObject<{
2812
+ node_id: import("zod/v4").ZodString;
2813
+ node_type: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2814
+ kind: import("zod/v4").ZodEnum<{
2815
+ credential: "credential";
2816
+ parameter: "parameter";
2817
+ }>;
2818
+ credential_type: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2819
+ parameter_name: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
2820
+ completed: import("zod/v4").ZodBoolean;
2821
+ }, import("zod/v4/core").$strip>>;
2822
+ setup_complete: import("zod/v4").ZodBoolean;
2136
2823
  }, import("zod/v4/core").$strip>;
2137
2824
  } & import("./define").TelemetryEventInput & {
2138
2825
  readonly getValidationError: (properties: unknown) => string | null;