@mostly-good-metrics/cli 0.1.1 → 0.1.4
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/README.md +123 -4
- package/dist/auth.js +10 -10
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts +18 -6
- package/dist/client.js +9 -2
- package/dist/client.js.map +1 -1
- package/dist/commands/events.js +21 -0
- package/dist/commands/events.js.map +1 -1
- package/dist/commands/funnels.js +8 -8
- package/dist/commands/funnels.js.map +1 -1
- package/dist/commands/init.js +24 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/keys.d.ts +2 -0
- package/dist/commands/keys.js +42 -5
- package/dist/commands/keys.js.map +1 -1
- package/dist/commands/queries.js +98 -52
- package/dist/commands/queries.js.map +1 -1
- package/dist/commands/retention.js +10 -10
- package/dist/commands/retention.js.map +1 -1
- package/dist/commands/skills.d.ts +10 -0
- package/dist/commands/skills.js +48 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/widgets.js +31 -7
- package/dist/commands/widgets.js.map +1 -1
- package/dist/program.d.ts +1 -1
- package/dist/program.js +3 -1
- package/dist/program.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,8 +19,8 @@ Authenticate, create or select a project, then inspect its dashboard:
|
|
|
19
19
|
# Opens the MostlyGoodMetrics sign-in flow in your browser.
|
|
20
20
|
mgm login
|
|
21
21
|
|
|
22
|
-
# Creates a project and API key, then writes
|
|
23
|
-
mgm init
|
|
22
|
+
# Creates a project and a bundle-restricted API key, then writes .mgm.json.
|
|
23
|
+
mgm init --project "My iOS App" --sdk swift --allow com.example.app
|
|
24
24
|
|
|
25
25
|
# Reads the project in .mgm.json.
|
|
26
26
|
mgm dashboard --range 30d
|
|
@@ -42,6 +42,12 @@ mgm dashboard --project prj_123 --range 7d
|
|
|
42
42
|
mgm events types --project prj_123
|
|
43
43
|
mgm events list --project prj_123 --range 7d
|
|
44
44
|
|
|
45
|
+
# Define an event before it is first sent, so it is ready for funnels and dashboards.
|
|
46
|
+
# This creates metadata only; it does not emit an analytics event.
|
|
47
|
+
mgm events define checkout_completed \
|
|
48
|
+
--description "A customer completes checkout" \
|
|
49
|
+
--project prj_123
|
|
50
|
+
|
|
45
51
|
# Run an ad-hoc funnel.
|
|
46
52
|
mgm funnels execute \
|
|
47
53
|
--steps "app_open,add_to_cart,purchase" \
|
|
@@ -52,10 +58,94 @@ mgm funnels execute \
|
|
|
52
58
|
mgm queries execute \
|
|
53
59
|
--metric unique_users \
|
|
54
60
|
--group-by date \
|
|
61
|
+
--breakdown-by platform \
|
|
55
62
|
--range 7d \
|
|
56
63
|
--project prj_123
|
|
64
|
+
|
|
65
|
+
# Power-user escape hatch: use the full safe MGM query definition.
|
|
66
|
+
mgm queries execute \
|
|
67
|
+
--definition '{"metric":"count_events","group_by":"date","breakdown_by":"prop:screen","event_filter":["ios_screen_viewed"],"date_range":"30d"}' \
|
|
68
|
+
--project prj_123
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Query definition
|
|
72
|
+
|
|
73
|
+
`--metric`, `--group-by`, `--breakdown-by`, `--granularity`, `--range`,
|
|
74
|
+
`--events`, `--platforms`, `--environments`, and `--exclude-lifecycle-events`
|
|
75
|
+
cover the common cases. `--definition` takes the same object those flags build
|
|
76
|
+
and is the only way to reach country/region/city filters and custom property
|
|
77
|
+
operators. Explicit flags override keys in `--definition`.
|
|
78
|
+
|
|
79
|
+
```jsonc
|
|
80
|
+
{
|
|
81
|
+
"metric": "unique_users", // count_events, unique_users, unique_sessions, dau
|
|
82
|
+
"event_filter": ["purchase"], // event names to count
|
|
83
|
+
"group_by": "date", // dimension below, or "prop:<name>"
|
|
84
|
+
"breakdown_by": "platform", // second dimension; only when group_by is "date"
|
|
85
|
+
"granularity": "day", // day, week, month; only when group_by is "date"
|
|
86
|
+
"date_range": "30d", // see below
|
|
87
|
+
"exclude_lifecycle_events": true, // drop auto-tracked $ events
|
|
88
|
+
"filters": { "platforms": ["iOS"] }
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Dimensions for `group_by` and `breakdown_by`: `date` (`group_by` only),
|
|
93
|
+
`platform`, `app_version`, `app_build_number`, `os_version`, `environment`,
|
|
94
|
+
`device_manufacturer`, `locale`, `timezone`, `country`, `region`, `city`,
|
|
95
|
+
`event_name`, or `prop:<property_name>`.
|
|
96
|
+
|
|
97
|
+
Date ranges: `1d`, `7d`, `30d`, `90d`, `365d`,
|
|
98
|
+
`custom:YYYY-MM-DD:YYYY-MM-DD`, or seasonal forms `month:11`, `months:11,12`,
|
|
99
|
+
`quarter:4`, `quarters:1,4`, `compare:month:11`, `compare:quarter:4`,
|
|
100
|
+
`compare:wow:4`.
|
|
101
|
+
|
|
102
|
+
#### filters
|
|
103
|
+
|
|
104
|
+
A flat object. Dimension keys are `platforms`, `event_names`, `environments`,
|
|
105
|
+
`app_versions`, `countries`, `regions`, and `cities`; the singular spellings
|
|
106
|
+
`environment`, `app_version`, `country`, `region`, and `city` mean the same
|
|
107
|
+
thing. Each takes a string or an array of strings. Values inside one key are
|
|
108
|
+
OR'd; separate keys are AND'd. Run `mgm dashboard filters` to see the values a
|
|
109
|
+
project actually has.
|
|
110
|
+
|
|
111
|
+
Custom properties use a `prop:<name>` key:
|
|
112
|
+
|
|
113
|
+
```jsonc
|
|
114
|
+
"prop:plan": "pro" // shorthand for IN ["pro"]
|
|
115
|
+
"prop:plan": ["pro", "team"] // IN
|
|
116
|
+
"prop:plan": { "op": "neq", "value": "free" } // one clause
|
|
117
|
+
"prop:revenue": { "op": "gt", "type": "number", "value": 100 }
|
|
118
|
+
"prop:plan": [ // several clauses, OR'd
|
|
119
|
+
{ "op": "contains", "value": "ent" },
|
|
120
|
+
{ "op": "is_set" }
|
|
121
|
+
]
|
|
57
122
|
```
|
|
58
123
|
|
|
124
|
+
A clause takes `op` (default `eq`), `type` (`string` default, `number`,
|
|
125
|
+
`boolean`, `datetime`, `enum`), and `value` or `values`. Operators depend on
|
|
126
|
+
`type`:
|
|
127
|
+
|
|
128
|
+
| `type` | Operators |
|
|
129
|
+
| --- | --- |
|
|
130
|
+
| any | `is_set`, `is_not_set` |
|
|
131
|
+
| `string`, `enum` | `eq`, `neq`, `in`, `not_in`, `contains`, `not_contains`, `starts_with`, `ends_with` |
|
|
132
|
+
| `number` | `eq`, `neq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` |
|
|
133
|
+
| `boolean` | `eq` |
|
|
134
|
+
| `datetime` | `before`, `after`, `on_or_before`, `on_or_after`, `between` |
|
|
135
|
+
|
|
136
|
+
Set `type` when you want numeric or chronological comparison; the default
|
|
137
|
+
`string` compares lexically. `in`, `not_in`, and `between` read `values`.
|
|
138
|
+
Clauses within one `prop:` key are OR'd; different `prop:` keys are AND'd.
|
|
139
|
+
|
|
140
|
+
A `prop:` filter is answered from raw events rather than daily aggregates, so
|
|
141
|
+
it is slower than a dimension filter. Prefer a dimension filter when one
|
|
142
|
+
covers what you need.
|
|
143
|
+
|
|
144
|
+
Funnel steps are a different shape. `mgm funnels create --steps` takes
|
|
145
|
+
comma-separated event names; per-step property filters use
|
|
146
|
+
`{"property": ..., "op": ..., "value": ...}` with the smaller operator set
|
|
147
|
+
`eq`, `neq`, `contains`, `not_contains`, `gt`, `gte`, `lt`, `lte`.
|
|
148
|
+
|
|
59
149
|
### Manage saved analysis
|
|
60
150
|
|
|
61
151
|
```bash
|
|
@@ -86,10 +176,21 @@ mgm experiments stop exp_123 --yes
|
|
|
86
176
|
```bash
|
|
87
177
|
mgm orgs list
|
|
88
178
|
mgm projects create "My App" --org acme
|
|
89
|
-
mgm keys create "
|
|
179
|
+
mgm keys create "iOS Production" --project prj_123 --allow com.example.app
|
|
180
|
+
mgm keys create "Private relay" --project prj_123 --unrestricted --yes
|
|
90
181
|
mgm widgets list --project prj_123
|
|
182
|
+
mgm widgets add funnel --funnel fun_123 --project prj_123
|
|
91
183
|
```
|
|
92
184
|
|
|
185
|
+
Creating an API key requires an explicit access choice. Use one or more `--allow`
|
|
186
|
+
values for Apple bundle IDs, Android package names, or web domains. Use
|
|
187
|
+
`--unrestricted` only when the caller cannot
|
|
188
|
+
send a stable identifier; unrestricted creation requires interactive confirmation
|
|
189
|
+
or the global `--yes` flag. After restricted creation, the CLI verifies that the
|
|
190
|
+
server applied the requested environment and complete allowlist before revealing
|
|
191
|
+
the one-time key. The same access choice is required by `mgm init`; its key
|
|
192
|
+
environment defaults to `development` and can be changed with `--environment`.
|
|
193
|
+
|
|
93
194
|
## Automation and agents
|
|
94
195
|
|
|
95
196
|
The CLI is designed to be discoverable and safe in non-interactive environments.
|
|
@@ -109,6 +210,24 @@ MGM_TOKEN="…" MGM_PROJECT_ID="prj_123" mgm experiments list --json
|
|
|
109
210
|
mgm experiments delete exp_123 --project prj_123 --no-input --yes --json
|
|
110
211
|
```
|
|
111
212
|
|
|
213
|
+
## Agent skills
|
|
214
|
+
|
|
215
|
+
MGM ships skills for instrumentation, metric analysis, funnel diagnosis, and weekly reviews. The CLI uses the standard npm-delivered [`skills`](https://skills.sh) installer, so the same command works for Codex, Claude Code, and other supported agents.
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
# See the four available MGM skills.
|
|
219
|
+
mgm skills list
|
|
220
|
+
|
|
221
|
+
# Install interactively in the current project.
|
|
222
|
+
mgm skills install
|
|
223
|
+
|
|
224
|
+
# Install all MGM skills globally for Codex without prompts.
|
|
225
|
+
mgm skills install --global --agent codex --yes
|
|
226
|
+
|
|
227
|
+
# Install only the instrumentation skill for Claude Code.
|
|
228
|
+
mgm skills install --agent claude-code --skill instrument-my-app
|
|
229
|
+
```
|
|
230
|
+
|
|
112
231
|
| Option | Purpose |
|
|
113
232
|
| --- | --- |
|
|
114
233
|
| `--json` | Emit machine-readable JSON where supported. |
|
|
@@ -138,7 +257,7 @@ Use `mgm commands --json` for the complete command tree, including all subcomman
|
|
|
138
257
|
|
|
139
258
|
Interactive credentials are stored in the operating system credential store when available (macOS Keychain, Windows Credential Manager, or the Linux secret service). If no native store is available, the fallback config file is restricted to the current user.
|
|
140
259
|
|
|
141
|
-
`mgm init` writes `.mgm.json` in the current directory with the selected project context. Treat API keys printed by `mgm keys create` as secrets and store them in your CI secret manager.
|
|
260
|
+
`mgm init` writes `.mgm.json` in the current directory with the selected project context. Treat API keys printed by `mgm keys create` as secrets and store them in your CI secret manager. Human-readable `mgm keys list` output reports only whether each key is restricted; use `--json` when you need the full identifier allowlist.
|
|
142
261
|
|
|
143
262
|
## Development
|
|
144
263
|
|
package/dist/auth.js
CHANGED
|
@@ -91,8 +91,10 @@ export function getToken() {
|
|
|
91
91
|
return keychainToken;
|
|
92
92
|
const config = readConfig();
|
|
93
93
|
const legacyToken = config.token;
|
|
94
|
-
if (legacyToken
|
|
95
|
-
|
|
94
|
+
if (legacyToken) {
|
|
95
|
+
// Best-effort native-store migration. Retain the protected fallback: a
|
|
96
|
+
// handful of keychain backends do not survive process boundaries.
|
|
97
|
+
saveKeychainToken(legacyToken);
|
|
96
98
|
writeConfig(config);
|
|
97
99
|
return legacyToken;
|
|
98
100
|
}
|
|
@@ -109,14 +111,12 @@ export function getRedirectUri() {
|
|
|
109
111
|
}
|
|
110
112
|
export function saveToken(token, email) {
|
|
111
113
|
const config = readConfig();
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
config.token = token;
|
|
119
|
-
}
|
|
114
|
+
// Keep the mode-0600 file fallback alongside the native credential store.
|
|
115
|
+
// On some macOS setups a keychain write succeeds within the login process
|
|
116
|
+
// but is not available to a later CLI invocation. The fallback makes the
|
|
117
|
+
// successful OAuth session durable in that case.
|
|
118
|
+
saveKeychainToken(token);
|
|
119
|
+
config.token = token;
|
|
120
120
|
if (email)
|
|
121
121
|
config.email = email;
|
|
122
122
|
writeConfig(config);
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -55,7 +55,10 @@ export declare const deleteProject: (id: string) => Promise<{
|
|
|
55
55
|
export declare const listApiKeys: (projectId: string) => Promise<{
|
|
56
56
|
api_keys: ApiKey[];
|
|
57
57
|
}>;
|
|
58
|
-
export declare const createApiKey: (projectId: string, name: string
|
|
58
|
+
export declare const createApiKey: (projectId: string, name: string, options?: {
|
|
59
|
+
environment?: string;
|
|
60
|
+
allowedIdentifiers?: string[];
|
|
61
|
+
}) => Promise<{
|
|
59
62
|
api_key: ApiKey & {
|
|
60
63
|
key: string;
|
|
61
64
|
};
|
|
@@ -72,19 +75,22 @@ export declare const listEventTypes: (projectId: string, params?: Record<string,
|
|
|
72
75
|
event_types: EventType[];
|
|
73
76
|
}>;
|
|
74
77
|
export declare const listEventDefinitions: (projectId: string) => Promise<{
|
|
75
|
-
|
|
78
|
+
definitions: EventDefinition[];
|
|
79
|
+
}>;
|
|
80
|
+
export declare const createEventDefinition: (projectId: string, attrs: Record<string, unknown>) => Promise<{
|
|
81
|
+
definition: EventDefinition;
|
|
76
82
|
}>;
|
|
77
83
|
export declare const listInsights: (projectId: string) => Promise<{
|
|
78
|
-
|
|
84
|
+
queries: SavedQuery[];
|
|
79
85
|
}>;
|
|
80
86
|
export declare const getInsight: (projectId: string, id: string) => Promise<{
|
|
81
|
-
|
|
87
|
+
query: SavedQuery;
|
|
82
88
|
}>;
|
|
83
89
|
export declare const createInsight: (projectId: string, attrs: Record<string, unknown>) => Promise<{
|
|
84
|
-
|
|
90
|
+
query: SavedQuery;
|
|
85
91
|
}>;
|
|
86
92
|
export declare const updateInsight: (projectId: string, id: string, attrs: Record<string, unknown>) => Promise<{
|
|
87
|
-
|
|
93
|
+
query: SavedQuery;
|
|
88
94
|
}>;
|
|
89
95
|
export declare const deleteInsight: (projectId: string, id: string) => Promise<{
|
|
90
96
|
status: string;
|
|
@@ -204,6 +210,10 @@ export interface ApiKey {
|
|
|
204
210
|
key_prefix?: string;
|
|
205
211
|
last_used_at?: string;
|
|
206
212
|
created_at?: string;
|
|
213
|
+
inserted_at?: string;
|
|
214
|
+
environment?: string;
|
|
215
|
+
allowed_identifiers?: string[];
|
|
216
|
+
request_count?: number;
|
|
207
217
|
}
|
|
208
218
|
export interface DashboardResponse {
|
|
209
219
|
stats: {
|
|
@@ -243,6 +253,8 @@ export interface EventDefinition {
|
|
|
243
253
|
id: string;
|
|
244
254
|
name: string;
|
|
245
255
|
description?: string;
|
|
256
|
+
event_count?: number;
|
|
257
|
+
first_seen_at?: string | null;
|
|
246
258
|
}
|
|
247
259
|
export interface SavedQuery {
|
|
248
260
|
id: string;
|
package/dist/client.js
CHANGED
|
@@ -71,8 +71,14 @@ export const updateProject = (id, attrs) => request("PATCH", `/projects/${id}`,
|
|
|
71
71
|
export const deleteProject = (id) => request("DELETE", `/projects/${id}`);
|
|
72
72
|
// API Keys
|
|
73
73
|
export const listApiKeys = (projectId) => request("GET", `/projects/${projectId}/api-keys`);
|
|
74
|
-
export const createApiKey = (projectId, name) => request("POST", `/projects/${projectId}/api-keys`, {
|
|
75
|
-
body: {
|
|
74
|
+
export const createApiKey = (projectId, name, options = {}) => request("POST", `/projects/${projectId}/api-keys`, {
|
|
75
|
+
body: {
|
|
76
|
+
name,
|
|
77
|
+
...(options.environment ? { environment: options.environment } : {}),
|
|
78
|
+
...(options.allowedIdentifiers?.length
|
|
79
|
+
? { allowed_identifiers: options.allowedIdentifiers }
|
|
80
|
+
: {}),
|
|
81
|
+
},
|
|
76
82
|
});
|
|
77
83
|
export const revokeApiKey = (projectId, keyId) => request("DELETE", `/projects/${projectId}/api-keys/${keyId}`);
|
|
78
84
|
// Dashboard
|
|
@@ -82,6 +88,7 @@ export const getDashboardFilters = (projectId) => request("GET", `/projects/${pr
|
|
|
82
88
|
export const listEvents = (projectId, params) => request("GET", `/projects/${projectId}/events`, { params });
|
|
83
89
|
export const listEventTypes = (projectId, params) => request("GET", `/projects/${projectId}/events/types`, { params });
|
|
84
90
|
export const listEventDefinitions = (projectId) => request("GET", `/projects/${projectId}/events/definitions`);
|
|
91
|
+
export const createEventDefinition = (projectId, attrs) => request("POST", `/projects/${projectId}/events/definitions`, { body: attrs });
|
|
85
92
|
// Insights (Saved Queries)
|
|
86
93
|
export const listInsights = (projectId) => request("GET", `/projects/${projectId}/insights`);
|
|
87
94
|
export const getInsight = (projectId, id) => request("GET", `/projects/${projectId}/insights/${id}`);
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,0CAA0C,CAAC;AAEvF,MAAM,OAAO,QAAS,SAAQ,KAAK;IAExB;IACA;IAFT,YACS,MAAc,EACd,IAAY,EACnB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAQ;QAInB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED,KAAK,UAAU,OAAO,CACpB,MAAc,EACd,IAAY,EACZ,UAA+E,EAAE;IAEjF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,KAAK,SAAS;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,kBAAkB;KAC3B,CAAC;IACF,IAAI,KAAK;QAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IACxD,IAAI,OAAO,CAAC,IAAI;QAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IAE/D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QACtC,MAAM;QACN,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,IAAI,IAAI,GAAG,SAAS,CAAC;QACrB,IAAI,OAAO,GAAG,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyC,CAAC;YACvE,IAAI,GAAG,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC;YACzB,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,EAAO,CAAC;IACvC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;AACjC,CAAC;AAED,OAAO;AACP,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAC7C,OAAO,CAAsC,MAAM,EAAE,kBAAkB,EAAE;IACvE,IAAI,EAAE,EAAE,KAAK,EAAE;CAChB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE,CAC/C,OAAO,CAAsD,KAAK,EAAE,oBAAoB,KAAK,EAAE,CAAC,CAAC;AAEnG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAE,EAAE,CACpD,OAAO,CAAsD,KAAK,EAAE,kBAAkB,KAAK,EAAE,CAAC,CAAC;AAEjG,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAuC,KAAK,EAAE,UAAU,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAqB,QAAQ,EAAE,eAAe,CAAC,CAAC;AAEnF,gBAAgB;AAChB,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CACpC,OAAO,CAA2B,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE,CAC9C,OAAO,CAA6C,KAAK,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC;AAEvF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CACjD,OAAO,CAAwB,MAAM,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,OAAe,QAAQ,EAAE,EAAE,CACtF,OAAO,CAA0B,MAAM,EAAE,kBAAkB,OAAO,cAAc,EAAE;IAChF,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;CACtB,CAAC,CAAC;AAEL,WAAW;AACX,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAC/B,OAAO,CAA0B,KAAK,EAAE,WAAW,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,CACvC,OAAO,CAAuB,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,IAAY,EAAE,QAAiB,EAAE,EAAE,CAChF,OAAO,CAAuB,MAAM,EAAE,kBAAkB,OAAO,WAAW,EAAE;IAC1E,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;CAClD,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,KAA8B,EAAE,EAAE,CAC1E,OAAO,CAAuB,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,EAAE,CAC1C,OAAO,CAAqB,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;AAE3D,WAAW;AACX,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CAC/C,OAAO,CAAyB,KAAK,EAAE,aAAa,SAAS,WAAW,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,SAAiB,EACjB,IAAY,EACZ,UAAmE,EAAE,EACrE,EAAE,CACF,OAAO,CAAwC,MAAM,EAAE,aAAa,SAAS,WAAW,EAAE;IACxF,IAAI,EAAE;QACJ,IAAI;QACJ,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM;YACpC,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,kBAAkB,EAAE;YACrD,CAAC,CAAC,EAAE,CAAC;KACR;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE,CAC/D,OAAO,CAAqB,QAAQ,EAAE,aAAa,SAAS,aAAa,KAAK,EAAE,CAAC,CAAC;AAEpF,YAAY;AACZ,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,MAA+B,EAAE,EAAE,CACjF,OAAO,CAAoB,KAAK,EAAE,aAAa,SAAS,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACvD,OAAO,CAAkB,KAAK,EAAE,aAAa,SAAS,oBAAoB,CAAC,CAAC;AAE9E,SAAS;AACT,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,MAA+B,EAAE,EAAE,CAC/E,OAAO,CAAsB,KAAK,EAAE,aAAa,SAAS,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,MAA+B,EAAE,EAAE,CACnF,OAAO,CAA+B,KAAK,EAAE,aAAa,SAAS,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAElG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACxD,OAAO,CAAqC,KAAK,EAAE,aAAa,SAAS,qBAAqB,CAAC,CAAC;AAElG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,KAA8B,EAAE,EAAE,CACzF,OAAO,CAAkC,MAAM,EAAE,aAAa,SAAS,qBAAqB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAEjH,2BAA2B;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAE,CAChD,OAAO,CAA4B,KAAK,EAAE,aAAa,SAAS,WAAW,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CAC1D,OAAO,CAAwB,KAAK,EAAE,aAAa,SAAS,aAAa,EAAE,EAAE,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,KAA8B,EAAE,EAAE,CACjF,OAAO,CAAwB,MAAM,EAAE,aAAa,SAAS,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,KAA8B,EAAE,EAAE,CAC7F,OAAO,CAAwB,OAAO,EAAE,aAAa,SAAS,aAAa,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CAC7D,OAAO,CAAqB,QAAQ,EAAE,aAAa,SAAS,aAAa,EAAE,EAAE,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CAC9D,OAAO,CAA0C,KAAK,EAAE,aAAa,SAAS,aAAa,EAAE,UAAU,CAAC,CAAC;AAE3G,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,KAA8B,EAAE,EAAE,CACrF,OAAO,CAAuB,MAAM,EAAE,aAAa,SAAS,mBAAmB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpG,UAAU;AACV,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CAC/C,OAAO,CAAwB,KAAK,EAAE,aAAa,SAAS,UAAU,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CACzD,OAAO,CAAqB,KAAK,EAAE,aAAa,SAAS,YAAY,EAAE,EAAE,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,KAA8B,EAAE,EAAE,CAChF,OAAO,CAAqB,MAAM,EAAE,aAAa,SAAS,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,KAA8B,EAAE,EAAE,CAC5F,OAAO,CAAqB,OAAO,EAAE,aAAa,SAAS,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CAC5D,OAAO,CAAqB,QAAQ,EAAE,aAAa,SAAS,YAAY,EAAE,EAAE,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CAC7D,OAAO,CAAuC,KAAK,EAAE,aAAa,SAAS,YAAY,EAAE,UAAU,CAAC,CAAC;AAEvG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,MAA+B,EAAE,EAAE,CACvF,OAAO,CAAuB,MAAM,EAAE,aAAa,SAAS,kBAAkB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAEpG,YAAY;AACZ,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,EAAE,CAClD,OAAO,CAA8B,KAAK,EAAE,aAAa,SAAS,YAAY,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CAC5D,OAAO,CAA2B,KAAK,EAAE,aAAa,SAAS,cAAc,EAAE,EAAE,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,KAA8B,EAAE,EAAE,CACnF,OAAO,CAA2B,MAAM,EAAE,aAAa,SAAS,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAEjG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,KAA8B,EAAE,EAAE,CAC/F,OAAO,CAA2B,OAAO,EAAE,aAAa,SAAS,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAExG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CAC/D,OAAO,CAAqB,QAAQ,EAAE,aAAa,SAAS,cAAc,EAAE,EAAE,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CAChE,OAAO,CAA6C,KAAK,EAAE,aAAa,SAAS,cAAc,EAAE,UAAU,CAAC,CAAC;AAE/G,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,SAAkC,EAAE,EAAE,CAC7F,OAAO,CAAuB,MAAM,EAAE,aAAa,SAAS,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAEzG,cAAc;AACd,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,EAAE,CACnD,OAAO,CAAgC,KAAK,EAAE,aAAa,SAAS,cAAc,CAAC,CAAC;AAEtF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,MAA+B,EAAE,EAAE,CAC9F,OAAO,CAAgD,KAAK,EAAE,aAAa,SAAS,gBAAgB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAExH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,KAA8B,EAAE,EAAE,CACpF,OAAO,CAA6B,MAAM,EAAE,aAAa,SAAS,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAErG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,KAA8B,EAAE,EAAE,CAChG,OAAO,CAA6B,OAAO,EAAE,aAAa,SAAS,gBAAgB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAE5G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CAChE,OAAO,CAAqB,QAAQ,EAAE,aAAa,SAAS,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CAC/D,OAAO,CAA6B,MAAM,EAAE,aAAa,SAAS,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CAC9D,OAAO,CAA6B,MAAM,EAAE,aAAa,SAAS,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAE/F,UAAU;AACV,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CAC/C,OAAO,CAAwB,KAAK,EAAE,aAAa,SAAS,UAAU,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,KAA8B,EAAE,EAAE,CAChF,OAAO,CAAqB,MAAM,EAAE,aAAa,SAAS,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,KAA8B,EAAE,EAAE,CAC5F,OAAO,CAAqB,OAAO,EAAE,aAAa,SAAS,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE,EAAE,CAC5D,OAAO,CAAqB,QAAQ,EAAE,aAAa,SAAS,YAAY,EAAE,EAAE,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAE,CAChD,OAAO,CAAwB,MAAM,EAAE,aAAa,SAAS,gBAAgB,CAAC,CAAC"}
|
package/dist/commands/events.js
CHANGED
|
@@ -59,6 +59,27 @@ export function registerEventsCommands(program) {
|
|
|
59
59
|
}
|
|
60
60
|
output.table(["Event", "Count"], data.event_types.map((t) => [t.name, output.formatNumber(t.count)]));
|
|
61
61
|
});
|
|
62
|
+
events
|
|
63
|
+
.command("define")
|
|
64
|
+
.description("Define an event before it is observed")
|
|
65
|
+
.argument("<name>", "Event name (e.g. checkout_completed)")
|
|
66
|
+
.option("--description <text>", "Optional event description")
|
|
67
|
+
.option("--project <id>", "Project ID")
|
|
68
|
+
.option("--json", "Output as JSON")
|
|
69
|
+
.action(async (name, opts) => {
|
|
70
|
+
auth.requireToken();
|
|
71
|
+
const projectId = requireProjectId(opts.project);
|
|
72
|
+
const data = await client.createEventDefinition(projectId, {
|
|
73
|
+
name,
|
|
74
|
+
...(opts.description ? { description: opts.description } : {}),
|
|
75
|
+
});
|
|
76
|
+
if (opts.json) {
|
|
77
|
+
output.json(data.definition);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
console.log(`Event defined: ${data.definition.name}`);
|
|
81
|
+
console.log("No analytics event was sent; it will populate after first ingestion.");
|
|
82
|
+
});
|
|
62
83
|
events
|
|
63
84
|
.command("send")
|
|
64
85
|
.description("Send a test event")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/commands/events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/commands/events.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/funnels.js
CHANGED
|
@@ -34,9 +34,9 @@ export function registerFunnelsCommands(program) {
|
|
|
34
34
|
.command("create")
|
|
35
35
|
.description("Create a funnel")
|
|
36
36
|
.requiredOption("--name <name>", "Funnel name")
|
|
37
|
-
.requiredOption("--steps <steps>", "Comma-separated event names")
|
|
38
|
-
.option("--window <window>", "
|
|
39
|
-
.option("--range <range>", "
|
|
37
|
+
.requiredOption("--steps <steps>", "Comma-separated event names in order, 2 to 15 of them")
|
|
38
|
+
.option("--window <window>", "Whole days allowed to complete every step, e.g. 7d. Omit for no limit")
|
|
39
|
+
.option("--range <range>", "1d, 7d, 30d, 90d, or 365d. Defaults to 30d")
|
|
40
40
|
.option("--project <id>", "Project ID")
|
|
41
41
|
.option("--json", "Output as JSON")
|
|
42
42
|
.action(async (opts) => {
|
|
@@ -88,9 +88,9 @@ export function registerFunnelsCommands(program) {
|
|
|
88
88
|
.description("Update a saved funnel")
|
|
89
89
|
.argument("<id>", "Funnel ID")
|
|
90
90
|
.option("--name <name>", "Funnel name")
|
|
91
|
-
.option("--steps <steps>", "Comma-separated event names")
|
|
92
|
-
.option("--window <window>", "
|
|
93
|
-
.option("--range <range>", "
|
|
91
|
+
.option("--steps <steps>", "Comma-separated event names in order, 2 to 15 of them")
|
|
92
|
+
.option("--window <window>", "Whole days allowed to complete every step, e.g. 7d. Omit for no limit")
|
|
93
|
+
.option("--range <range>", "1d, 7d, 30d, 90d, or 365d. Defaults to 30d")
|
|
94
94
|
.option("--project <id>", "Project ID")
|
|
95
95
|
.option("--json", "Output as JSON")
|
|
96
96
|
.action(async (id, opts) => {
|
|
@@ -121,8 +121,8 @@ export function registerFunnelsCommands(program) {
|
|
|
121
121
|
.command("execute")
|
|
122
122
|
.description("Execute a saved or ad-hoc funnel")
|
|
123
123
|
.argument("[id]", "Funnel ID (omit for ad-hoc)")
|
|
124
|
-
.option("--steps <steps>", "
|
|
125
|
-
.option("--range <range>", "
|
|
124
|
+
.option("--steps <steps>", "Ad-hoc runs: comma-separated event names in order, 2 to 15 of them")
|
|
125
|
+
.option("--range <range>", "1d, 7d, 30d, 90d, or 365d")
|
|
126
126
|
.option("--project <id>", "Project ID")
|
|
127
127
|
.option("--json", "Output as JSON")
|
|
128
128
|
.action(async (id, opts) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"funnels.js","sourceRoot":"","sources":["../../src/commands/funnels.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAE7C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC;SACtC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAA0C,EAAE,EAAE;QAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CACV,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACtB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;SAC9C,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,cAAc,CAAC,eAAe,EAAE,aAAa,CAAC;SAC9C,cAAc,CAAC,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"funnels.js","sourceRoot":"","sources":["../../src/commands/funnels.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -2,7 +2,8 @@ import * as client from "../client.js";
|
|
|
2
2
|
import * as auth from "../auth.js";
|
|
3
3
|
import { saveContext } from "../context.js";
|
|
4
4
|
import readline from "node:readline";
|
|
5
|
-
import { CliUsageError, isNoInput } from "../runtime.js";
|
|
5
|
+
import { CliUsageError, isNoInput, requireConfirmation } from "../runtime.js";
|
|
6
|
+
import { identifiersMatch, normalizeIdentifiers } from "./keys.js";
|
|
6
7
|
function prompt(question) {
|
|
7
8
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
8
9
|
return new Promise((resolve) => {
|
|
@@ -19,9 +20,20 @@ export function registerInitCommand(program) {
|
|
|
19
20
|
.option("--project <name>", "Project name (skip prompt)")
|
|
20
21
|
.option("--org <slug>", "Organization slug")
|
|
21
22
|
.option("--sdk <type>", "SDK type (js, react-native, swift, android, flutter)")
|
|
23
|
+
.option("--environment <environment>", "API key environment", "development")
|
|
24
|
+
.option("--allow <identifier...>", "Allowed Apple bundle IDs, Android package names, or web domains")
|
|
25
|
+
.option("--unrestricted", "Allow every app identifier and web domain (confirm interactively or pass global --yes)")
|
|
22
26
|
.option("--json", "Output as JSON")
|
|
23
27
|
.action(async (opts) => {
|
|
24
28
|
auth.requireToken();
|
|
29
|
+
const allowedIdentifiers = normalizeIdentifiers(opts.allow);
|
|
30
|
+
const isRestricted = allowedIdentifiers.length > 0;
|
|
31
|
+
if (isRestricted === Boolean(opts.unrestricted)) {
|
|
32
|
+
throw new CliUsageError("Choose exactly one API key access mode: --allow <identifier...> or --unrestricted.");
|
|
33
|
+
}
|
|
34
|
+
if (opts.unrestricted) {
|
|
35
|
+
await requireConfirmation("Create an unrestricted API key that allows all app identifiers and web domains");
|
|
36
|
+
}
|
|
25
37
|
const { user, organizations } = await client.getMe();
|
|
26
38
|
if (organizations.length === 0) {
|
|
27
39
|
console.error("No organizations found. Create one at app.mostlygoodmetrics.com first.");
|
|
@@ -56,7 +68,17 @@ export function registerInitCommand(program) {
|
|
|
56
68
|
const { project } = await client.createProject(orgSlug, projectName);
|
|
57
69
|
if (!opts.json)
|
|
58
70
|
console.log("Creating API key...");
|
|
59
|
-
const
|
|
71
|
+
const environment = opts.environment ?? "development";
|
|
72
|
+
const keyName = environment.charAt(0).toUpperCase() + environment.slice(1);
|
|
73
|
+
const { api_key } = await client.createApiKey(project.id, keyName, {
|
|
74
|
+
environment,
|
|
75
|
+
allowedIdentifiers: isRestricted ? allowedIdentifiers : undefined,
|
|
76
|
+
});
|
|
77
|
+
const expectedIdentifiers = isRestricted ? allowedIdentifiers : [];
|
|
78
|
+
if (api_key.environment !== environment
|
|
79
|
+
|| !identifiersMatch(expectedIdentifiers, api_key.allowed_identifiers)) {
|
|
80
|
+
throw new CliUsageError(`WARNING: Project ${project.id} and API key ${api_key.id} were created, but the server did not apply the requested environment and access restrictions. The raw key has been withheld. Revoke it now with: mgm keys revoke ${api_key.id} --project ${project.id}`);
|
|
81
|
+
}
|
|
60
82
|
saveContext(project.id, orgSlug);
|
|
61
83
|
if (opts.json) {
|
|
62
84
|
const { json } = await import("../output.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/keys.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
+
export declare function normalizeIdentifiers(identifiers: string[] | undefined): string[];
|
|
3
|
+
export declare function identifiersMatch(requested: string[], returned: string[] | undefined): boolean;
|
|
2
4
|
export declare function registerKeysCommands(program: Command): void;
|
package/dist/commands/keys.js
CHANGED
|
@@ -2,7 +2,18 @@ import * as client from "../client.js";
|
|
|
2
2
|
import * as auth from "../auth.js";
|
|
3
3
|
import * as output from "../output.js";
|
|
4
4
|
import { requireProjectId } from "../context.js";
|
|
5
|
-
import { requireConfirmation } from "../runtime.js";
|
|
5
|
+
import { CliUsageError, requireConfirmation } from "../runtime.js";
|
|
6
|
+
export function normalizeIdentifiers(identifiers) {
|
|
7
|
+
return [...new Set((identifiers ?? []).map((identifier) => identifier.trim()).filter(Boolean))];
|
|
8
|
+
}
|
|
9
|
+
export function identifiersMatch(requested, returned) {
|
|
10
|
+
if (returned === undefined)
|
|
11
|
+
return false;
|
|
12
|
+
const sortedRequested = [...requested].sort();
|
|
13
|
+
const sortedReturned = normalizeIdentifiers(returned).sort();
|
|
14
|
+
return sortedRequested.length === sortedReturned.length
|
|
15
|
+
&& sortedRequested.every((identifier, index) => identifier === sortedReturned[index]);
|
|
16
|
+
}
|
|
6
17
|
export function registerKeysCommands(program) {
|
|
7
18
|
const keys = program
|
|
8
19
|
.command("keys")
|
|
@@ -24,23 +35,49 @@ export function registerKeysCommands(program) {
|
|
|
24
35
|
console.log("No API keys found. Create one with `mgm keys create`.");
|
|
25
36
|
return;
|
|
26
37
|
}
|
|
27
|
-
output.table(["ID", "Name", "Prefix", "Created"], data.api_keys.map((k) => [
|
|
38
|
+
output.table(["ID", "Name", "Environment", "Access", "Prefix", "Created"], data.api_keys.map((k) => [
|
|
28
39
|
k.id,
|
|
29
40
|
k.name,
|
|
41
|
+
k.environment ?? "-",
|
|
42
|
+
k.allowed_identifiers === undefined
|
|
43
|
+
? "Unknown"
|
|
44
|
+
: k.allowed_identifiers.length === 0
|
|
45
|
+
? "Unrestricted (allows all)"
|
|
46
|
+
: `Restricted (${k.allowed_identifiers.length})`,
|
|
30
47
|
k.key_prefix ?? "-",
|
|
31
|
-
k.created_at ?? "-",
|
|
48
|
+
k.created_at ?? k.inserted_at ?? "-",
|
|
32
49
|
]));
|
|
33
50
|
});
|
|
34
51
|
keys
|
|
35
52
|
.command("create")
|
|
36
|
-
.description("Create
|
|
53
|
+
.description("Create an API key with --allow or --unrestricted")
|
|
37
54
|
.argument("<name>", "Key name")
|
|
38
55
|
.option("--project <id>", "Project ID")
|
|
56
|
+
.option("--environment <environment>", "API key environment", "production")
|
|
57
|
+
.option("--allow <identifier...>", "Allowed Apple bundle IDs, Android package names, or web domains")
|
|
58
|
+
.option("--unrestricted", "Allow every app identifier and web domain (confirm interactively or pass global --yes)")
|
|
39
59
|
.option("--json", "Output as JSON")
|
|
40
60
|
.action(async (name, opts) => {
|
|
41
61
|
auth.requireToken();
|
|
42
62
|
const projectId = requireProjectId(opts.project);
|
|
43
|
-
const
|
|
63
|
+
const allowedIdentifiers = normalizeIdentifiers(opts.allow);
|
|
64
|
+
const isRestricted = allowedIdentifiers.length > 0;
|
|
65
|
+
if (isRestricted === Boolean(opts.unrestricted)) {
|
|
66
|
+
throw new CliUsageError("Choose exactly one API key access mode: --allow <identifier...> or --unrestricted.");
|
|
67
|
+
}
|
|
68
|
+
if (opts.unrestricted) {
|
|
69
|
+
await requireConfirmation("Create an unrestricted API key that allows all app identifiers and web domains");
|
|
70
|
+
}
|
|
71
|
+
const environment = opts.environment ?? "production";
|
|
72
|
+
const data = await client.createApiKey(projectId, name, {
|
|
73
|
+
environment,
|
|
74
|
+
allowedIdentifiers: isRestricted ? allowedIdentifiers : undefined,
|
|
75
|
+
});
|
|
76
|
+
const expectedIdentifiers = isRestricted ? allowedIdentifiers : [];
|
|
77
|
+
if (data.api_key.environment !== environment
|
|
78
|
+
|| !identifiersMatch(expectedIdentifiers, data.api_key.allowed_identifiers)) {
|
|
79
|
+
throw new CliUsageError(`WARNING: API key ${data.api_key.id} was created, but the server did not apply the requested environment and access restrictions. The raw key has been withheld. Revoke it now with: mgm keys revoke ${data.api_key.id} --project ${projectId}`);
|
|
80
|
+
}
|
|
44
81
|
if (opts.json) {
|
|
45
82
|
output.json(data.api_key);
|
|
46
83
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/commands/keys.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/commands/keys.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/queries.js
CHANGED
|
@@ -3,6 +3,61 @@ import * as auth from "../auth.js";
|
|
|
3
3
|
import * as output from "../output.js";
|
|
4
4
|
import { requireProjectId } from "../context.js";
|
|
5
5
|
import { requireConfirmation } from "../runtime.js";
|
|
6
|
+
function commaSeparated(value) {
|
|
7
|
+
return value.split(",").map((item) => item.trim()).filter(Boolean);
|
|
8
|
+
}
|
|
9
|
+
function parseDefinition(value) {
|
|
10
|
+
if (!value)
|
|
11
|
+
return {};
|
|
12
|
+
let parsed;
|
|
13
|
+
try {
|
|
14
|
+
parsed = JSON.parse(value);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
throw new Error("--definition must be valid JSON.");
|
|
18
|
+
}
|
|
19
|
+
if (parsed === null || Array.isArray(parsed) || typeof parsed !== "object") {
|
|
20
|
+
throw new Error("--definition must be a JSON object.");
|
|
21
|
+
}
|
|
22
|
+
return parsed;
|
|
23
|
+
}
|
|
24
|
+
function buildQueryDefinition(opts, base = {}) {
|
|
25
|
+
const query = { ...base, ...parseDefinition(opts.definition) };
|
|
26
|
+
if (opts.metric)
|
|
27
|
+
query.metric = opts.metric;
|
|
28
|
+
if (opts.groupBy)
|
|
29
|
+
query.group_by = opts.groupBy;
|
|
30
|
+
if (opts.breakdownBy)
|
|
31
|
+
query.breakdown_by = opts.breakdownBy;
|
|
32
|
+
if (opts.granularity)
|
|
33
|
+
query.granularity = opts.granularity;
|
|
34
|
+
if (opts.range)
|
|
35
|
+
query.date_range = opts.range;
|
|
36
|
+
if (opts.excludeLifecycleEvents)
|
|
37
|
+
query.exclude_lifecycle_events = true;
|
|
38
|
+
const existingFilters = query.filters;
|
|
39
|
+
const filters = existingFilters !== null && typeof existingFilters === "object" && !Array.isArray(existingFilters)
|
|
40
|
+
? { ...existingFilters }
|
|
41
|
+
: {};
|
|
42
|
+
if (opts.events)
|
|
43
|
+
filters.event_names = commaSeparated(opts.events);
|
|
44
|
+
if (opts.platforms)
|
|
45
|
+
filters.platforms = commaSeparated(opts.platforms);
|
|
46
|
+
if (opts.environments)
|
|
47
|
+
filters.environments = commaSeparated(opts.environments);
|
|
48
|
+
if (Object.keys(filters).length > 0)
|
|
49
|
+
query.filters = filters;
|
|
50
|
+
return query;
|
|
51
|
+
}
|
|
52
|
+
function addAdvancedQueryOptions(command) {
|
|
53
|
+
return command
|
|
54
|
+
.option("--breakdown-by <field>", "Second dimension for a date series; same values as --group-by except date")
|
|
55
|
+
.option("--granularity <value>", "Date bucket: day, week, or month. Requires --group-by date")
|
|
56
|
+
.option("--platforms <values>", "Comma-separated platforms to include; see `mgm dashboard filters`")
|
|
57
|
+
.option("--environments <values>", "Comma-separated environments to include; see `mgm dashboard filters`")
|
|
58
|
+
.option("--exclude-lifecycle-events", "Drop the SDK's auto-tracked $ events such as $app_opened")
|
|
59
|
+
.option("--definition <json>", "Full query definition JSON. The only way to set country/region/city filters and prop:<name> operator filters; see the Query definition section of the README. Explicit flags override it");
|
|
60
|
+
}
|
|
6
61
|
export function registerQueriesCommands(program) {
|
|
7
62
|
const queries = program
|
|
8
63
|
.command("queries")
|
|
@@ -17,35 +72,30 @@ export function registerQueriesCommands(program) {
|
|
|
17
72
|
const projectId = requireProjectId(opts.project);
|
|
18
73
|
const data = await client.listInsights(projectId);
|
|
19
74
|
if (opts.json) {
|
|
20
|
-
output.json(data.
|
|
75
|
+
output.json(data.queries);
|
|
21
76
|
return;
|
|
22
77
|
}
|
|
23
|
-
if (data.
|
|
78
|
+
if (data.queries.length === 0) {
|
|
24
79
|
console.log("No saved queries found.");
|
|
25
80
|
return;
|
|
26
81
|
}
|
|
27
|
-
output.table(["ID", "Name", "Visualization"], data.
|
|
82
|
+
output.table(["ID", "Name", "Visualization"], data.queries.map((q) => [q.id, q.name, q.visualization ?? "-"]));
|
|
28
83
|
});
|
|
29
|
-
queries
|
|
84
|
+
addAdvancedQueryOptions(queries
|
|
30
85
|
.command("create")
|
|
31
86
|
.description("Create a saved query")
|
|
32
87
|
.requiredOption("--name <name>", "Query name")
|
|
33
|
-
.option("--metric <metric>", "
|
|
34
|
-
.option("--group-by <field>", "
|
|
35
|
-
.option("--
|
|
36
|
-
.option("--
|
|
88
|
+
.option("--metric <metric>", "count_events, unique_users, unique_sessions, or dau")
|
|
89
|
+
.option("--group-by <field>", "Dimension: date, platform, app_version, os_version, environment, country, region, city, locale, timezone, device_manufacturer, event_name, or prop:<name>")
|
|
90
|
+
.option("--events <names>", "Comma-separated event names to count; see `mgm events types`")
|
|
91
|
+
.option("--range <range>", "1d, 7d, 30d, 90d, 365d, or custom:YYYY-MM-DD:YYYY-MM-DD. Defaults to 30d")
|
|
92
|
+
.option("--visualization <type>", "line, bar, pie, doughnut, table, or number. Defaults to line")
|
|
37
93
|
.option("--project <id>", "Project ID")
|
|
38
|
-
.option("--json", "Output as JSON")
|
|
94
|
+
.option("--json", "Output as JSON"))
|
|
39
95
|
.action(async (opts) => {
|
|
40
96
|
auth.requireToken();
|
|
41
97
|
const projectId = requireProjectId(opts.project);
|
|
42
|
-
const queryDef =
|
|
43
|
-
if (opts.metric)
|
|
44
|
-
queryDef.metric = opts.metric;
|
|
45
|
-
if (opts.groupBy)
|
|
46
|
-
queryDef.group_by = opts.groupBy;
|
|
47
|
-
if (opts.range)
|
|
48
|
-
queryDef.date_range = opts.range;
|
|
98
|
+
const queryDef = buildQueryDefinition(opts);
|
|
49
99
|
const attrs = {
|
|
50
100
|
name: opts.name,
|
|
51
101
|
query_definition: queryDef,
|
|
@@ -54,11 +104,11 @@ export function registerQueriesCommands(program) {
|
|
|
54
104
|
attrs.visualization = opts.visualization;
|
|
55
105
|
const data = await client.createInsight(projectId, attrs);
|
|
56
106
|
if (opts.json) {
|
|
57
|
-
output.json(data.
|
|
107
|
+
output.json(data.query);
|
|
58
108
|
return;
|
|
59
109
|
}
|
|
60
|
-
console.log(`Query created: ${data.
|
|
61
|
-
console.log(`ID: ${data.
|
|
110
|
+
console.log(`Query created: ${data.query.name}`);
|
|
111
|
+
console.log(`ID: ${data.query.id}`);
|
|
62
112
|
});
|
|
63
113
|
queries
|
|
64
114
|
.command("show")
|
|
@@ -70,57 +120,57 @@ export function registerQueriesCommands(program) {
|
|
|
70
120
|
auth.requireToken();
|
|
71
121
|
const data = await client.getInsight(requireProjectId(opts.project), id);
|
|
72
122
|
if (opts.json) {
|
|
73
|
-
output.json(data.
|
|
123
|
+
output.json(data.query);
|
|
74
124
|
return;
|
|
75
125
|
}
|
|
76
|
-
console.log(`Query: ${data.
|
|
77
|
-
console.log(`ID: ${data.
|
|
126
|
+
console.log(`Query: ${data.query.name}`);
|
|
127
|
+
console.log(`ID: ${data.query.id}`);
|
|
78
128
|
});
|
|
79
|
-
queries
|
|
129
|
+
addAdvancedQueryOptions(queries
|
|
80
130
|
.command("update")
|
|
81
131
|
.description("Update a saved query")
|
|
82
132
|
.argument("<id>", "Query ID")
|
|
83
133
|
.option("--name <name>", "Query name")
|
|
84
|
-
.option("--metric <metric>", "
|
|
85
|
-
.option("--group-by <field>", "
|
|
86
|
-
.option("--
|
|
87
|
-
.option("--
|
|
134
|
+
.option("--metric <metric>", "count_events, unique_users, unique_sessions, or dau")
|
|
135
|
+
.option("--group-by <field>", "Dimension to group by, or prop:<name>")
|
|
136
|
+
.option("--events <names>", "Comma-separated event names to count; see `mgm events types`")
|
|
137
|
+
.option("--range <range>", "1d, 7d, 30d, 90d, 365d, or custom:YYYY-MM-DD:YYYY-MM-DD")
|
|
138
|
+
.option("--visualization <type>", "line, bar, pie, doughnut, table, or number")
|
|
88
139
|
.option("--project <id>", "Project ID")
|
|
89
|
-
.option("--json", "Output as JSON")
|
|
140
|
+
.option("--json", "Output as JSON"))
|
|
90
141
|
.action(async (id, opts) => {
|
|
91
142
|
auth.requireToken();
|
|
143
|
+
const projectId = requireProjectId(opts.project);
|
|
92
144
|
const attrs = {};
|
|
93
|
-
const queryDefinition = {};
|
|
94
145
|
if (opts.name)
|
|
95
146
|
attrs.name = opts.name;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
if (
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
if (Object.keys(queryDefinition).length > 0)
|
|
103
|
-
attrs.query_definition = queryDefinition;
|
|
147
|
+
const changesQuery = Boolean(opts.metric || opts.groupBy || opts.breakdownBy || opts.granularity || opts.events || opts.platforms ||
|
|
148
|
+
opts.environments || opts.range || opts.excludeLifecycleEvents || opts.definition);
|
|
149
|
+
if (changesQuery) {
|
|
150
|
+
const existing = await client.getInsight(projectId, id);
|
|
151
|
+
attrs.query_definition = buildQueryDefinition(opts, existing.query.query_definition);
|
|
152
|
+
}
|
|
104
153
|
if (opts.visualization)
|
|
105
154
|
attrs.visualization = opts.visualization;
|
|
106
155
|
if (Object.keys(attrs).length === 0)
|
|
107
156
|
throw new Error("Provide at least one field to update.");
|
|
108
|
-
const data = await client.updateInsight(
|
|
157
|
+
const data = await client.updateInsight(projectId, id, attrs);
|
|
109
158
|
if (opts.json) {
|
|
110
|
-
output.json(data.
|
|
159
|
+
output.json(data.query);
|
|
111
160
|
return;
|
|
112
161
|
}
|
|
113
|
-
console.log(`Query updated: ${data.
|
|
162
|
+
console.log(`Query updated: ${data.query?.name ?? id}`);
|
|
114
163
|
});
|
|
115
|
-
queries
|
|
164
|
+
addAdvancedQueryOptions(queries
|
|
116
165
|
.command("execute")
|
|
117
166
|
.description("Execute a saved or ad-hoc query")
|
|
118
167
|
.argument("[id]", "Query ID (omit for ad-hoc)")
|
|
119
|
-
.option("--metric <metric>", "
|
|
120
|
-
.option("--group-by <field>", "
|
|
121
|
-
.option("--
|
|
168
|
+
.option("--metric <metric>", "Ad-hoc runs: count_events, unique_users, unique_sessions, or dau")
|
|
169
|
+
.option("--group-by <field>", "Ad-hoc runs: dimension to group by, or prop:<name>")
|
|
170
|
+
.option("--events <names>", "Comma-separated event names to count; see `mgm events types`")
|
|
171
|
+
.option("--range <range>", "1d, 7d, 30d, 90d, 365d, or custom:YYYY-MM-DD:YYYY-MM-DD")
|
|
122
172
|
.option("--project <id>", "Project ID")
|
|
123
|
-
.option("--json", "Output as JSON")
|
|
173
|
+
.option("--json", "Output as JSON"))
|
|
124
174
|
.action(async (id, opts) => {
|
|
125
175
|
auth.requireToken();
|
|
126
176
|
const projectId = requireProjectId(opts.project);
|
|
@@ -128,16 +178,12 @@ export function registerQueriesCommands(program) {
|
|
|
128
178
|
if (id) {
|
|
129
179
|
result = await client.executeInsight(projectId, id);
|
|
130
180
|
}
|
|
131
|
-
else if (opts.metric) {
|
|
132
|
-
const query =
|
|
133
|
-
if (opts.groupBy)
|
|
134
|
-
query.group_by = opts.groupBy;
|
|
135
|
-
if (opts.range)
|
|
136
|
-
query.date_range = opts.range;
|
|
181
|
+
else if (opts.metric || opts.definition) {
|
|
182
|
+
const query = buildQueryDefinition(opts);
|
|
137
183
|
result = await client.executeAdHocQuery(projectId, query);
|
|
138
184
|
}
|
|
139
185
|
else {
|
|
140
|
-
console.error("Provide a query ID or --
|
|
186
|
+
console.error("Provide a query ID, --metric, or --definition for ad-hoc execution.");
|
|
141
187
|
process.exit(1);
|
|
142
188
|
}
|
|
143
189
|
if (opts.json) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/commands/queries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/commands/queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,11 +30,11 @@ export function registerRetentionCommands(program) {
|
|
|
30
30
|
.command("create")
|
|
31
31
|
.description("Create a retention analysis")
|
|
32
32
|
.requiredOption("--name <name>", "Name")
|
|
33
|
-
.requiredOption("--cohort-event <event>", "
|
|
34
|
-
.option("--retention-event <event>", "
|
|
35
|
-
.option("--grain <grain>", "Cohort
|
|
36
|
-
.option("--days <days>", "
|
|
37
|
-
.option("--range <range>", "
|
|
33
|
+
.requiredOption("--cohort-event <event>", "Event that puts a user into a cohort, e.g. signup")
|
|
34
|
+
.option("--retention-event <event>", "Event that counts as coming back. Omit to count any event")
|
|
35
|
+
.option("--grain <grain>", "Cohort bucket: day, week, or month", "week")
|
|
36
|
+
.option("--days <days>", "Comma-separated days to measure, from 1,2,3,7,14,21,30,60,90", "1,7,14,30")
|
|
37
|
+
.option("--range <range>", "1d, 7d, 30d, 90d, or 365d. Defaults to 90d")
|
|
38
38
|
.option("--project <id>", "Project ID")
|
|
39
39
|
.option("--json", "Output as JSON")
|
|
40
40
|
.action(async (opts) => {
|
|
@@ -79,11 +79,11 @@ export function registerRetentionCommands(program) {
|
|
|
79
79
|
.description("Update a saved retention analysis")
|
|
80
80
|
.argument("<id>", "Retention ID")
|
|
81
81
|
.option("--name <name>", "Name")
|
|
82
|
-
.option("--cohort-event <event>", "
|
|
83
|
-
.option("--retention-event <event>", "
|
|
84
|
-
.option("--grain <grain>", "Cohort
|
|
85
|
-
.option("--days <days>", "
|
|
86
|
-
.option("--range <range>", "
|
|
82
|
+
.option("--cohort-event <event>", "Event that puts a user into a cohort")
|
|
83
|
+
.option("--retention-event <event>", "Event that counts as coming back")
|
|
84
|
+
.option("--grain <grain>", "Cohort bucket: day, week, or month")
|
|
85
|
+
.option("--days <days>", "Comma-separated days to measure, from 1,2,3,7,14,21,30,60,90")
|
|
86
|
+
.option("--range <range>", "1d, 7d, 30d, 90d, or 365d. Defaults to 90d")
|
|
87
87
|
.option("--project <id>", "Project ID")
|
|
88
88
|
.option("--json", "Output as JSON")
|
|
89
89
|
.action(async (id, opts) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention.js","sourceRoot":"","sources":["../../src/commands/retention.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,uCAAuC,CAAC,CAAC;IAExD,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC;SACtC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAA0C,EAAE,EAAE;QAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CACV,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAC3E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6BAA6B,CAAC;SAC1C,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC;SACvC,cAAc,CAAC,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"retention.js","sourceRoot":"","sources":["../../src/commands/retention.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
interface SkillsOptions {
|
|
3
|
+
global?: boolean;
|
|
4
|
+
agent?: string[];
|
|
5
|
+
skill?: string[];
|
|
6
|
+
yes?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function buildSkillsInstallerArgs(command: "install" | "list", opts: SkillsOptions): string[];
|
|
9
|
+
export declare function registerSkillsCommands(program: Command): void;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { CliUsageError, isNoInput } from "../runtime.js";
|
|
3
|
+
const MGM_SKILLS_SOURCE = "Mostly-Good-Metrics/skills";
|
|
4
|
+
export function buildSkillsInstallerArgs(command, opts) {
|
|
5
|
+
const args = ["--yes", "skills", "add", MGM_SKILLS_SOURCE];
|
|
6
|
+
if (command === "list")
|
|
7
|
+
return [...args, "--list"];
|
|
8
|
+
if (opts.global)
|
|
9
|
+
args.push("--global");
|
|
10
|
+
for (const agent of opts.agent ?? [])
|
|
11
|
+
args.push("--agent", agent);
|
|
12
|
+
for (const skill of opts.skill ?? [])
|
|
13
|
+
args.push("--skill", skill);
|
|
14
|
+
if (opts.yes)
|
|
15
|
+
args.push("--yes");
|
|
16
|
+
return args;
|
|
17
|
+
}
|
|
18
|
+
function runSkillsInstaller(args) {
|
|
19
|
+
const executable = process.platform === "win32" ? "npx.cmd" : "npx";
|
|
20
|
+
const result = spawnSync(executable, args, { stdio: "inherit" });
|
|
21
|
+
if (result.error)
|
|
22
|
+
throw new CliUsageError(`Could not start the skills installer: ${result.error.message}`);
|
|
23
|
+
if (result.status !== 0)
|
|
24
|
+
throw new CliUsageError("The skills installer did not complete successfully.");
|
|
25
|
+
}
|
|
26
|
+
export function registerSkillsCommands(program) {
|
|
27
|
+
const skills = program
|
|
28
|
+
.command("skills")
|
|
29
|
+
.description("Install MostlyGoodMetrics agent skills");
|
|
30
|
+
skills
|
|
31
|
+
.command("list")
|
|
32
|
+
.description("List available MostlyGoodMetrics skills")
|
|
33
|
+
.action(() => runSkillsInstaller(buildSkillsInstallerArgs("list", {})));
|
|
34
|
+
skills
|
|
35
|
+
.command("install")
|
|
36
|
+
.description("Install MostlyGoodMetrics skills with the standard skills installer")
|
|
37
|
+
.option("-g, --global", "Install globally instead of in the current project")
|
|
38
|
+
.option("-a, --agent <agents...>", "Target agent(s), such as codex or claude-code")
|
|
39
|
+
.option("-s, --skill <skills...>", "Install only named skill(s)")
|
|
40
|
+
.option("-y, --yes", "Skip installer prompts")
|
|
41
|
+
.action((opts) => {
|
|
42
|
+
if (isNoInput() && !opts.yes) {
|
|
43
|
+
throw new CliUsageError("skills install requires --yes when running with --no-input.");
|
|
44
|
+
}
|
|
45
|
+
runSkillsInstaller(buildSkillsInstallerArgs("install", opts));
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AASvD,MAAM,UAAU,wBAAwB,CAAC,OAA2B,EAAE,IAAmB;IACvF,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAE3D,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAClE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAClE,IAAI,IAAI,CAAC,GAAG;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEjC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAEjE,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,aAAa,CAAC,yCAAyC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3G,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,qDAAqD,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,wCAAwC,CAAC,CAAC;IAEzD,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1E,MAAM;SACH,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,qEAAqE,CAAC;SAClF,MAAM,CAAC,cAAc,EAAE,oDAAoD,CAAC;SAC5E,MAAM,CAAC,yBAAyB,EAAE,+CAA+C,CAAC;SAClF,MAAM,CAAC,yBAAyB,EAAE,6BAA6B,CAAC;SAChE,MAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC;SAC7C,MAAM,CAAC,CAAC,IAAmB,EAAE,EAAE;QAC9B,IAAI,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,aAAa,CAAC,6DAA6D,CAAC,CAAC;QACzF,CAAC;QACD,kBAAkB,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/commands/widgets.js
CHANGED
|
@@ -34,19 +34,43 @@ export function registerWidgetsCommands(program) {
|
|
|
34
34
|
widgets
|
|
35
35
|
.command("add")
|
|
36
36
|
.description("Add a widget to the dashboard")
|
|
37
|
-
.argument("<type>", "Widget type
|
|
38
|
-
.option("--
|
|
39
|
-
.option("--
|
|
37
|
+
.argument("<type>", "Widget type: stat, pulse, query, funnel, retention, or text")
|
|
38
|
+
.option("--query <id>", "Saved query ID (required for query widgets)")
|
|
39
|
+
.option("--funnel <id>", "Saved funnel ID (required for funnel widgets)")
|
|
40
|
+
.option("--retention <id>", "Saved retention ID (required for retention widgets)")
|
|
41
|
+
.option("--stat-type <type>", "Stat type (required for stat widgets)")
|
|
42
|
+
.option("--title <title>", "Title (for text widgets)")
|
|
43
|
+
.option("--content <content>", "Content (for text widgets)")
|
|
44
|
+
.option("--width <n>", "Widget width")
|
|
45
|
+
.option("--height <n>", "Widget height")
|
|
46
|
+
.option("--col <n>", "Dashboard column")
|
|
47
|
+
.option("--row <n>", "Dashboard row")
|
|
40
48
|
.option("--project <id>", "Project ID")
|
|
41
49
|
.option("--json", "Output as JSON")
|
|
42
50
|
.action(async (type, opts) => {
|
|
43
51
|
auth.requireToken();
|
|
44
52
|
const projectId = requireProjectId(opts.project);
|
|
45
53
|
const attrs = { widget_type: type };
|
|
46
|
-
if (opts.
|
|
47
|
-
attrs.
|
|
48
|
-
if (opts.
|
|
49
|
-
attrs.
|
|
54
|
+
if (opts.query)
|
|
55
|
+
attrs.saved_query_id = opts.query;
|
|
56
|
+
if (opts.funnel)
|
|
57
|
+
attrs.saved_funnel_id = opts.funnel;
|
|
58
|
+
if (opts.retention)
|
|
59
|
+
attrs.saved_retention_id = opts.retention;
|
|
60
|
+
if (opts.statType)
|
|
61
|
+
attrs.stat_type = opts.statType;
|
|
62
|
+
if (opts.title)
|
|
63
|
+
attrs.title = opts.title;
|
|
64
|
+
if (opts.content)
|
|
65
|
+
attrs.content = opts.content;
|
|
66
|
+
if (opts.width)
|
|
67
|
+
attrs.width = parseInt(opts.width, 10);
|
|
68
|
+
if (opts.height)
|
|
69
|
+
attrs.height = parseInt(opts.height, 10);
|
|
70
|
+
if (opts.col)
|
|
71
|
+
attrs.col = parseInt(opts.col, 10);
|
|
72
|
+
if (opts.row)
|
|
73
|
+
attrs.row = parseInt(opts.row, 10);
|
|
50
74
|
const data = await client.createWidget(projectId, attrs);
|
|
51
75
|
if (opts.json) {
|
|
52
76
|
output.json(data.widget);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../src/commands/widgets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAE3C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC;SACtC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAA0C,EAAE,EAAE;QAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CACV,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACtB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG;YACnD,CAAC,CAAC,IAAI,IAAI,GAAG;SACd,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,+BAA+B,CAAC;SAC5C,QAAQ,CAAC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../src/commands/widgets.ts"],"names":[],"mappings":"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"}
|
package/dist/program.d.ts
CHANGED
package/dist/program.js
CHANGED
|
@@ -12,8 +12,9 @@ import { registerExperimentsCommands } from "./commands/experiments.js";
|
|
|
12
12
|
import { registerQueriesCommands } from "./commands/queries.js";
|
|
13
13
|
import { registerWidgetsCommands } from "./commands/widgets.js";
|
|
14
14
|
import { registerDiscoveryCommands } from "./commands/discovery.js";
|
|
15
|
+
import { registerSkillsCommands } from "./commands/skills.js";
|
|
15
16
|
import { configureRuntimeOptions } from "./runtime.js";
|
|
16
|
-
export const VERSION = "0.1.
|
|
17
|
+
export const VERSION = "0.1.4";
|
|
17
18
|
export function buildProgram() {
|
|
18
19
|
const program = new Command();
|
|
19
20
|
program
|
|
@@ -39,6 +40,7 @@ export function buildProgram() {
|
|
|
39
40
|
registerQueriesCommands(program);
|
|
40
41
|
registerWidgetsCommands(program);
|
|
41
42
|
registerDiscoveryCommands(program);
|
|
43
|
+
registerSkillsCommands(program);
|
|
42
44
|
return program;
|
|
43
45
|
}
|
|
44
46
|
//# sourceMappingURL=program.js.map
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,KAAK,CAAC;SACX,WAAW,CAAC,uBAAuB,CAAC;SACpC,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,mBAAmB,EAAE,0CAA0C,CAAC;SACvE,MAAM,CAAC,YAAY,EAAE,mCAAmC,CAAC;SACzD,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;IAEpD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;QAC7B,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACrC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,yBAAyB,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,KAAK,CAAC;SACX,WAAW,CAAC,uBAAuB,CAAC;SACpC,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,mBAAmB,EAAE,0CAA0C,CAAC;SACvE,MAAM,CAAC,YAAY,EAAE,mCAAmC,CAAC;SACzD,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;IAEpD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;QAC7B,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACrC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEhC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|