@keystrokehq/posthog 0.0.9 → 0.0.16-integration-id-canonicalization.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 (60) hide show
  1. package/README.md +28 -48
  2. package/dist/{client.mjs → client-BZWd9-On.mjs} +195 -4
  3. package/dist/credential-sets/index.d.mts +2 -0
  4. package/dist/credential-sets/index.mjs +3 -0
  5. package/dist/index.d.mts +4 -1
  6. package/dist/index.mjs +5 -1
  7. package/dist/operations/index.d.mts +2 -0
  8. package/dist/operations/index.mjs +3 -0
  9. package/dist/posthog.credential-set-C8TimFgo.d.mts +30 -0
  10. package/dist/posthog.credential-set-DwYnDkeD.mjs +28 -0
  11. package/dist/{schemas.d.mts → schemas/index.d.mts} +4 -4
  12. package/dist/{schemas.mjs → schemas/index.mjs} +1 -1
  13. package/dist/surveys-update.operation-C0MYZZ04.mjs +3836 -0
  14. package/dist/surveys-update.operation-gxREsmzk.d.mts +4578 -0
  15. package/dist/{triggers.d.mts → triggers/index.d.mts} +4 -4
  16. package/dist/{triggers.mjs → triggers/index.mjs} +5 -6
  17. package/package.json +13 -85
  18. package/dist/_official/index.d.mts +0 -2
  19. package/dist/_official/index.mjs +0 -3
  20. package/dist/_runtime/index.d.mts +0 -6
  21. package/dist/_runtime/index.mjs +0 -3
  22. package/dist/actions.d.mts +0 -244
  23. package/dist/actions.mjs +0 -129
  24. package/dist/annotations.d.mts +0 -185
  25. package/dist/annotations.mjs +0 -141
  26. package/dist/capture.d.mts +0 -177
  27. package/dist/capture.mjs +0 -241
  28. package/dist/client.d.mts +0 -50
  29. package/dist/cohorts.d.mts +0 -229
  30. package/dist/cohorts.mjs +0 -185
  31. package/dist/connection.d.mts +0 -2
  32. package/dist/connection.mjs +0 -3
  33. package/dist/dashboards.d.mts +0 -434
  34. package/dist/dashboards.mjs +0 -356
  35. package/dist/decide.d.mts +0 -74
  36. package/dist/decide.mjs +0 -75
  37. package/dist/errors.d.mts +0 -58
  38. package/dist/errors.mjs +0 -120
  39. package/dist/events-management.d.mts +0 -294
  40. package/dist/events-management.mjs +0 -242
  41. package/dist/factory-C3ssyfSy.mjs +0 -7
  42. package/dist/feature-flags.d.mts +0 -416
  43. package/dist/feature-flags.mjs +0 -317
  44. package/dist/http-BYcjqxPi.mjs +0 -84
  45. package/dist/insights.d.mts +0 -409
  46. package/dist/insights.mjs +0 -346
  47. package/dist/integration-BN7xcpga.d.mts +0 -63
  48. package/dist/integration-D0HdrI0T.mjs +0 -120
  49. package/dist/organizations.d.mts +0 -257
  50. package/dist/organizations.mjs +0 -219
  51. package/dist/persons.d.mts +0 -369
  52. package/dist/persons.mjs +0 -345
  53. package/dist/projects.d.mts +0 -348
  54. package/dist/projects.mjs +0 -287
  55. package/dist/session-recordings.d.mts +0 -391
  56. package/dist/session-recordings.mjs +0 -308
  57. package/dist/surveys.d.mts +0 -287
  58. package/dist/surveys.mjs +0 -208
  59. package/dist/webhook-management.d.mts +0 -188
  60. package/dist/webhook-management.mjs +0 -152
package/dist/surveys.mjs DELETED
@@ -1,208 +0,0 @@
1
- import { createPosthogManagementClient } from "./client.mjs";
2
- import { paginatedResponseSchema, projectIdInputShape, surveySchema } from "./schemas.mjs";
3
- import { t as posthogOperation } from "./factory-C3ssyfSy.mjs";
4
- import { z } from "zod";
5
-
6
- //#region src/surveys.ts
7
- /**
8
- * posthog/surveys.ts
9
- *
10
- * Survey CRUD + activity. Uses the management client.
11
- *
12
- * Docs: https://posthog.com/docs/api/surveys
13
- */
14
- const idInput = {
15
- ...projectIdInputShape,
16
- id: z.string().min(1)
17
- };
18
- const writeShape = {
19
- name: z.string().optional(),
20
- description: z.string().nullable().optional(),
21
- type: z.enum([
22
- "popover",
23
- "api",
24
- "widget",
25
- "button",
26
- "full_screen",
27
- "email"
28
- ]).optional(),
29
- questions: z.array(z.record(z.string(), z.unknown())).optional(),
30
- conditions: z.record(z.string(), z.unknown()).nullable().optional(),
31
- appearance: z.record(z.string(), z.unknown()).nullable().optional(),
32
- targeting_flag_id: z.number().int().nullable().optional(),
33
- start_date: z.string().nullable().optional(),
34
- end_date: z.string().nullable().optional(),
35
- responses_limit: z.number().int().nullable().optional(),
36
- archived: z.boolean().optional()
37
- };
38
- const listSurveys = posthogOperation({
39
- id: "posthog.surveys-list",
40
- name: "PostHog List Surveys",
41
- description: "List surveys in a project",
42
- input: z.object({
43
- ...projectIdInputShape,
44
- limit: z.number().int().min(1).max(200).optional(),
45
- offset: z.number().int().min(0).optional(),
46
- search: z.string().optional()
47
- }),
48
- output: paginatedResponseSchema(surveySchema),
49
- run: async (input, credentials) => {
50
- const client = createPosthogManagementClient(credentials);
51
- const projectId = client.projectId(input.projectId);
52
- return client.request({
53
- method: "GET",
54
- path: `/api/projects/${projectId}/surveys/`,
55
- query: {
56
- limit: input.limit,
57
- offset: input.offset,
58
- search: input.search
59
- }
60
- });
61
- }
62
- });
63
- const getSurvey = posthogOperation({
64
- id: "posthog.surveys-get",
65
- name: "PostHog Get Survey",
66
- description: "Retrieve a survey by id",
67
- input: z.object(idInput),
68
- output: surveySchema,
69
- run: async (input, credentials) => {
70
- const client = createPosthogManagementClient(credentials);
71
- const projectId = client.projectId(input.projectId);
72
- return client.request({
73
- method: "GET",
74
- path: `/api/projects/${projectId}/surveys/${input.id}/`
75
- });
76
- }
77
- });
78
- const createSurvey = posthogOperation({
79
- id: "posthog.surveys-create",
80
- name: "PostHog Create Survey",
81
- description: "Create a new survey",
82
- input: z.object({
83
- ...projectIdInputShape,
84
- ...writeShape,
85
- name: z.string().min(1)
86
- }),
87
- output: surveySchema,
88
- needsApproval: true,
89
- run: async (input, credentials) => {
90
- const client = createPosthogManagementClient(credentials);
91
- const projectId = client.projectId(input.projectId);
92
- const { projectId: _pid, ...body } = input;
93
- return client.request({
94
- method: "POST",
95
- path: `/api/projects/${projectId}/surveys/`,
96
- body
97
- });
98
- }
99
- });
100
- const updateSurvey = posthogOperation({
101
- id: "posthog.surveys-update",
102
- name: "PostHog Update Survey",
103
- description: "Partial update to a survey",
104
- input: z.object({
105
- ...idInput,
106
- ...writeShape
107
- }),
108
- output: surveySchema,
109
- needsApproval: true,
110
- run: async (input, credentials) => {
111
- const client = createPosthogManagementClient(credentials);
112
- const projectId = client.projectId(input.projectId);
113
- const { projectId: _pid, id, ...body } = input;
114
- return client.request({
115
- method: "PATCH",
116
- path: `/api/projects/${projectId}/surveys/${id}/`,
117
- body
118
- });
119
- }
120
- });
121
- const deleteSurvey = posthogOperation({
122
- id: "posthog.surveys-delete",
123
- name: "PostHog Delete Survey",
124
- description: "Delete (archive) a survey",
125
- input: z.object(idInput),
126
- output: z.object({ success: z.boolean() }),
127
- needsApproval: true,
128
- run: async (input, credentials) => {
129
- const client = createPosthogManagementClient(credentials);
130
- const projectId = client.projectId(input.projectId);
131
- await client.request({
132
- method: "DELETE",
133
- path: `/api/projects/${projectId}/surveys/${input.id}/`
134
- });
135
- return { success: true };
136
- }
137
- });
138
- const getSurveyActivity = posthogOperation({
139
- id: "posthog.surveys-activity",
140
- name: "PostHog Survey Activity",
141
- description: "Fetch activity log for a survey",
142
- input: z.object({
143
- ...idInput,
144
- limit: z.number().int().min(1).max(200).optional()
145
- }),
146
- output: z.object({ results: z.array(z.record(z.string(), z.unknown())) }),
147
- run: async (input, credentials) => {
148
- const client = createPosthogManagementClient(credentials);
149
- const projectId = client.projectId(input.projectId);
150
- return client.request({
151
- method: "GET",
152
- path: `/api/projects/${projectId}/surveys/${input.id}/activity/`,
153
- query: { limit: input.limit }
154
- });
155
- }
156
- });
157
- const getSurveysActivityFeed = posthogOperation({
158
- id: "posthog.surveys-activity-feed",
159
- name: "PostHog Surveys Activity Feed",
160
- description: "Fetch project-wide survey activity feed",
161
- input: z.object({
162
- ...projectIdInputShape,
163
- limit: z.number().int().min(1).max(200).optional()
164
- }),
165
- output: z.object({ results: z.array(z.record(z.string(), z.unknown())) }),
166
- run: async (input, credentials) => {
167
- const client = createPosthogManagementClient(credentials);
168
- const projectId = client.projectId(input.projectId);
169
- return client.request({
170
- method: "GET",
171
- path: `/api/projects/${projectId}/surveys/activity/`,
172
- query: { limit: input.limit }
173
- });
174
- }
175
- });
176
- const getSurveyResponsesCount = posthogOperation({
177
- id: "posthog.surveys-responses-count",
178
- name: "PostHog Survey Responses Count",
179
- description: "Fetch the responses count for all surveys",
180
- input: z.object(projectIdInputShape),
181
- output: z.record(z.string(), z.unknown()),
182
- run: async (input, credentials) => {
183
- const client = createPosthogManagementClient(credentials);
184
- const projectId = client.projectId(input.projectId);
185
- return client.request({
186
- method: "GET",
187
- path: `/api/projects/${projectId}/surveys/responses_count/`
188
- });
189
- }
190
- });
191
- const getSurveyStats = posthogOperation({
192
- id: "posthog.surveys-stats",
193
- name: "PostHog Survey Stats",
194
- description: "Fetch aggregate statistics for a survey",
195
- input: z.object(idInput),
196
- output: z.record(z.string(), z.unknown()),
197
- run: async (input, credentials) => {
198
- const client = createPosthogManagementClient(credentials);
199
- const projectId = client.projectId(input.projectId);
200
- return client.request({
201
- method: "GET",
202
- path: `/api/projects/${projectId}/surveys/${input.id}/stats/`
203
- });
204
- }
205
- });
206
-
207
- //#endregion
208
- export { createSurvey, deleteSurvey, getSurvey, getSurveyActivity, getSurveyResponsesCount, getSurveyStats, getSurveysActivityFeed, listSurveys, updateSurvey };
@@ -1,188 +0,0 @@
1
- import * as _keystrokehq_core0 from "@keystrokehq/core";
2
- import { z } from "zod";
3
- import * as _keystrokehq_core_credential_set0 from "@keystrokehq/core/credential-set";
4
-
5
- //#region src/webhook-management.d.ts
6
- declare const listActionWebhooks: _keystrokehq_core0.Operation<z.ZodObject<{
7
- limit: z.ZodOptional<z.ZodNumber>;
8
- projectId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
9
- }, z.core.$strip>, z.ZodObject<{
10
- next: z.ZodNullable<z.ZodString>;
11
- previous: z.ZodNullable<z.ZodString>;
12
- count: z.ZodNumber;
13
- results: z.ZodArray<z.ZodObject<{
14
- id: z.ZodOptional<z.ZodNumber>;
15
- name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
- description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
- post_to_slack: z.ZodOptional<z.ZodBoolean>;
18
- slack_message_format: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
- steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
20
- event: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
- url_matching: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
23
- exact: "exact";
24
- contains: "contains";
25
- regex: "regex";
26
- }>>>;
27
- text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
- href: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
- selector: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
- properties: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
31
- }, z.core.$strip>>>;
32
- created_at: z.ZodOptional<z.ZodString>;
33
- created_by: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
34
- deleted: z.ZodOptional<z.ZodBoolean>;
35
- is_calculating: z.ZodOptional<z.ZodBoolean>;
36
- }, z.core.$strip>>;
37
- }, z.core.$strip>, readonly [_keystrokehq_core0.CredentialSet<"posthog", z.ZodObject<{
38
- POSTHOG_PERSONAL_API_KEY: z.ZodString;
39
- POSTHOG_PROJECT_API_KEY: z.ZodOptional<z.ZodString>;
40
- POSTHOG_HOST: z.ZodDefault<z.ZodURL>;
41
- POSTHOG_PROJECT_ID: z.ZodOptional<z.ZodString>;
42
- POSTHOG_SCOPES: z.ZodOptional<z.ZodArray<z.ZodString>>;
43
- }, z.core.$strip>, readonly _keystrokehq_core_credential_set0.CredentialConnection<z.ZodObject<{
44
- POSTHOG_PERSONAL_API_KEY: z.ZodString;
45
- POSTHOG_PROJECT_API_KEY: z.ZodOptional<z.ZodString>;
46
- POSTHOG_HOST: z.ZodDefault<z.ZodURL>;
47
- POSTHOG_PROJECT_ID: z.ZodOptional<z.ZodString>;
48
- POSTHOG_SCOPES: z.ZodOptional<z.ZodArray<z.ZodString>>;
49
- }, z.core.$strip>>[] | undefined>], undefined>;
50
- declare const attachActionWebhook: _keystrokehq_core0.Operation<z.ZodObject<{
51
- slack_message_format: z.ZodString;
52
- actionId: z.ZodNumber;
53
- projectId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
54
- }, z.core.$strip>, z.ZodObject<{
55
- id: z.ZodOptional<z.ZodNumber>;
56
- name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
- description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
58
- post_to_slack: z.ZodOptional<z.ZodBoolean>;
59
- slack_message_format: z.ZodOptional<z.ZodNullable<z.ZodString>>;
60
- steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
61
- event: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
- url_matching: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
64
- exact: "exact";
65
- contains: "contains";
66
- regex: "regex";
67
- }>>>;
68
- text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
69
- href: z.ZodOptional<z.ZodNullable<z.ZodString>>;
70
- selector: z.ZodOptional<z.ZodNullable<z.ZodString>>;
71
- properties: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
72
- }, z.core.$strip>>>;
73
- created_at: z.ZodOptional<z.ZodString>;
74
- created_by: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
75
- deleted: z.ZodOptional<z.ZodBoolean>;
76
- is_calculating: z.ZodOptional<z.ZodBoolean>;
77
- }, z.core.$strip>, readonly [_keystrokehq_core0.CredentialSet<"posthog", z.ZodObject<{
78
- POSTHOG_PERSONAL_API_KEY: z.ZodString;
79
- POSTHOG_PROJECT_API_KEY: z.ZodOptional<z.ZodString>;
80
- POSTHOG_HOST: z.ZodDefault<z.ZodURL>;
81
- POSTHOG_PROJECT_ID: z.ZodOptional<z.ZodString>;
82
- POSTHOG_SCOPES: z.ZodOptional<z.ZodArray<z.ZodString>>;
83
- }, z.core.$strip>, readonly _keystrokehq_core_credential_set0.CredentialConnection<z.ZodObject<{
84
- POSTHOG_PERSONAL_API_KEY: z.ZodString;
85
- POSTHOG_PROJECT_API_KEY: z.ZodOptional<z.ZodString>;
86
- POSTHOG_HOST: z.ZodDefault<z.ZodURL>;
87
- POSTHOG_PROJECT_ID: z.ZodOptional<z.ZodString>;
88
- POSTHOG_SCOPES: z.ZodOptional<z.ZodArray<z.ZodString>>;
89
- }, z.core.$strip>>[] | undefined>], undefined>;
90
- declare const detachActionWebhook: _keystrokehq_core0.Operation<z.ZodObject<{
91
- actionId: z.ZodNumber;
92
- projectId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
93
- }, z.core.$strip>, z.ZodObject<{
94
- id: z.ZodOptional<z.ZodNumber>;
95
- name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
96
- description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
97
- post_to_slack: z.ZodOptional<z.ZodBoolean>;
98
- slack_message_format: z.ZodOptional<z.ZodNullable<z.ZodString>>;
99
- steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
100
- event: z.ZodOptional<z.ZodNullable<z.ZodString>>;
101
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
102
- url_matching: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
103
- exact: "exact";
104
- contains: "contains";
105
- regex: "regex";
106
- }>>>;
107
- text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
108
- href: z.ZodOptional<z.ZodNullable<z.ZodString>>;
109
- selector: z.ZodOptional<z.ZodNullable<z.ZodString>>;
110
- properties: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
111
- }, z.core.$strip>>>;
112
- created_at: z.ZodOptional<z.ZodString>;
113
- created_by: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
114
- deleted: z.ZodOptional<z.ZodBoolean>;
115
- is_calculating: z.ZodOptional<z.ZodBoolean>;
116
- }, z.core.$strip>, readonly [_keystrokehq_core0.CredentialSet<"posthog", z.ZodObject<{
117
- POSTHOG_PERSONAL_API_KEY: z.ZodString;
118
- POSTHOG_PROJECT_API_KEY: z.ZodOptional<z.ZodString>;
119
- POSTHOG_HOST: z.ZodDefault<z.ZodURL>;
120
- POSTHOG_PROJECT_ID: z.ZodOptional<z.ZodString>;
121
- POSTHOG_SCOPES: z.ZodOptional<z.ZodArray<z.ZodString>>;
122
- }, z.core.$strip>, readonly _keystrokehq_core_credential_set0.CredentialConnection<z.ZodObject<{
123
- POSTHOG_PERSONAL_API_KEY: z.ZodString;
124
- POSTHOG_PROJECT_API_KEY: z.ZodOptional<z.ZodString>;
125
- POSTHOG_HOST: z.ZodDefault<z.ZodURL>;
126
- POSTHOG_PROJECT_ID: z.ZodOptional<z.ZodString>;
127
- POSTHOG_SCOPES: z.ZodOptional<z.ZodArray<z.ZodString>>;
128
- }, z.core.$strip>>[] | undefined>], undefined>;
129
- declare const listPipelineDestinations: _keystrokehq_core0.Operation<z.ZodObject<{
130
- limit: z.ZodOptional<z.ZodNumber>;
131
- projectId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
132
- }, z.core.$strip>, z.ZodObject<{
133
- next: z.ZodNullable<z.ZodString>;
134
- previous: z.ZodNullable<z.ZodString>;
135
- count: z.ZodNumber;
136
- results: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
137
- }, z.core.$strip>, readonly [_keystrokehq_core0.CredentialSet<"posthog", z.ZodObject<{
138
- POSTHOG_PERSONAL_API_KEY: z.ZodString;
139
- POSTHOG_PROJECT_API_KEY: z.ZodOptional<z.ZodString>;
140
- POSTHOG_HOST: z.ZodDefault<z.ZodURL>;
141
- POSTHOG_PROJECT_ID: z.ZodOptional<z.ZodString>;
142
- POSTHOG_SCOPES: z.ZodOptional<z.ZodArray<z.ZodString>>;
143
- }, z.core.$strip>, readonly _keystrokehq_core_credential_set0.CredentialConnection<z.ZodObject<{
144
- POSTHOG_PERSONAL_API_KEY: z.ZodString;
145
- POSTHOG_PROJECT_API_KEY: z.ZodOptional<z.ZodString>;
146
- POSTHOG_HOST: z.ZodDefault<z.ZodURL>;
147
- POSTHOG_PROJECT_ID: z.ZodOptional<z.ZodString>;
148
- POSTHOG_SCOPES: z.ZodOptional<z.ZodArray<z.ZodString>>;
149
- }, z.core.$strip>>[] | undefined>], undefined>;
150
- declare const createPipelineDestination: _keystrokehq_core0.Operation<z.ZodObject<{
151
- plugin: z.ZodNumber;
152
- enabled: z.ZodDefault<z.ZodBoolean>;
153
- order: z.ZodOptional<z.ZodNumber>;
154
- config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
155
- projectId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
156
- }, z.core.$strip>, z.ZodRecord<z.ZodString, z.ZodUnknown>, readonly [_keystrokehq_core0.CredentialSet<"posthog", z.ZodObject<{
157
- POSTHOG_PERSONAL_API_KEY: z.ZodString;
158
- POSTHOG_PROJECT_API_KEY: z.ZodOptional<z.ZodString>;
159
- POSTHOG_HOST: z.ZodDefault<z.ZodURL>;
160
- POSTHOG_PROJECT_ID: z.ZodOptional<z.ZodString>;
161
- POSTHOG_SCOPES: z.ZodOptional<z.ZodArray<z.ZodString>>;
162
- }, z.core.$strip>, readonly _keystrokehq_core_credential_set0.CredentialConnection<z.ZodObject<{
163
- POSTHOG_PERSONAL_API_KEY: z.ZodString;
164
- POSTHOG_PROJECT_API_KEY: z.ZodOptional<z.ZodString>;
165
- POSTHOG_HOST: z.ZodDefault<z.ZodURL>;
166
- POSTHOG_PROJECT_ID: z.ZodOptional<z.ZodString>;
167
- POSTHOG_SCOPES: z.ZodOptional<z.ZodArray<z.ZodString>>;
168
- }, z.core.$strip>>[] | undefined>], undefined>;
169
- declare const deletePipelineDestination: _keystrokehq_core0.Operation<z.ZodObject<{
170
- pluginConfigId: z.ZodNumber;
171
- projectId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
172
- }, z.core.$strip>, z.ZodObject<{
173
- success: z.ZodBoolean;
174
- }, z.core.$strip>, readonly [_keystrokehq_core0.CredentialSet<"posthog", z.ZodObject<{
175
- POSTHOG_PERSONAL_API_KEY: z.ZodString;
176
- POSTHOG_PROJECT_API_KEY: z.ZodOptional<z.ZodString>;
177
- POSTHOG_HOST: z.ZodDefault<z.ZodURL>;
178
- POSTHOG_PROJECT_ID: z.ZodOptional<z.ZodString>;
179
- POSTHOG_SCOPES: z.ZodOptional<z.ZodArray<z.ZodString>>;
180
- }, z.core.$strip>, readonly _keystrokehq_core_credential_set0.CredentialConnection<z.ZodObject<{
181
- POSTHOG_PERSONAL_API_KEY: z.ZodString;
182
- POSTHOG_PROJECT_API_KEY: z.ZodOptional<z.ZodString>;
183
- POSTHOG_HOST: z.ZodDefault<z.ZodURL>;
184
- POSTHOG_PROJECT_ID: z.ZodOptional<z.ZodString>;
185
- POSTHOG_SCOPES: z.ZodOptional<z.ZodArray<z.ZodString>>;
186
- }, z.core.$strip>>[] | undefined>], undefined>;
187
- //#endregion
188
- export { attachActionWebhook, createPipelineDestination, deletePipelineDestination, detachActionWebhook, listActionWebhooks, listPipelineDestinations };
@@ -1,152 +0,0 @@
1
- import { createPosthogManagementClient } from "./client.mjs";
2
- import { actionSchema, paginatedResponseSchema, projectIdInputShape } from "./schemas.mjs";
3
- import { t as posthogOperation } from "./factory-C3ssyfSy.mjs";
4
- import { z } from "zod";
5
-
6
- //#region src/webhook-management.ts
7
- /**
8
- * posthog/webhook-management.ts
9
- *
10
- * Helpers to manage PostHog Action webhooks + pipeline destination
11
- * webhooks programmatically.
12
- *
13
- * Pass A exposes thin CRUD wrappers; the actual direct-binding webhook
14
- * triggers (T2 action match, T4 pipeline destination) are deferred to
15
- * Pass B because PostHog delivers those payloads unsigned and requires
16
- * explicit product decisions on URL-embedded secrets vs. IP allowlisting.
17
- */
18
- const actionIdInput = {
19
- ...projectIdInputShape,
20
- actionId: z.number().int()
21
- };
22
- const listActionWebhooks = posthogOperation({
23
- id: "posthog.action-webhooks-list",
24
- name: "PostHog List Action Webhooks",
25
- description: "List actions configured to post to a Slack webhook",
26
- input: z.object({
27
- ...projectIdInputShape,
28
- limit: z.number().int().min(1).max(500).optional()
29
- }),
30
- output: paginatedResponseSchema(actionSchema),
31
- run: async (input, credentials) => {
32
- const client = createPosthogManagementClient(credentials);
33
- const projectId = client.projectId(input.projectId);
34
- return client.request({
35
- method: "GET",
36
- path: `/api/projects/${projectId}/actions/`,
37
- query: {
38
- limit: input.limit,
39
- post_to_slack: true
40
- }
41
- });
42
- }
43
- });
44
- const attachActionWebhook = posthogOperation({
45
- id: "posthog.action-webhooks-attach",
46
- name: "PostHog Attach Action Webhook",
47
- description: "Enable Slack-webhook posting on an action with a message format",
48
- input: z.object({
49
- ...actionIdInput,
50
- slack_message_format: z.string().min(1)
51
- }),
52
- output: actionSchema,
53
- needsApproval: true,
54
- run: async (input, credentials) => {
55
- const client = createPosthogManagementClient(credentials);
56
- const projectId = client.projectId(input.projectId);
57
- return client.request({
58
- method: "PATCH",
59
- path: `/api/projects/${projectId}/actions/${input.actionId}/`,
60
- body: {
61
- post_to_slack: true,
62
- slack_message_format: input.slack_message_format
63
- }
64
- });
65
- }
66
- });
67
- const detachActionWebhook = posthogOperation({
68
- id: "posthog.action-webhooks-detach",
69
- name: "PostHog Detach Action Webhook",
70
- description: "Disable Slack-webhook posting on an action",
71
- input: z.object(actionIdInput),
72
- output: actionSchema,
73
- needsApproval: true,
74
- run: async (input, credentials) => {
75
- const client = createPosthogManagementClient(credentials);
76
- const projectId = client.projectId(input.projectId);
77
- return client.request({
78
- method: "PATCH",
79
- path: `/api/projects/${projectId}/actions/${input.actionId}/`,
80
- body: {
81
- post_to_slack: false,
82
- slack_message_format: null
83
- }
84
- });
85
- }
86
- });
87
- const listPipelineDestinations = posthogOperation({
88
- id: "posthog.pipeline-destinations-list",
89
- name: "PostHog List Pipeline Destinations",
90
- description: "List configured pipeline destinations (plugin-configs)",
91
- input: z.object({
92
- ...projectIdInputShape,
93
- limit: z.number().int().min(1).max(500).optional()
94
- }),
95
- output: paginatedResponseSchema(z.record(z.string(), z.unknown())),
96
- run: async (input, credentials) => {
97
- const client = createPosthogManagementClient(credentials);
98
- const projectId = client.projectId(input.projectId);
99
- return client.request({
100
- method: "GET",
101
- path: `/api/projects/${projectId}/plugin_configs/`,
102
- query: { limit: input.limit }
103
- });
104
- }
105
- });
106
- const createPipelineDestination = posthogOperation({
107
- id: "posthog.pipeline-destinations-create",
108
- name: "PostHog Create Pipeline Destination",
109
- description: "Configure a pipeline destination plugin (e.g. webhook delivery)",
110
- input: z.object({
111
- ...projectIdInputShape,
112
- plugin: z.number().int(),
113
- enabled: z.boolean().default(true),
114
- order: z.number().int().optional(),
115
- config: z.record(z.string(), z.unknown())
116
- }),
117
- output: z.record(z.string(), z.unknown()),
118
- needsApproval: true,
119
- run: async (input, credentials) => {
120
- const client = createPosthogManagementClient(credentials);
121
- const projectId = client.projectId(input.projectId);
122
- const { projectId: _pid, ...body } = input;
123
- return client.request({
124
- method: "POST",
125
- path: `/api/projects/${projectId}/plugin_configs/`,
126
- body
127
- });
128
- }
129
- });
130
- const deletePipelineDestination = posthogOperation({
131
- id: "posthog.pipeline-destinations-delete",
132
- name: "PostHog Delete Pipeline Destination",
133
- description: "Remove a pipeline destination configuration",
134
- input: z.object({
135
- ...projectIdInputShape,
136
- pluginConfigId: z.number().int()
137
- }),
138
- output: z.object({ success: z.boolean() }),
139
- needsApproval: true,
140
- run: async (input, credentials) => {
141
- const client = createPosthogManagementClient(credentials);
142
- const projectId = client.projectId(input.projectId);
143
- await client.request({
144
- method: "DELETE",
145
- path: `/api/projects/${projectId}/plugin_configs/${input.pluginConfigId}/`
146
- });
147
- return { success: true };
148
- }
149
- });
150
-
151
- //#endregion
152
- export { attachActionWebhook, createPipelineDestination, deletePipelineDestination, detachActionWebhook, listActionWebhooks, listPipelineDestinations };