| @@ -13,8 +13,11 @@ · 12 unmodified lines |
| 13 | // - Never secrets, tokens, credentials, code, tool arguments or results. | 13 | // - Never secrets, tokens, credentials, code, tool arguments or results. |
| 14 | // - Never user free text: no connection names, no tool addresses, no | 14 | // - Never user free text: no connection names, no tool addresses, no |
| 15 | // toolkit slugs (user-entered labels — send booleans/counts instead). | 15 | // toolkit slugs (user-entered labels — send booleans/counts instead). |
| 16 | // - Integration slugs and plugin keys ARE allowed (spec-derived vocabulary, | 16 | // - Plugin keys (`openapi`, `mcp`, `graphql`, ...) ARE allowed: a fixed, |
| 17 | // matching the browser catalog's `integration_slug` / `plugin_key`). | 17 | // product-defined vocabulary. Integration slugs are NOT — stricter than |
| | 18 | // the browser catalog: these events leave the user's own infrastructure, |
| | 19 | // and WHICH integrations someone uses is their business, not ours. The |
| | 20 | // kind of integration is the product question; the slug is not. |
| 18 | // - Identity is the anonymous per-install id only; no emails, no hostnames, | 21 | // - Identity is the anonymous per-install id only; no emails, no hostnames, |
| 19 | // no person or org names. | 22 | // no person or org names. |
| 20 | // --------------------------------------------------------------------------- | 23 | // --------------------------------------------------------------------------- |
| @@ -48,15 +51,9 @@ export interface AnalyticsEvents { · 27 unmodified lines |
| 48 | readonly toolkit: boolean; | 51 | readonly toolkit: boolean; |
| 49 | }; | 52 | }; |
| 50 | /** An integration row was created (upsert re-registers are not counted). */ | 53 | /** An integration row was created (upsert re-registers are not counted). */ |
| 51 | integration_added: { | 54 | integration_added: { readonly plugin_key: string }; |
| 52 | readonly plugin_key: string; | | |
| 53 | readonly integration_slug: string; | | |
| 54 | }; | | |
| 55 | /** An integration was removed by the user. */ | 55 | /** An integration was removed by the user. */ |
| 56 | integration_removed: { | 56 | integration_removed: { readonly plugin_key: string }; |
| 57 | readonly plugin_key: string; | | |
| 58 | readonly integration_slug: string; | | |
| 59 | }; | | |
| 60 | /** A generative-UI artifact was saved as a new row. */ | 57 | /** A generative-UI artifact was saved as a new row. */ |
| 61 | artifact_created: { readonly via: ArtifactVia }; | 58 | artifact_created: { readonly via: ArtifactVia }; |
| 62 | /** | 59 | /** |