@analyticscli/growth-engineer 0.1.0-preview.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/LICENSE +21 -0
  2. package/README.md +26 -0
  3. package/dist/config.d.ts +1663 -0
  4. package/dist/config.js +266 -0
  5. package/dist/config.js.map +1 -0
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.js +1188 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/runtime/export-analytics-summary.d.mts +2 -0
  10. package/dist/runtime/export-analytics-summary.mjs +303 -0
  11. package/dist/runtime/export-analytics-summary.mjs.map +1 -0
  12. package/dist/runtime/export-asc-summary.d.mts +2 -0
  13. package/dist/runtime/export-asc-summary.mjs +376 -0
  14. package/dist/runtime/export-asc-summary.mjs.map +1 -0
  15. package/dist/runtime/export-revenuecat-summary.d.mts +2 -0
  16. package/dist/runtime/export-revenuecat-summary.mjs +176 -0
  17. package/dist/runtime/export-revenuecat-summary.mjs.map +1 -0
  18. package/dist/runtime/export-sentry-summary.d.mts +2 -0
  19. package/dist/runtime/export-sentry-summary.mjs +352 -0
  20. package/dist/runtime/export-sentry-summary.mjs.map +1 -0
  21. package/dist/runtime/openclaw-exporters-lib.d.mts +101 -0
  22. package/dist/runtime/openclaw-exporters-lib.mjs +1276 -0
  23. package/dist/runtime/openclaw-exporters-lib.mjs.map +1 -0
  24. package/dist/runtime/openclaw-feedback-api.d.mts +2 -0
  25. package/dist/runtime/openclaw-feedback-api.mjs +255 -0
  26. package/dist/runtime/openclaw-feedback-api.mjs.map +1 -0
  27. package/dist/runtime/openclaw-growth-charts.py +154 -0
  28. package/dist/runtime/openclaw-growth-engineer.d.mts +2 -0
  29. package/dist/runtime/openclaw-growth-engineer.mjs +1258 -0
  30. package/dist/runtime/openclaw-growth-engineer.mjs.map +1 -0
  31. package/dist/runtime/openclaw-growth-env.d.mts +9 -0
  32. package/dist/runtime/openclaw-growth-env.mjs +125 -0
  33. package/dist/runtime/openclaw-growth-env.mjs.map +1 -0
  34. package/dist/runtime/openclaw-growth-preflight.d.mts +2 -0
  35. package/dist/runtime/openclaw-growth-preflight.mjs +1111 -0
  36. package/dist/runtime/openclaw-growth-preflight.mjs.map +1 -0
  37. package/dist/runtime/openclaw-growth-runner.d.mts +2 -0
  38. package/dist/runtime/openclaw-growth-runner.mjs +1302 -0
  39. package/dist/runtime/openclaw-growth-runner.mjs.map +1 -0
  40. package/dist/runtime/openclaw-growth-shared.d.mts +33 -0
  41. package/dist/runtime/openclaw-growth-shared.mjs +208 -0
  42. package/dist/runtime/openclaw-growth-shared.mjs.map +1 -0
  43. package/dist/runtime/openclaw-growth-start.d.mts +2 -0
  44. package/dist/runtime/openclaw-growth-start.mjs +1575 -0
  45. package/dist/runtime/openclaw-growth-start.mjs.map +1 -0
  46. package/dist/runtime/openclaw-growth-status.d.mts +2 -0
  47. package/dist/runtime/openclaw-growth-status.mjs +387 -0
  48. package/dist/runtime/openclaw-growth-status.mjs.map +1 -0
  49. package/dist/runtime/openclaw-growth-wizard.d.mts +2 -0
  50. package/dist/runtime/openclaw-growth-wizard.mjs +3519 -0
  51. package/dist/runtime/openclaw-growth-wizard.mjs.map +1 -0
  52. package/dist/shell.d.ts +17 -0
  53. package/dist/shell.js +40 -0
  54. package/dist/shell.js.map +1 -0
  55. package/package.json +38 -0
  56. package/templates/analytics_summary.example.json +40 -0
  57. package/templates/config.example.json +197 -0
  58. package/templates/feedback_summary.example.json +37 -0
  59. package/templates/revenuecat_summary.example.json +25 -0
  60. package/templates/sentry_summary.example.json +23 -0
package/dist/config.js ADDED
@@ -0,0 +1,266 @@
1
+ import { mkdir, readFile, writeFile } from 'node:fs/promises';
2
+ import { existsSync } from 'node:fs';
3
+ import { dirname, resolve } from 'node:path';
4
+ import { z } from 'zod';
5
+ const sourceSchema = z
6
+ .object({
7
+ enabled: z.boolean().optional(),
8
+ mode: z.enum(['command', 'file']).optional(),
9
+ command: z.string().optional(),
10
+ path: z.string().optional(),
11
+ cursorMode: z.enum(['manual', 'auto_since_last_fetch']).optional(),
12
+ initialLookback: z.string().optional(),
13
+ key: z.string().optional(),
14
+ label: z.string().optional(),
15
+ service: z.string().optional(),
16
+ secretEnv: z.string().nullable().optional(),
17
+ hint: z.string().optional(),
18
+ })
19
+ .passthrough();
20
+ const githubDeliverySchema = z
21
+ .object({
22
+ enabled: z.boolean().default(false),
23
+ mode: z.enum(['issue', 'pull_request']).default('issue'),
24
+ autoCreate: z.boolean().default(false),
25
+ draftPullRequests: z.boolean().default(true),
26
+ proposalBranchPrefix: z.string().default('openclaw/proposals'),
27
+ })
28
+ .default({});
29
+ const openclawChatDeliverySchema = z
30
+ .object({
31
+ enabled: z.boolean().default(true),
32
+ markdownPath: z.string().default('.openclaw/chat/latest.md'),
33
+ jsonPath: z.string().default('.openclaw/chat/latest.json'),
34
+ })
35
+ .default({});
36
+ const slackDeliverySchema = z
37
+ .object({
38
+ enabled: z.boolean().default(false),
39
+ webhookEnv: z.string().default('SLACK_WEBHOOK_URL'),
40
+ username: z.string().optional(),
41
+ })
42
+ .default({});
43
+ const webhookDeliverySchema = z
44
+ .object({
45
+ enabled: z.boolean().default(false),
46
+ urlEnv: z.string().default('OPENCLAW_WEBHOOK_URL'),
47
+ method: z.enum(['POST']).default('POST'),
48
+ headers: z.record(z.string()).default({}),
49
+ })
50
+ .default({});
51
+ const commandDeliverySchema = z
52
+ .object({
53
+ enabled: z.boolean().default(false),
54
+ command: z.string().default('node scripts/discord-openclaw-bridge.mjs send --stdin'),
55
+ })
56
+ .default({});
57
+ const notificationChannelSchema = z
58
+ .object({
59
+ type: z.enum(['openclaw-chat', 'slack', 'webhook', 'command']).default('openclaw-chat'),
60
+ enabled: z.boolean().default(true),
61
+ label: z.string().optional(),
62
+ markdownPath: z.string().optional(),
63
+ jsonPath: z.string().optional(),
64
+ webhookEnv: z.string().optional(),
65
+ urlEnv: z.string().optional(),
66
+ method: z.enum(['POST']).default('POST'),
67
+ headers: z.record(z.string()).default({}),
68
+ command: z.string().optional(),
69
+ })
70
+ .passthrough();
71
+ const notificationsSchema = z
72
+ .object({
73
+ connectorHealth: z
74
+ .object({
75
+ enabled: z.boolean().default(true),
76
+ channels: z.array(notificationChannelSchema).default([]),
77
+ })
78
+ .default({}),
79
+ growthRun: z
80
+ .object({
81
+ enabled: z.boolean().default(true),
82
+ channels: z.array(notificationChannelSchema).default([]),
83
+ })
84
+ .default({}),
85
+ })
86
+ .default({});
87
+ const cadenceSchema = z
88
+ .object({
89
+ key: z.string(),
90
+ title: z.string().optional(),
91
+ intervalDays: z.number().min(1).optional(),
92
+ criticalOnly: z.boolean().optional(),
93
+ objective: z.string().optional(),
94
+ instructions: z.string().optional(),
95
+ focusAreas: z.array(z.string()).default([]),
96
+ sourcePriorities: z.array(z.string()).default([]),
97
+ enabled: z.boolean().default(true),
98
+ })
99
+ .passthrough();
100
+ const scheduleSchema = z
101
+ .object({
102
+ intervalMinutes: z.number().int().min(1).default(1440),
103
+ connectorHealthCheckIntervalMinutes: z.number().int().min(1).default(720),
104
+ skipIfNoDataChange: z.boolean().default(true),
105
+ skipIfIssueSetUnchanged: z.boolean().default(true),
106
+ cadences: z.array(cadenceSchema).default([]),
107
+ })
108
+ .default({});
109
+ const strategySchema = z
110
+ .object({
111
+ proposalMode: z.enum(['mandatory', 'balanced', 'creative']).default('balanced'),
112
+ })
113
+ .default({});
114
+ const secretRefSchema = z
115
+ .object({
116
+ source: z.enum(['env', 'file', 'exec']).default('env'),
117
+ provider: z.string().default('default'),
118
+ id: z.string(),
119
+ })
120
+ .passthrough();
121
+ const secretsSchema = z
122
+ .object({
123
+ githubTokenEnv: z.string().default('GITHUB_TOKEN'),
124
+ githubTokenRef: secretRefSchema.optional(),
125
+ analyticsTokenEnv: z.string().default('ANALYTICSCLI_ACCESS_TOKEN'),
126
+ analyticsTokenRef: secretRefSchema.optional(),
127
+ revenuecatTokenEnv: z.string().default('REVENUECAT_API_KEY'),
128
+ revenuecatTokenRef: secretRefSchema.optional(),
129
+ sentryTokenEnv: z.string().default('SENTRY_AUTH_TOKEN'),
130
+ sentryTokenRef: secretRefSchema.optional(),
131
+ })
132
+ .default({});
133
+ const securitySchema = z
134
+ .object({
135
+ connectorSecrets: z
136
+ .object({
137
+ mode: z.string().default('openclaw-secret-refs'),
138
+ persisted: z.boolean().default(true),
139
+ agentReadable: z.union([z.boolean(), z.string()]).optional(),
140
+ secretsFile: z.string().optional(),
141
+ })
142
+ .passthrough()
143
+ .optional(),
144
+ })
145
+ .passthrough()
146
+ .default({});
147
+ const templateConfigSchema = z.object({
148
+ version: z.number().int().default(7),
149
+ generatedAt: z.string().optional(),
150
+ project: z.object({
151
+ githubRepo: z.string(),
152
+ repoRoot: z.string().default('.'),
153
+ outFile: z.string().default('data/openclaw-growth-engineer/issues.generated.json'),
154
+ maxIssues: z.number().int().min(1).max(20).default(4),
155
+ titlePrefix: z.string().default('[Growth]'),
156
+ labels: z.array(z.string()).default(['ai-growth', 'autogenerated', 'product']),
157
+ }),
158
+ sources: z
159
+ .object({
160
+ analytics: sourceSchema.default({ enabled: true, mode: 'command' }),
161
+ revenuecat: sourceSchema.default({ enabled: false, mode: 'file' }),
162
+ sentry: sourceSchema.default({ enabled: false, mode: 'file' }),
163
+ feedback: sourceSchema.default({
164
+ enabled: true,
165
+ mode: 'command',
166
+ cursorMode: 'auto_since_last_fetch',
167
+ initialLookback: '30d',
168
+ }),
169
+ extra: z.array(sourceSchema).default([]),
170
+ })
171
+ .default({}),
172
+ schedule: scheduleSchema,
173
+ strategy: strategySchema,
174
+ deliveries: z
175
+ .object({
176
+ openclawChat: openclawChatDeliverySchema,
177
+ github: githubDeliverySchema,
178
+ slack: slackDeliverySchema,
179
+ webhook: webhookDeliverySchema,
180
+ discord: commandDeliverySchema,
181
+ })
182
+ .default({}),
183
+ charting: z
184
+ .object({
185
+ enabled: z.boolean().default(false),
186
+ command: z.string().nullable().default(null),
187
+ })
188
+ .default({}),
189
+ notifications: notificationsSchema,
190
+ security: securitySchema,
191
+ secrets: secretsSchema,
192
+ });
193
+ export const parseOpenClawConfig = (value) => templateConfigSchema.parse(value);
194
+ export const readOpenClawConfig = async (configPath) => {
195
+ const raw = await readFile(configPath, 'utf8');
196
+ return parseOpenClawConfig(JSON.parse(raw));
197
+ };
198
+ export const writeOpenClawConfig = async (configPath, value) => {
199
+ await mkdir(dirname(configPath), { recursive: true });
200
+ await writeFile(configPath, `${JSON.stringify(value, null, 2)}\n`, 'utf8');
201
+ };
202
+ const resolveMaybePath = (baseDir, filePath) => {
203
+ if (!filePath) {
204
+ return undefined;
205
+ }
206
+ return resolve(baseDir, filePath);
207
+ };
208
+ const absolutizeSource = (baseDir, source) => {
209
+ if (source.mode === 'file' && source.path) {
210
+ return {
211
+ ...source,
212
+ path: resolveMaybePath(baseDir, source.path),
213
+ };
214
+ }
215
+ return source;
216
+ };
217
+ export const toLegacyGrowthConfig = (configPath, config) => {
218
+ const baseDir = dirname(configPath);
219
+ const github = config.deliveries.github;
220
+ return {
221
+ version: 2,
222
+ generatedAt: config.generatedAt,
223
+ project: {
224
+ githubRepo: config.project.githubRepo,
225
+ repoRoot: resolveMaybePath(baseDir, config.project.repoRoot) ?? config.project.repoRoot,
226
+ outFile: resolveMaybePath(baseDir, config.project.outFile) ?? config.project.outFile,
227
+ maxIssues: config.project.maxIssues,
228
+ titlePrefix: config.project.titlePrefix,
229
+ labels: config.project.labels,
230
+ },
231
+ sources: {
232
+ analytics: absolutizeSource(baseDir, config.sources.analytics),
233
+ revenuecat: absolutizeSource(baseDir, config.sources.revenuecat),
234
+ sentry: absolutizeSource(baseDir, config.sources.sentry),
235
+ feedback: absolutizeSource(baseDir, config.sources.feedback),
236
+ extra: config.sources.extra.map((source) => absolutizeSource(baseDir, source)),
237
+ },
238
+ schedule: config.schedule,
239
+ strategy: config.strategy,
240
+ actions: {
241
+ mode: github.mode,
242
+ autoCreateIssues: github.enabled && github.mode === 'issue' && github.autoCreate,
243
+ autoCreatePullRequests: github.enabled && github.mode === 'pull_request' && github.autoCreate,
244
+ draftPullRequests: github.draftPullRequests,
245
+ proposalBranchPrefix: github.proposalBranchPrefix,
246
+ },
247
+ charting: {
248
+ enabled: config.charting.enabled,
249
+ command: config.charting.command,
250
+ },
251
+ deliveries: config.deliveries,
252
+ notifications: config.notifications,
253
+ security: config.security,
254
+ secrets: config.secrets,
255
+ };
256
+ };
257
+ export const readJsonFile = async (filePath) => {
258
+ const raw = await readFile(filePath, 'utf8');
259
+ return JSON.parse(raw);
260
+ };
261
+ export const writeJsonFile = async (filePath, value) => {
262
+ await mkdir(dirname(filePath), { recursive: true });
263
+ await writeFile(filePath, `${JSON.stringify(value, null, 2)}\n`, 'utf8');
264
+ };
265
+ export const fileExists = (filePath) => existsSync(filePath);
266
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};