@n8n/telemetry 1.10.2 → 1.11.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.
- package/dist/build.tsbuildinfo +1 -1
- package/dist/events/agents.d.ts +19 -0
- package/dist/events/agents.js +11 -0
- package/dist/events/agents.js.map +1 -1
- package/dist/events/context.d.ts +9 -0
- package/dist/events/context.js +14 -0
- package/dist/events/context.js.map +1 -1
- package/dist/events/instance-ai.d.ts +48 -7
- package/dist/events/instance-ai.js +25 -4
- package/dist/events/instance-ai.js.map +1 -1
- package/dist/events/mcp.d.ts +1 -1
- package/dist/events/mcp.js +1 -1
- package/dist/events/mcp.js.map +1 -1
- package/dist/telemetry-events.d.ts +77 -8
- package/package.json +11 -10
|
@@ -28,6 +28,25 @@ export declare const TELEMETRY_EVENT: {
|
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
30
|
AGENTS: {
|
|
31
|
+
readonly USER_RESPONDED_TO_AGENT_TOOL_APPROVAL: {
|
|
32
|
+
readonly name: "User responded to agent tool approval";
|
|
33
|
+
readonly description: "The tool gate accepted a human approval response. Excludes parent forwarding and calls that use an existing session grant. A session grant can still fail to save.";
|
|
34
|
+
readonly properties: import("zod/v4").ZodObject<{
|
|
35
|
+
agent_id: import("zod/v4").ZodString;
|
|
36
|
+
user_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
37
|
+
run_type: import("zod/v4").ZodEnum<{
|
|
38
|
+
production: "production";
|
|
39
|
+
test: "test";
|
|
40
|
+
}>;
|
|
41
|
+
approved: import("zod/v4").ZodBoolean;
|
|
42
|
+
scope: import("zod/v4").ZodEnum<{
|
|
43
|
+
once: "once";
|
|
44
|
+
session: "session";
|
|
45
|
+
}>;
|
|
46
|
+
}, import("zod/v4/core").$strip>;
|
|
47
|
+
} & import("./define").TelemetryEventInput & {
|
|
48
|
+
readonly getValidationError: (properties: unknown) => string | null;
|
|
49
|
+
};
|
|
31
50
|
readonly AGENT_SETUP_COMPLETED: {
|
|
32
51
|
readonly name: "Agent setup completed";
|
|
33
52
|
readonly description: "The first time an agent reached a complete setup: it passes the same validation the Publish button requires, and has at least one configured capability. Fires at most once per agent, guarded by the persisted `agents.setupCompletedAt`. Emitted from the config-save path, with the publish path as a backstop so a published agent is always marked first.";
|
|
@@ -1152,6 +1171,7 @@ export declare const TELEMETRY_EVENT: {
|
|
|
1152
1171
|
readonly name: "User updated preference";
|
|
1153
1172
|
readonly description: "A user saved an edit to an existing preference. Fires once the save succeeds. Reports the resulting scope, not the prior one; `scope_changed` tells them apart.";
|
|
1154
1173
|
readonly properties: import("zod/v4").ZodObject<{
|
|
1174
|
+
user_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
1155
1175
|
scope_type: import("zod/v4").ZodEnum<{
|
|
1156
1176
|
instance: "instance";
|
|
1157
1177
|
project: "project";
|
|
@@ -1173,6 +1193,7 @@ export declare const TELEMETRY_EVENT: {
|
|
|
1173
1193
|
readonly name: "User deleted preferences";
|
|
1174
1194
|
readonly description: "A user deleted one or more preferences. One event covers a single row action and a bulk delete; `source` tells them apart and `count` carries how many went. Fires after the delete succeeds and the confirmation was accepted.";
|
|
1175
1195
|
readonly properties: import("zod/v4").ZodObject<{
|
|
1196
|
+
user_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
1176
1197
|
count: import("zod/v4").ZodNumber;
|
|
1177
1198
|
source: import("zod/v4").ZodEnum<{
|
|
1178
1199
|
bulk: "bulk";
|
|
@@ -1197,6 +1218,7 @@ export declare const TELEMETRY_EVENT: {
|
|
|
1197
1218
|
readonly name: "Preferences applied to a turn";
|
|
1198
1219
|
readonly description: "A turn was built with the saved preferences available to it. Fires once for each turn that ran the preferences path, including a turn that applied none, so the share of turns with preferences is computable. CONTEXT-139 fires it.";
|
|
1199
1220
|
readonly properties: import("zod/v4").ZodObject<{
|
|
1221
|
+
user_id: import("zod/v4").ZodString;
|
|
1200
1222
|
count: import("zod/v4").ZodNumber;
|
|
1201
1223
|
scope_types: import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
|
|
1202
1224
|
instance: "instance";
|
|
@@ -1219,6 +1241,7 @@ export declare const TELEMETRY_EVENT: {
|
|
|
1219
1241
|
readonly name: "Preferences read over MCP";
|
|
1220
1242
|
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
1243
|
readonly properties: import("zod/v4").ZodObject<{
|
|
1244
|
+
user_id: import("zod/v4").ZodString;
|
|
1222
1245
|
count: import("zod/v4").ZodNumber;
|
|
1223
1246
|
scope_types: import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
|
|
1224
1247
|
instance: "instance";
|
|
@@ -1235,6 +1258,7 @@ export declare const TELEMETRY_EVENT: {
|
|
|
1235
1258
|
readonly name: "Assistant saved preference";
|
|
1236
1259
|
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.";
|
|
1237
1260
|
readonly properties: import("zod/v4").ZodObject<{
|
|
1261
|
+
user_id: import("zod/v4").ZodString;
|
|
1238
1262
|
surface: import("zod/v4").ZodEnum<{
|
|
1239
1263
|
aia: "aia";
|
|
1240
1264
|
mcp: "mcp";
|
|
@@ -1254,6 +1278,7 @@ export declare const TELEMETRY_EVENT: {
|
|
|
1254
1278
|
readonly name: "Preference confirmation shown";
|
|
1255
1279
|
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.";
|
|
1256
1280
|
readonly properties: import("zod/v4").ZodObject<{
|
|
1281
|
+
user_id: import("zod/v4").ZodString;
|
|
1257
1282
|
surface: import("zod/v4").ZodEnum<{
|
|
1258
1283
|
aia: "aia";
|
|
1259
1284
|
mcp: "mcp";
|
|
@@ -1290,6 +1315,7 @@ export declare const TELEMETRY_EVENT: {
|
|
|
1290
1315
|
readonly name: "Preference confirmation resolved";
|
|
1291
1316
|
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.";
|
|
1292
1317
|
readonly properties: import("zod/v4").ZodObject<{
|
|
1318
|
+
user_id: import("zod/v4").ZodString;
|
|
1293
1319
|
surface: import("zod/v4").ZodEnum<{
|
|
1294
1320
|
aia: "aia";
|
|
1295
1321
|
mcp: "mcp";
|
|
@@ -1313,6 +1339,7 @@ export declare const TELEMETRY_EVENT: {
|
|
|
1313
1339
|
readonly name: "Preference scope accepted";
|
|
1314
1340
|
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.";
|
|
1315
1341
|
readonly properties: import("zod/v4").ZodObject<{
|
|
1342
|
+
user_id: import("zod/v4").ZodString;
|
|
1316
1343
|
surface: import("zod/v4").ZodEnum<{
|
|
1317
1344
|
aia: "aia";
|
|
1318
1345
|
mcp: "mcp";
|
|
@@ -1336,6 +1363,7 @@ export declare const TELEMETRY_EVENT: {
|
|
|
1336
1363
|
readonly name: "Preference write rejected";
|
|
1337
1364
|
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`.";
|
|
1338
1365
|
readonly properties: import("zod/v4").ZodObject<{
|
|
1366
|
+
user_id: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
1339
1367
|
surface: import("zod/v4").ZodEnum<{
|
|
1340
1368
|
aia: "aia";
|
|
1341
1369
|
mcp: "mcp";
|
|
@@ -1675,6 +1703,39 @@ export declare const TELEMETRY_EVENT: {
|
|
|
1675
1703
|
} & import("./define").TelemetryEventInput & {
|
|
1676
1704
|
readonly getValidationError: (properties: unknown) => string | null;
|
|
1677
1705
|
};
|
|
1706
|
+
readonly USER_VIEWED_FIX_WITH_ASSISTANT_NUDGE: {
|
|
1707
|
+
readonly name: "User viewed fix with Assistant nudge";
|
|
1708
|
+
readonly description: "The Fix with Assistant button was shown inside a workflow error toast. Fires once for each toast that receives the button.";
|
|
1709
|
+
readonly properties: import("zod/v4").ZodObject<{
|
|
1710
|
+
variant: import("zod/v4").ZodEnum<{
|
|
1711
|
+
control: "control";
|
|
1712
|
+
variant: "variant";
|
|
1713
|
+
}>;
|
|
1714
|
+
'$feature/119_surface_assistant_on_workflow_error': import("zod/v4").ZodEnum<{
|
|
1715
|
+
control: "control";
|
|
1716
|
+
variant: "variant";
|
|
1717
|
+
}>;
|
|
1718
|
+
}, import("zod/v4/core").$strip>;
|
|
1719
|
+
} & import("./define").TelemetryEventInput & {
|
|
1720
|
+
readonly getValidationError: (properties: unknown) => string | null;
|
|
1721
|
+
};
|
|
1722
|
+
readonly USER_CLICKED_ERROR_TOAST_FIX_WITH_ASSISTANT: {
|
|
1723
|
+
readonly name: "User clicked fix with Assistant CTA on error toast";
|
|
1724
|
+
readonly description: "The user clicked the Fix with Assistant button on a workflow error toast. assistant_enabled records whether n8n Assistant was enabled at click time. Enabled opens the Assistant. Disabled opens Assistant settings.";
|
|
1725
|
+
readonly properties: import("zod/v4").ZodObject<{
|
|
1726
|
+
assistant_enabled: import("zod/v4").ZodBoolean;
|
|
1727
|
+
variant: import("zod/v4").ZodEnum<{
|
|
1728
|
+
control: "control";
|
|
1729
|
+
variant: "variant";
|
|
1730
|
+
}>;
|
|
1731
|
+
'$feature/119_surface_assistant_on_workflow_error': import("zod/v4").ZodEnum<{
|
|
1732
|
+
control: "control";
|
|
1733
|
+
variant: "variant";
|
|
1734
|
+
}>;
|
|
1735
|
+
}, import("zod/v4/core").$strip>;
|
|
1736
|
+
} & import("./define").TelemetryEventInput & {
|
|
1737
|
+
readonly getValidationError: (properties: unknown) => string | null;
|
|
1738
|
+
};
|
|
1678
1739
|
readonly TOOLS_LIST_OPENED: {
|
|
1679
1740
|
readonly name: "Instance AI tools list opened";
|
|
1680
1741
|
readonly description: "The user opened the n8n Assistant tools connection modal.";
|
|
@@ -1736,16 +1797,22 @@ export declare const TELEMETRY_EVENT: {
|
|
|
1736
1797
|
} & import("./define").TelemetryEventInput & {
|
|
1737
1798
|
readonly getValidationError: (properties: unknown) => string | null;
|
|
1738
1799
|
};
|
|
1739
|
-
readonly
|
|
1740
|
-
readonly name: "Instance AI
|
|
1741
|
-
readonly description: "The user
|
|
1800
|
+
readonly MCP_TOOL_PERMISSIONS_UPDATED: {
|
|
1801
|
+
readonly name: "User updated Instance AI MCP tool permissions";
|
|
1802
|
+
readonly description: "The user saved changed read, write, or tool-specific permissions for an MCP server.";
|
|
1742
1803
|
readonly properties: import("zod/v4").ZodObject<{
|
|
1743
1804
|
server_slug: import("zod/v4").ZodString;
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1805
|
+
read_permission: import("zod/v4").ZodEnum<{
|
|
1806
|
+
always_allow: "always_allow";
|
|
1807
|
+
blocked: "blocked";
|
|
1808
|
+
require_approval: "require_approval";
|
|
1809
|
+
}>;
|
|
1810
|
+
write_permission: import("zod/v4").ZodEnum<{
|
|
1811
|
+
always_allow: "always_allow";
|
|
1812
|
+
blocked: "blocked";
|
|
1813
|
+
require_approval: "require_approval";
|
|
1748
1814
|
}>;
|
|
1815
|
+
tool_override_count: import("zod/v4").ZodNumber;
|
|
1749
1816
|
}, import("zod/v4/core").$strip>;
|
|
1750
1817
|
} & import("./define").TelemetryEventInput & {
|
|
1751
1818
|
readonly getValidationError: (properties: unknown) => string | null;
|
|
@@ -1820,6 +1887,7 @@ export declare const TELEMETRY_EVENT: {
|
|
|
1820
1887
|
"template-view": "template-view";
|
|
1821
1888
|
unknown: "unknown";
|
|
1822
1889
|
"website-template": "website-template";
|
|
1890
|
+
workflow_error_nudge: "workflow_error_nudge";
|
|
1823
1891
|
workflow_list_auto: "workflow_list_auto";
|
|
1824
1892
|
workflow_list_button: "workflow_list_button";
|
|
1825
1893
|
}>;
|
|
@@ -2179,6 +2247,7 @@ export declare const TELEMETRY_EVENT: {
|
|
|
2179
2247
|
"template-view": "template-view";
|
|
2180
2248
|
unknown: "unknown";
|
|
2181
2249
|
"website-template": "website-template";
|
|
2250
|
+
workflow_error_nudge: "workflow_error_nudge";
|
|
2182
2251
|
workflow_list_auto: "workflow_list_auto";
|
|
2183
2252
|
workflow_list_button: "workflow_list_button";
|
|
2184
2253
|
}>;
|
|
@@ -2510,7 +2579,7 @@ export declare const TELEMETRY_EVENT: {
|
|
|
2510
2579
|
};
|
|
2511
2580
|
readonly AUTO_EXPOSE_NEW_WORKFLOWS_TOGGLED: {
|
|
2512
2581
|
readonly name: "User toggled auto-expose new workflows to MCP";
|
|
2513
|
-
readonly description: "An admin turned the \"
|
|
2582
|
+
readonly description: "An admin turned the \"MCP access for new workflows\" setting on or off. Reports the resulting state so enabling and disabling are distinguishable.";
|
|
2514
2583
|
readonly properties: import("zod/v4").ZodObject<{
|
|
2515
2584
|
enabled: import("zod/v4").ZodBoolean;
|
|
2516
2585
|
source: import("zod/v4").ZodEnum<{
|
package/package.json
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/telemetry",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "src/index.ts",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist/**/*",
|
|
9
|
-
"
|
|
10
|
-
"
|
|
9
|
+
"LICENSE_EE.md",
|
|
10
|
+
"LICENSE.md"
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@n8n/api-types": "1.
|
|
14
|
-
"@n8n/utils": "1.
|
|
13
|
+
"@n8n/api-types": "1.43.0",
|
|
14
|
+
"@n8n/utils": "1.50.0",
|
|
15
15
|
"zod": "3.25.76"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@n8n/
|
|
18
|
+
"@n8n/oxlint-config": "0.0.1",
|
|
19
19
|
"@n8n/typescript-config": "1.12.0",
|
|
20
|
-
"@n8n/vitest-config": "1.
|
|
20
|
+
"@n8n/vitest-config": "1.24.0",
|
|
21
21
|
"@types/node": "24.10.1",
|
|
22
22
|
"@vitest/coverage-v8": "5.0.1",
|
|
23
|
-
"
|
|
23
|
+
"oxlint": "1.78.0",
|
|
24
|
+
"oxlint-tsgolint": "^0.21.1",
|
|
24
25
|
"typescript": "7.0.2",
|
|
25
26
|
"vite": "^8.0.2",
|
|
26
27
|
"vitest": "5.0.1"
|
|
@@ -43,8 +44,8 @@
|
|
|
43
44
|
"build:unchecked": "tsc -p tsconfig.build.json --noCheck",
|
|
44
45
|
"format": "biome format --write .",
|
|
45
46
|
"format:check": "biome ci .",
|
|
46
|
-
"lint": "
|
|
47
|
-
"lint:fix": "
|
|
47
|
+
"lint": "oxlint --quiet",
|
|
48
|
+
"lint:fix": "oxlint --fix",
|
|
48
49
|
"watch": "tsc -p tsconfig.build.json --watch",
|
|
49
50
|
"catalog": "pnpm --silent build:unchecked && node bin/catalog.mjs",
|
|
50
51
|
"test": "vitest run",
|