@shipeasy/openapi 2.2.0 → 2.4.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 (52) hide show
  1. package/dist/{chunk-643YSMLU.js → chunk-4QSU744W.js} +183 -1
  2. package/dist/chunk-4QSU744W.js.map +1 -0
  3. package/dist/{chunk-MRW3DJ57.js → chunk-ZPKHTUVV.js} +1238 -335
  4. package/dist/chunk-ZPKHTUVV.js.map +1 -0
  5. package/dist/{client-K0ShmsC7.d.ts → client-WGNXT4xl.d.ts} +5818 -2647
  6. package/dist/client.d.ts +1 -1
  7. package/dist/client.js +51 -1
  8. package/dist/custom.js +4 -4
  9. package/dist/custom.js.map +1 -1
  10. package/dist/index.d.ts +2 -2
  11. package/dist/index.js +52 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/schemas.d.ts +3538 -534
  14. package/dist/schemas.js +253 -5
  15. package/openapi.json +12914 -7158
  16. package/openapi.yaml +7672 -3742
  17. package/package.json +1 -1
  18. package/spec/components/errors.yaml +33 -1
  19. package/spec/components/schemas/alerts.yaml +138 -0
  20. package/spec/components/schemas/attributes.yaml +53 -3
  21. package/spec/components/schemas/common.yaml +16 -0
  22. package/spec/components/schemas/configs.yaml +58 -0
  23. package/spec/components/schemas/connectors.yaml +5 -1
  24. package/spec/components/schemas/errors-api.yaml +116 -6
  25. package/spec/components/schemas/experiment-api-row.yaml +293 -0
  26. package/spec/components/schemas/experiments.yaml +395 -380
  27. package/spec/components/schemas/gates.yaml +355 -272
  28. package/spec/components/schemas/i18n.yaml +169 -40
  29. package/spec/components/schemas/keys.yaml +2 -1
  30. package/spec/components/schemas/killswitches.yaml +36 -0
  31. package/spec/components/schemas/metrics.yaml +200 -23
  32. package/spec/components/schemas/ops.yaml +918 -29
  33. package/spec/components/schemas/projects.yaml +246 -2
  34. package/spec/components/schemas/universes.yaml +83 -1
  35. package/spec/openapi.yaml +61 -0
  36. package/spec/paths/alert-rules.yaml +1 -0
  37. package/spec/paths/alerts.yaml +184 -0
  38. package/spec/paths/attributes.yaml +23 -5
  39. package/spec/paths/configs.yaml +71 -0
  40. package/spec/paths/errors.yaml +112 -2
  41. package/spec/paths/events.yaml +1 -0
  42. package/spec/paths/experiments.yaml +244 -16
  43. package/spec/paths/gates.yaml +138 -0
  44. package/spec/paths/i18n.yaml +290 -6
  45. package/spec/paths/keys.yaml +1 -0
  46. package/spec/paths/killswitches.yaml +7 -0
  47. package/spec/paths/metrics.yaml +187 -0
  48. package/spec/paths/ops.yaml +410 -0
  49. package/spec/paths/projects.yaml +62 -2
  50. package/spec/paths/universes.yaml +1 -0
  51. package/dist/chunk-643YSMLU.js.map +0 -1
  52. package/dist/chunk-MRW3DJ57.js.map +0 -1
package/dist/client.d.ts CHANGED
@@ -1 +1 @@
1
- export { i as Client, k as Config, m as ConfigureOptions, L as CreateClientConfig, gM as Options, hh as RequestResult, kA as approveEvent, kB as client, kC as configure, kD as createAlertRule, kE as createAttribute, kF as createClient, kG as createClientConfig, kH as createConfig, kI as createConnector, kJ as createEvent, kK as createExperiment, kL as createGate, kM as createGateTemplate, kN as createI18nDraft, kO as createI18nProfile, kP as createKey, kQ as createKillswitch, kR as createMetric, kS as createOpsItem, kT as createTriggerConnector, kU as createUniverse, kV as deleteAlertRule, kW as deleteAttribute, kX as deleteConfig, kY as deleteConnector, kZ as deleteEvent, k_ as deleteExperiment, k$ as deleteGate, l0 as deleteGateTemplate, l1 as deleteKillswitch, l2 as deleteMetric, l3 as deleteUniverse, l4 as disableGate, l5 as discardConfigDraft, l6 as enableGate, l7 as fileErrorTicket, l8 as fireConnector, l9 as getAttribute, la as getConfig, lb as getConnector, lc as getCurrentProject, ld as getError, le as getErrorSeries, lf as getEvent, lg as getExperiment, lh as getExperimentResults, li as getExperimentTimeseries, lj as getGateTemplate, lk as getKillswitch, ll as getMetric, lm as getOpsItem, ln as linkPrToOpsItem, lo as listAlertRules, lp as listAttributes, lq as listConfigActivity, lr as listConfigs, ls as listConnectors, lt as listErrors, lu as listEvents, lv as listExperiments, lw as listGateTemplates, lx as listGates, ly as listI18nDrafts, lz as listI18nKeys, lA as listI18nProfiles, lB as listKeys, lC as listKillswitches, lD as listMetrics, lE as listOpsItems, lF as listSlackChannels, lG as listUniverses, lH as notifyOps, lI as publishConfigDraft, lJ as publishI18nProfile, lK as pushI18nKeys, lL as reanalyzeExperiment, lM as revokeKey, lN as saveConfigDraft, lO as searchResources, lP as setExperimentMetrics, lQ as setExperimentStatus, lR as setI18nLabel, lS as setKillswitchSwitch, lT as setKillswitchValue, lU as testConnector, lV as unsetKillswitchSwitch, lW as updateAlertRule, lX as updateAttribute, lY as updateConfig, lZ as updateConfigSchema, l_ as updateConnector, l$ as updateErrorStatus, m0 as updateEvent, m1 as updateExperiment, m2 as updateGate, m3 as updateGateTemplate, m4 as updateI18nDraft, m5 as updateI18nKey, m6 as updateKillswitch, m7 as updateMetric, m8 as updateOpsItem, m9 as updateProject, ma as updateTriggerConnector, mb as updateUniverse, mc as upsertProject } from './client-K0ShmsC7.js';
1
+ export { q as Client, s as Config, u as ConfigureOptions, T as CreateClientConfig, iU as Options, jp as RequestResult, na as ackOpsItem, nb as approveEvent, nc as client, nd as configure, ne as createAlertRule, nf as createAttribute, ng as createClient, nh as createClientConfig, ni as createConfig, nj as createConnector, nk as createEvent, nl as createExperiment, nm as createExperimentReadout, nn as createGate, no as createGateTemplate, np as createI18nDraft, nq as createI18nProfile, nr as createKey, ns as createKillswitch, nt as createMetric, nu as createOpsComment, nv as createOpsInvestigation, nw as createOpsItem, nx as createTriggerConnector, ny as createUniverse, nz as deleteAlertRule, nA as deleteAttribute, nB as deleteConfig, nC as deleteConnector, nD as deleteEvent, nE as deleteExperiment, nF as deleteGate, nG as deleteGateTemplate, nH as deleteI18nDraft, nI as deleteI18nKey, nJ as deleteI18nProfile, nK as deleteKillswitch, nL as deleteMetric, nM as deleteOpsItem, nN as deleteUniverse, nO as disableGate, nP as discardConfigDraft, nQ as enableGate, nR as fileErrorTicket, nS as fireConnector, nT as getAttribute, nU as getConfig, nV as getConnector, nW as getCurrentProject, nX as getError, nY as getErrorSeries, nZ as getEvent, n_ as getExperiment, n$ as getExperimentReadout, o0 as getExperimentResults, o1 as getExperimentTimeseries, o2 as getGate, o3 as getGateTemplate, o4 as getKillswitch, o5 as getMetric, o6 as getMetricSeries, o7 as getOpsItem, o8 as getProject, o9 as linkPrToOpsItem, oa as listAlertRules, ob as listAlerts, oc as listAttributes, od as listConfigActivity, oe as listConfigVersions, of as listConfigs, og as listConnectors, oh as listErrors, oi as listEvents, oj as listExperiments, ok as listGateActivity, ol as listGateTemplates, om as listGates, on as listI18nDraftKeys, oo as listI18nDrafts, op as listI18nKeys, oq as listI18nProfiles, or as listKeys, os as listKillswitches, ot as listMetricExperiments, ou as listMetrics, ov as listOpsAgents, ow as listOpsComments, ox as listOpsInvestigations, oy as listOpsItems, oz as listSlackChannels, oA as listUniverses, oB as notifyOps, oC as publishConfigDraft, oD as publishI18nProfile, oE as pushI18nKeys, oF as reanalyzeExperiment, oG as resolveError, oH as revokeKey, oI as saveConfigDraft, oJ as searchResources, oK as setExperimentMetrics, oL as setExperimentStatus, oM as setI18nLabel, oN as setKillswitchSwitch, oO as setKillswitchValue, oP as testConnector, oQ as unarchiveMetric, oR as unsetKillswitchSwitch, oS as updateAlert, oT as updateAlertRule, oU as updateAttribute, oV as updateConfig, oW as updateConfigSchema, oX as updateConnector, oY as updateErrorStatus, oZ as updateEvent, o_ as updateExperiment, o$ as updateGate, p0 as updateGateTemplate, p1 as updateI18nDraft, p2 as updateI18nKey, p3 as updateKillswitch, p4 as updateMetric, p5 as updateOpsItem, p6 as updateProject, p7 as updateTriggerConnector, p8 as updateUniverse, p9 as upsertI18nDraftKey, pa as upsertI18nKeys, pb as upsertProject } from './client-WGNXT4xl.js';
package/dist/client.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import {
2
+ ackOpsItem,
2
3
  approveEvent,
3
4
  client,
4
5
  configure,
@@ -10,6 +11,7 @@ import {
10
11
  createConnector,
11
12
  createEvent,
12
13
  createExperiment,
14
+ createExperimentReadout,
13
15
  createGate,
14
16
  createGateTemplate,
15
17
  createI18nDraft,
@@ -17,6 +19,8 @@ import {
17
19
  createKey,
18
20
  createKillswitch,
19
21
  createMetric,
22
+ createOpsComment,
23
+ createOpsInvestigation,
20
24
  createOpsItem,
21
25
  createTriggerConnector,
22
26
  createUniverse,
@@ -28,8 +32,12 @@ import {
28
32
  deleteExperiment,
29
33
  deleteGate,
30
34
  deleteGateTemplate,
35
+ deleteI18nDraft,
36
+ deleteI18nKey,
37
+ deleteI18nProfile,
31
38
  deleteKillswitch,
32
39
  deleteMetric,
40
+ deleteOpsItem,
33
41
  deleteUniverse,
34
42
  disableGate,
35
43
  discardConfigDraft,
@@ -44,29 +52,41 @@ import {
44
52
  getErrorSeries,
45
53
  getEvent,
46
54
  getExperiment,
55
+ getExperimentReadout,
47
56
  getExperimentResults,
48
57
  getExperimentTimeseries,
58
+ getGate,
49
59
  getGateTemplate,
50
60
  getKillswitch,
51
61
  getMetric,
62
+ getMetricSeries,
52
63
  getOpsItem,
64
+ getProject,
53
65
  linkPrToOpsItem,
54
66
  listAlertRules,
67
+ listAlerts,
55
68
  listAttributes,
56
69
  listConfigActivity,
70
+ listConfigVersions,
57
71
  listConfigs,
58
72
  listConnectors,
59
73
  listErrors,
60
74
  listEvents,
61
75
  listExperiments,
76
+ listGateActivity,
62
77
  listGateTemplates,
63
78
  listGates,
79
+ listI18nDraftKeys,
64
80
  listI18nDrafts,
65
81
  listI18nKeys,
66
82
  listI18nProfiles,
67
83
  listKeys,
68
84
  listKillswitches,
85
+ listMetricExperiments,
69
86
  listMetrics,
87
+ listOpsAgents,
88
+ listOpsComments,
89
+ listOpsInvestigations,
70
90
  listOpsItems,
71
91
  listSlackChannels,
72
92
  listUniverses,
@@ -75,6 +95,7 @@ import {
75
95
  publishI18nProfile,
76
96
  pushI18nKeys,
77
97
  reanalyzeExperiment,
98
+ resolveError,
78
99
  revokeKey,
79
100
  saveConfigDraft,
80
101
  searchResources,
@@ -84,7 +105,9 @@ import {
84
105
  setKillswitchSwitch,
85
106
  setKillswitchValue,
86
107
  testConnector,
108
+ unarchiveMetric,
87
109
  unsetKillswitchSwitch,
110
+ updateAlert,
88
111
  updateAlertRule,
89
112
  updateAttribute,
90
113
  updateConfig,
@@ -103,9 +126,12 @@ import {
103
126
  updateProject,
104
127
  updateTriggerConnector,
105
128
  updateUniverse,
129
+ upsertI18nDraftKey,
130
+ upsertI18nKeys,
106
131
  upsertProject
107
- } from "./chunk-643YSMLU.js";
132
+ } from "./chunk-4QSU744W.js";
108
133
  export {
134
+ ackOpsItem,
109
135
  approveEvent,
110
136
  client,
111
137
  configure,
@@ -117,6 +143,7 @@ export {
117
143
  createConnector,
118
144
  createEvent,
119
145
  createExperiment,
146
+ createExperimentReadout,
120
147
  createGate,
121
148
  createGateTemplate,
122
149
  createI18nDraft,
@@ -124,6 +151,8 @@ export {
124
151
  createKey,
125
152
  createKillswitch,
126
153
  createMetric,
154
+ createOpsComment,
155
+ createOpsInvestigation,
127
156
  createOpsItem,
128
157
  createTriggerConnector,
129
158
  createUniverse,
@@ -135,8 +164,12 @@ export {
135
164
  deleteExperiment,
136
165
  deleteGate,
137
166
  deleteGateTemplate,
167
+ deleteI18nDraft,
168
+ deleteI18nKey,
169
+ deleteI18nProfile,
138
170
  deleteKillswitch,
139
171
  deleteMetric,
172
+ deleteOpsItem,
140
173
  deleteUniverse,
141
174
  disableGate,
142
175
  discardConfigDraft,
@@ -151,29 +184,41 @@ export {
151
184
  getErrorSeries,
152
185
  getEvent,
153
186
  getExperiment,
187
+ getExperimentReadout,
154
188
  getExperimentResults,
155
189
  getExperimentTimeseries,
190
+ getGate,
156
191
  getGateTemplate,
157
192
  getKillswitch,
158
193
  getMetric,
194
+ getMetricSeries,
159
195
  getOpsItem,
196
+ getProject,
160
197
  linkPrToOpsItem,
161
198
  listAlertRules,
199
+ listAlerts,
162
200
  listAttributes,
163
201
  listConfigActivity,
202
+ listConfigVersions,
164
203
  listConfigs,
165
204
  listConnectors,
166
205
  listErrors,
167
206
  listEvents,
168
207
  listExperiments,
208
+ listGateActivity,
169
209
  listGateTemplates,
170
210
  listGates,
211
+ listI18nDraftKeys,
171
212
  listI18nDrafts,
172
213
  listI18nKeys,
173
214
  listI18nProfiles,
174
215
  listKeys,
175
216
  listKillswitches,
217
+ listMetricExperiments,
176
218
  listMetrics,
219
+ listOpsAgents,
220
+ listOpsComments,
221
+ listOpsInvestigations,
177
222
  listOpsItems,
178
223
  listSlackChannels,
179
224
  listUniverses,
@@ -182,6 +227,7 @@ export {
182
227
  publishI18nProfile,
183
228
  pushI18nKeys,
184
229
  reanalyzeExperiment,
230
+ resolveError,
185
231
  revokeKey,
186
232
  saveConfigDraft,
187
233
  searchResources,
@@ -191,7 +237,9 @@ export {
191
237
  setKillswitchSwitch,
192
238
  setKillswitchValue,
193
239
  testConnector,
240
+ unarchiveMetric,
194
241
  unsetKillswitchSwitch,
242
+ updateAlert,
195
243
  updateAlertRule,
196
244
  updateAttribute,
197
245
  updateConfig,
@@ -210,6 +258,8 @@ export {
210
258
  updateProject,
211
259
  updateTriggerConnector,
212
260
  updateUniverse,
261
+ upsertI18nDraftKey,
262
+ upsertI18nKeys,
213
263
  upsertProject
214
264
  };
215
265
  //# sourceMappingURL=client.js.map
package/dist/custom.js CHANGED
@@ -134,10 +134,10 @@ var opId = (op) => [...op.group, op.name].join(".");
134
134
 
135
135
  // src/custom/docs.ts
136
136
  var SDK_REPOS = {
137
- typescript: { owner: "shipeasy-ai", repo: "sdk" },
138
- javascript: { owner: "shipeasy-ai", repo: "sdk" },
139
- node: { owner: "shipeasy-ai", repo: "sdk" },
140
- ts: { owner: "shipeasy-ai", repo: "sdk" },
137
+ typescript: { owner: "shipeasy-ai", repo: "sdk-ts" },
138
+ javascript: { owner: "shipeasy-ai", repo: "sdk-ts" },
139
+ node: { owner: "shipeasy-ai", repo: "sdk-ts" },
140
+ ts: { owner: "shipeasy-ai", repo: "sdk-ts" },
141
141
  python: { owner: "shipeasy-ai", repo: "sdk-python" },
142
142
  go: { owner: "shipeasy-ai", repo: "sdk-go" },
143
143
  java: { owner: "shipeasy-ai", repo: "sdk-java" },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/custom/grammar.ts","../src/custom/types.ts","../src/custom/docs.ts","../src/custom/index.ts"],"sourcesContent":["import type { CustomOp } from \"./types.js\";\n\n/**\n * The Shipeasy metric query DSL grammar — printed by `shipeasy metrics grammar`\n * / the `metrics_grammar` MCP tool.\n *\n * This is the one-stop reference for both humans and AI agents that need to\n * author a `metrics create --query \"...\"` string. It is intentionally\n * self-contained: the formal grammar (precise, for machine parsing), a full\n * aggregation reference (semantics + value-label rules + experiment behaviour),\n * the selector/filter/group-by rules, hard constraints, and glossed examples.\n * Keep it in sync with the parser (`cli/src/query-dsl/parse.ts`) and the IR\n * (`cli/src/query-dsl/ir.ts`) — they are the source of truth for semantics.\n */\nexport const METRIC_GRAMMAR = `SHIPEASY METRIC QUERY DSL\n=========================\n\nA metric is ONE aggregation over ONE event stream. This DSL is the string you\npass to \\`metrics create --query \"...\"\\` (equivalently the typed \\`query_ir\\`).\nThere is no arithmetic, no formulas across events, no subqueries — one event\nselector, one aggregation, an optional group-by.\n\n\nGRAMMAR (BNF)\n-------------\n Query := AggFunc \"(\" Selector (\",\" Identifier)? \")\" GroupBy?\n AggFunc := \"count_users\" | \"count\" | \"sum\" | \"avg\" | \"min\" | \"max\"\n | \"unique\" | \"p50\" | \"p75\" | \"p90\" | \"p95\" | \"p99\" | \"p999\"\n | \"retention_\" <N> \"d\" (N = 1..90)\n Selector := Identifier (\"{\" Filter (\",\" Filter)* \",\"? \"}\")?\n Filter := Identifier MatchOp StringLiteral\n MatchOp := \"=\" | \"!=\" | \"=~\" | \"!~\"\n GroupBy := (\"by\" | \"without\") \"(\" Identifier (\",\" Identifier)* \",\"? \")\"\n StringLiteral := double-quoted; \\\\\" is a literal quote, \\\\\\\\ is a backslash\n Identifier := [A-Za-z_][A-Za-z0-9_]* (case-sensitive)\n\n The trailing Identifier after the selector — \"(\" Selector \",\" Identifier \")\" —\n is the VALUE LABEL: the numeric event label the aggregation reduces. Whether it\n is required, optional, or forbidden depends on the aggregation (see below).\n\n\nAGGREGATIONS\n------------\n Function Value label Meaning In experiments\n -------------- ------------ ------------------------------ ---------------\n count_users forbidden distinct users who fired it exact\n count forbidden number of events (rows) exact\n sum(e, v) required Σ of numeric label v exact\n avg(e, v) required mean of label v exact\n retention_Nd(e) forbidden % of users who returned exact\n within N days (N = 1..90)\n min(e, v) required minimum of label v approx → avg *\n max(e, v) required maximum of label v approx → avg *\n unique(e, v) required distinct values of label v approx → avg *\n p50 … p999(e,v) required quantile of v (50/75/90/ approx → avg *\n 95/99/99.9th percentile)\n\n * Display-only aggregations. The experiment t-test needs a per-user mean and\n variance, so min/max/unique/quantile are computed exactly on dashboards but\n collapse to a per-user \\`avg\\` when used as an experiment metric. If you need\n an exact experiment metric, pick count_users / count / sum / avg / retention.\n\n \"count\" is the DSL spelling of the internal count_events (one per matching\n row); \"count_users\" is unique-by-user. Getting these two confused is the most\n common mistake — count double-counts a user who fired the event twice.\n\n\nSELECTOR & FILTERS\n------------------\n The selector is the event name plus an optional \\`{ ... }\\` filter set that\n narrows which events count. Each filter compares an event LABEL to a quoted\n string:\n\n = equal != not equal\n =~ regex match !~ regex NOT match\n\n - Values are ALWAYS double-quoted strings, even for numeric labels — they are\n coerced on the server (\\`amount=~\"^1[0-9]$\"\\`, \\`status=\"200\"\\`).\n - Multiple filters are AND-ed: \\`{country=\"US\", tier!=\"free\"}\\`.\n - Every filter label AND the value label must be a label DECLARED on the source\n event. Undeclared labels are a validation error, not a silent no-match.\n\n\nGROUP-BY\n--------\n Splits the result into one series per label combination.\n by (a, b) one series per distinct (a, b) — keep only these labels\n without (a, b) group by all declared labels EXCEPT a, b\n\n NOTE: group-by is a DASHBOARD-only feature. In an experiment the group-by is\n ignored — a per-user reducer is applied across the whole arm instead.\n\n\nNOT SUPPORTED (will fail to parse)\n----------------------------------\n - arithmetic / ratios / formulas: \\`count(a) / count(b)\\`\n - more than one event per query\n - arbitrary quantiles (only the fixed p50/p75/p90/p95/p99/p999)\n - unquoted or numeric filter values: \\`{status=200}\\` → must be \\`\"200\"\\`\n - trailing tokens after the query\n\n\nEXAMPLES (query — what it measures)\n--------------------------------------\n count_users(checkout_completed)\n distinct users who completed checkout.\n\n count(add_to_cart{country=\"US\"})\n number of US add-to-cart events (a user can count many times).\n\n sum(purchase{country=\"US\"}, amount)\n total purchase amount from US purchase events.\n\n avg(req_dur{tier!=\"free\"}, ms) without (region)\n mean request duration for non-free tiers, one series per region-excluded\n label combination.\n\n p99(req_dur{route=~\"/api/.*\"}, ms) by (route, status)\n 99th-percentile latency of /api/* requests, split by route and status.\n\n unique(login{method=\"sso\"}, device_id)\n distinct SSO devices seen (display-only; an experiment would use per-user avg).\n\n retention_7d(session_start)\n share of users who started a new session within 7 days.\n`;\n\nexport const grammarOp: CustomOp = {\n group: [\"metrics\"],\n name: \"grammar\",\n summary: \"Print the metric query DSL grammar\",\n description:\n \"Print the full metric query DSL reference — grammar, aggregation semantics, \" +\n \"filter/group-by rules, and glossed examples — used to author `metrics create --query`.\",\n params: [],\n examples: [{ run: \"shipeasy metrics grammar\" }],\n run: () => ({ grammar: METRIC_GRAMMAR }),\n};\n","/**\n * The custom-operations registry — hand-written operations that are NOT admin\n * API endpoints (so they can't be generated from the spec): the metric-DSL\n * grammar (pure) and the SDK-docs fetcher (outbound `fetch` to GitHub Pages).\n *\n * It mirrors the old operations registry in spirit, but is deliberately tiny and\n * framework-agnostic: each `CustomOp` carries its command path, params, and a\n * self-contained `run`. Both consumers project it with a thin adapter — the CLI\n * (`commands/custom.ts`) and, later, the MCP server — so the surface stays in\n * sync across them. `run` never touches the filesystem, so it's worker-safe.\n */\nexport type CustomParamType = \"string\" | \"number\" | \"boolean\";\n\nexport interface CustomParam {\n name: string;\n type: CustomParamType;\n description?: string;\n required?: boolean;\n /** Render as a positional CLI argument (vs a `--flag`). */\n positional?: boolean;\n enum?: string[];\n}\n\nexport interface CustomOp {\n /** Command path, e.g. `[\"docs\"]` → `shipeasy docs <name>`, `[\"metrics\"]` → `metrics <name>`. */\n group: string[];\n /** Verb. */\n name: string;\n summary: string;\n description?: string;\n params: CustomParam[];\n examples?: { note?: string; run: string }[];\n /** Self-contained handler. `args` are the coerced param values. */\n run: (args: Record<string, unknown>) => Promise<unknown> | unknown;\n}\n\n/**\n * Group-level help for a custom-op command group (e.g. `docs`). Mirrors what an\n * OpenAPI tag carries for the generated tree — a short `summary` (shown in the\n * parent `--help` list) and a long `description` (shown on the group's own\n * `--help`). Consumers look this up by `group` path when creating the group so a\n * custom group reads as richly as a spec-backed one, instead of the bare\n * `\"<name> commands\"` fallback.\n */\nexport interface CustomGroup {\n /** Group path, e.g. `[\"docs\"]`. */\n group: string[];\n summary: string;\n description?: string;\n aliases?: string[];\n}\n\n/** Thrown by a custom op for a user-facing error with an HTTP-ish status. */\nexport class CustomOpError extends Error {\n constructor(\n message: string,\n public status = 400,\n ) {\n super(message);\n this.name = \"CustomOpError\";\n }\n}\n\nexport const opId = (op: CustomOp): string => [...op.group, op.name].join(\".\");\n","import { type CustomOp, CustomOpError } from \"./types.js\";\n\n/**\n * SDK-docs operations — `docs list/get/skill`. A generic fetcher over each SDK\n * repo's `/docs/` folder published to plain GitHub Pages (latest only, no\n * backend, no version arg). The `run`s do outbound `fetch` (worker-safe — not\n * the fs/AST boundary) and fall back to a built-in default doc set for repos\n * that haven't adopted the doc standard yet.\n */\nconst SDK_REPOS: Record<string, { owner: string; repo: string }> = {\n typescript: { owner: \"shipeasy-ai\", repo: \"sdk\" },\n javascript: { owner: \"shipeasy-ai\", repo: \"sdk\" },\n node: { owner: \"shipeasy-ai\", repo: \"sdk\" },\n ts: { owner: \"shipeasy-ai\", repo: \"sdk\" },\n python: { owner: \"shipeasy-ai\", repo: \"sdk-python\" },\n go: { owner: \"shipeasy-ai\", repo: \"sdk-go\" },\n java: { owner: \"shipeasy-ai\", repo: \"sdk-java\" },\n kotlin: { owner: \"shipeasy-ai\", repo: \"sdk-kotlin\" },\n php: { owner: \"shipeasy-ai\", repo: \"sdk-php\" },\n swift: { owner: \"shipeasy-ai\", repo: \"sdk-swift\" },\n ruby: { owner: \"shipeasy-ai\", repo: \"sdk-ruby\" },\n};\nconst SDK_ENUM = Object.keys(SDK_REPOS);\n\ninterface DocManifest {\n schemaVersion: number;\n sdk: string;\n placeholders?: string[];\n skill?: string;\n pages?: Record<string, string>;\n snippets?: Record<string, Record<string, string>>;\n}\n\nconst DEFAULT_MANIFEST: DocManifest = {\n schemaVersion: 2,\n sdk: \"default\",\n placeholders: [\"RESOURCE_NAME\"],\n skill: \"skill/SKILL.md\",\n pages: { overview: \"pages/overview.md\", installation: \"pages/installation.md\" },\n snippets: { release: { flags: \"snippets/release/flags.md\" } },\n};\nconst DEFAULT_CONTENT: Record<string, string> = {\n \"pages/overview.md\":\n \"# Shipeasy SDK\\n\\nThis SDK has not published its `/docs/` folder yet. See https://docs.shipeasy.ai for the full reference.\",\n \"pages/installation.md\":\n \"# Installation\\n\\nInstall the Shipeasy SDK for your language, then call `shipeasy({ serverKey })` (server) or `shipeasy({ clientKey })` (browser).\",\n \"snippets/release/flags.md\": \"```\\nconst on = await client.checkGate(user, '{{RESOURCE_NAME}}');\\n```\",\n \"skill/SKILL.md\":\n \"---\\nname: shipeasy-sdk\\ndescription: Use the Shipeasy SDK for flags, experiments, configs, and i18n.\\n---\\n\\nThis SDK has not published a skill yet. See https://docs.shipeasy.ai.\",\n};\n\n/**\n * Resolve the caller-supplied `sdk`. The adapters (CLI/MCP) default it from the\n * nearest `.shipeasy` before we get here, so an empty value means neither a flag\n * nor a bound project supplied one — surface that explicitly.\n */\nfunction requireSdk(sdk: unknown): string {\n const s = typeof sdk === \"string\" ? sdk.trim() : \"\";\n if (!s)\n throw new CustomOpError(\n `No SDK given and none recorded in .shipeasy. Pass --sdk <lang> (one of: ${SDK_ENUM.join(\", \")}), ` +\n `or run \\`shipeasy detect\\` in the project to record its sdk.`,\n 400,\n );\n return s;\n}\nfunction repoFor(sdk: string): { owner: string; repo: string } {\n const r = SDK_REPOS[sdk.toLowerCase()];\n if (!r) throw new CustomOpError(`Unknown SDK '${sdk}'. One of: ${SDK_ENUM.join(\", \")}`, 400);\n return r;\n}\nfunction pagesBase(sdk: string): string {\n const { owner, repo } = repoFor(sdk);\n return `https://${owner}.github.io/${repo}`;\n}\nasync function fetchText(url: string): Promise<string | null> {\n const res = await fetch(url);\n if (!res.ok) return null;\n return res.text();\n}\nasync function loadManifest(sdk: string): Promise<{ manifest: DocManifest; fallback: boolean }> {\n const text = await fetchText(`${pagesBase(sdk)}/manifest.json`);\n if (!text) return { manifest: DEFAULT_MANIFEST, fallback: true };\n try {\n return { manifest: JSON.parse(text) as DocManifest, fallback: false };\n } catch {\n return { manifest: DEFAULT_MANIFEST, fallback: true };\n }\n}\nfunction resolvePath(manifest: DocManifest, handle: string): string {\n if (handle.endsWith(\".md\")) return handle;\n if (manifest.pages?.[handle]) return manifest.pages[handle];\n if (handle.includes(\"/\")) {\n const [group, resource] = handle.split(\"/\", 2);\n const p = manifest.snippets?.[group]?.[resource];\n if (p) return p;\n }\n throw new CustomOpError(\n `Doc '${handle}' not found. Run 'docs list --sdk <lang>' to see available pages and snippets.`,\n 404,\n );\n}\nfunction substitute(body: string, manifest: DocManifest, args: Record<string, unknown>): string {\n let out = body;\n for (const ph of manifest.placeholders ?? []) {\n const value =\n (args[ph] as string | undefined) ??\n (ph === \"RESOURCE_NAME\" ? (args.name as string | undefined) : undefined) ??\n (ph === \"FRAMEWORK\" ? (args.framework as string | undefined) : undefined);\n if (value !== undefined) out = out.replaceAll(`{{${ph}}}`, value);\n }\n return out;\n}\n\nexport const docsOps: CustomOp[] = [\n {\n group: [\"docs\"],\n name: \"list\",\n summary: \"List an SDK's documentation tree\",\n description:\n \"Fetch an SDK's `/docs/manifest.json` and return the doc tree — feature pages, nested snippet groups, and whether an installable skill exists.\",\n params: [{ name: \"sdk\", type: \"string\", description: \"SDK language. Defaults to the `sdk` recorded in the nearest `.shipeasy` when omitted.\", required: false, enum: SDK_ENUM }],\n examples: [{ run: \"shipeasy docs list --sdk python\" }],\n run: async (args) => {\n const sdk = requireSdk(args.sdk);\n const { manifest, fallback } = await loadManifest(sdk);\n return {\n sdk,\n fallback,\n pages: Object.keys(manifest.pages ?? {}),\n snippets: Object.fromEntries(\n Object.entries(manifest.snippets ?? {}).map(([g, r]) => [g, Object.keys(r)]),\n ),\n skill: Boolean(manifest.skill),\n };\n },\n },\n {\n group: [\"docs\"],\n name: \"get\",\n summary: \"Fetch one SDK doc page or snippet\",\n description:\n \"Fetch one feature page (`flags`, `experiments`, …) or nested snippet (`release/experiments`, …), substituting declared {{placeholders}} from caller args.\",\n params: [\n { name: \"sdk\", type: \"string\", description: \"SDK language. Defaults to the `sdk` recorded in the nearest `.shipeasy` when omitted.\", required: false, enum: SDK_ENUM },\n { name: \"path\", type: \"string\", description: \"Page key or snippet 'group/resource'.\", required: true, positional: true },\n { name: \"framework\", type: \"string\", description: \"Framework hint (substitutes {{FRAMEWORK}}).\" },\n { name: \"name\", type: \"string\", description: \"Resource name (substitutes {{RESOURCE_NAME}}).\" },\n ],\n examples: [\n { note: \"A feature page\", run: \"shipeasy docs get --sdk python experiments\" },\n { note: \"A nested snippet\", run: \"shipeasy docs get --sdk typescript release/flags --name checkout_v2\" },\n ],\n run: async (args) => {\n const sdk = requireSdk(args.sdk);\n const { manifest, fallback } = await loadManifest(sdk);\n const path = resolvePath(manifest, args.path as string);\n const body = fallback ? DEFAULT_CONTENT[path] : ((await fetchText(`${pagesBase(sdk)}/${path}`)) ?? undefined);\n if (body === undefined) throw new CustomOpError(`Doc '${path}' could not be fetched for '${sdk}'.`, 404);\n return { sdk, path, fallback, content: substitute(body, manifest, args) };\n },\n },\n {\n group: [\"docs\"],\n name: \"skill\",\n summary: \"Fetch an SDK's installable LLM skill\",\n description:\n \"Fetch the SDK's `skill/SKILL.md` (frontmatter intact) so an agent can install it verbatim. The CLI `--install` writes it locally (a consumer fs side-effect).\",\n params: [\n { name: \"sdk\", type: \"string\", description: \"SDK language. Defaults to the `sdk` recorded in the nearest `.shipeasy` when omitted.\", required: false, enum: SDK_ENUM },\n { name: \"install\", type: \"boolean\", description: \"CLI only: write the skill to the local agent skills dir.\" },\n ],\n examples: [{ run: \"shipeasy docs skill --sdk python\" }],\n run: async (args) => {\n const sdk = requireSdk(args.sdk);\n const { manifest, fallback } = await loadManifest(sdk);\n const skillPath = manifest.skill ?? \"skill/SKILL.md\";\n const content = fallback ? DEFAULT_CONTENT[skillPath] : ((await fetchText(`${pagesBase(sdk)}/${skillPath}`)) ?? undefined);\n if (content === undefined) throw new CustomOpError(`No skill published for '${sdk}'.`, 404);\n return { sdk, skillPath, fallback, content };\n },\n },\n];\n","import { grammarOp } from \"./grammar.js\";\nimport { docsOps } from \"./docs.js\";\nimport type { CustomOp, CustomGroup } from \"./types.js\";\n\nexport type { CustomOp, CustomGroup, CustomParam, CustomParamType } from \"./types.js\";\nexport { CustomOpError, opId } from \"./types.js\";\nexport { METRIC_GRAMMAR } from \"./grammar.js\";\n\n/**\n * Every custom (non-spec) operation, in surface order. The CLI and MCP each\n * project this with a thin adapter so the sugar commands stay in sync.\n */\nexport const customOperations: CustomOp[] = [grammarOp, ...docsOps];\n\n/**\n * Group-level help for custom-op groups that aren't backed by an OpenAPI tag.\n * `metrics` is a spec tag (its group is created — and described — by the\n * generated tree), so only `docs` needs an entry here; without it the CLI would\n * label the group the bare `\"docs commands\"`.\n */\nexport const customGroups: CustomGroup[] = [\n {\n group: [\"docs\"],\n summary:\n \"SDK docs: fetch a language SDK's published docs — its page tree, feature pages, code snippets, and installable agent skill.\",\n description:\n \"SDK docs — a read-only fetcher over each language SDK's `/docs/` folder, \" +\n \"published to plain GitHub Pages (latest only; no backend, no version arg). \" +\n \"Point it at an SDK with `--sdk <lang>` (one of: typescript, python, go, \" +\n \"java, kotlin, php, swift, ruby) or let it default to the `sdk` recorded in \" +\n \"the nearest `.shipeasy`.\\n\\n\" +\n \"**Commands.**\\n\" +\n \"- `list` — the SDK's doc tree: feature pages, nested snippet groups, and whether an installable skill exists.\\n\" +\n \"- `get <path>` — one feature page (`flags`, `experiments`, …) or nested snippet (`release/flags`), with `{{placeholders}}` substituted from `--name`/`--framework`.\\n\" +\n \"- `skill` — the SDK's installable LLM skill (`SKILL.md`); `--install` writes it into your agent's skills dir.\\n\\n\" +\n \"SDKs that haven't adopted the doc standard yet fall back to a built-in \" +\n \"default doc set, flagged `fallback: true` in the output.\",\n },\n];\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/custom/grammar.ts","../src/custom/types.ts","../src/custom/docs.ts","../src/custom/index.ts"],"sourcesContent":["import type { CustomOp } from \"./types.js\";\n\n/**\n * The Shipeasy metric query DSL grammar — printed by `shipeasy metrics grammar`\n * / the `metrics_grammar` MCP tool.\n *\n * This is the one-stop reference for both humans and AI agents that need to\n * author a `metrics create --query \"...\"` string. It is intentionally\n * self-contained: the formal grammar (precise, for machine parsing), a full\n * aggregation reference (semantics + value-label rules + experiment behaviour),\n * the selector/filter/group-by rules, hard constraints, and glossed examples.\n * Keep it in sync with the parser (`cli/src/query-dsl/parse.ts`) and the IR\n * (`cli/src/query-dsl/ir.ts`) — they are the source of truth for semantics.\n */\nexport const METRIC_GRAMMAR = `SHIPEASY METRIC QUERY DSL\n=========================\n\nA metric is ONE aggregation over ONE event stream. This DSL is the string you\npass to \\`metrics create --query \"...\"\\` (equivalently the typed \\`query_ir\\`).\nThere is no arithmetic, no formulas across events, no subqueries — one event\nselector, one aggregation, an optional group-by.\n\n\nGRAMMAR (BNF)\n-------------\n Query := AggFunc \"(\" Selector (\",\" Identifier)? \")\" GroupBy?\n AggFunc := \"count_users\" | \"count\" | \"sum\" | \"avg\" | \"min\" | \"max\"\n | \"unique\" | \"p50\" | \"p75\" | \"p90\" | \"p95\" | \"p99\" | \"p999\"\n | \"retention_\" <N> \"d\" (N = 1..90)\n Selector := Identifier (\"{\" Filter (\",\" Filter)* \",\"? \"}\")?\n Filter := Identifier MatchOp StringLiteral\n MatchOp := \"=\" | \"!=\" | \"=~\" | \"!~\"\n GroupBy := (\"by\" | \"without\") \"(\" Identifier (\",\" Identifier)* \",\"? \")\"\n StringLiteral := double-quoted; \\\\\" is a literal quote, \\\\\\\\ is a backslash\n Identifier := [A-Za-z_][A-Za-z0-9_]* (case-sensitive)\n\n The trailing Identifier after the selector — \"(\" Selector \",\" Identifier \")\" —\n is the VALUE LABEL: the numeric event label the aggregation reduces. Whether it\n is required, optional, or forbidden depends on the aggregation (see below).\n\n\nAGGREGATIONS\n------------\n Function Value label Meaning In experiments\n -------------- ------------ ------------------------------ ---------------\n count_users forbidden distinct users who fired it exact\n count forbidden number of events (rows) exact\n sum(e, v) required Σ of numeric label v exact\n avg(e, v) required mean of label v exact\n retention_Nd(e) forbidden % of users who returned exact\n within N days (N = 1..90)\n min(e, v) required minimum of label v approx → avg *\n max(e, v) required maximum of label v approx → avg *\n unique(e, v) required distinct values of label v approx → avg *\n p50 … p999(e,v) required quantile of v (50/75/90/ approx → avg *\n 95/99/99.9th percentile)\n\n * Display-only aggregations. The experiment t-test needs a per-user mean and\n variance, so min/max/unique/quantile are computed exactly on dashboards but\n collapse to a per-user \\`avg\\` when used as an experiment metric. If you need\n an exact experiment metric, pick count_users / count / sum / avg / retention.\n\n \"count\" is the DSL spelling of the internal count_events (one per matching\n row); \"count_users\" is unique-by-user. Getting these two confused is the most\n common mistake — count double-counts a user who fired the event twice.\n\n\nSELECTOR & FILTERS\n------------------\n The selector is the event name plus an optional \\`{ ... }\\` filter set that\n narrows which events count. Each filter compares an event LABEL to a quoted\n string:\n\n = equal != not equal\n =~ regex match !~ regex NOT match\n\n - Values are ALWAYS double-quoted strings, even for numeric labels — they are\n coerced on the server (\\`amount=~\"^1[0-9]$\"\\`, \\`status=\"200\"\\`).\n - Multiple filters are AND-ed: \\`{country=\"US\", tier!=\"free\"}\\`.\n - Every filter label AND the value label must be a label DECLARED on the source\n event. Undeclared labels are a validation error, not a silent no-match.\n\n\nGROUP-BY\n--------\n Splits the result into one series per label combination.\n by (a, b) one series per distinct (a, b) — keep only these labels\n without (a, b) group by all declared labels EXCEPT a, b\n\n NOTE: group-by is a DASHBOARD-only feature. In an experiment the group-by is\n ignored — a per-user reducer is applied across the whole arm instead.\n\n\nNOT SUPPORTED (will fail to parse)\n----------------------------------\n - arithmetic / ratios / formulas: \\`count(a) / count(b)\\`\n - more than one event per query\n - arbitrary quantiles (only the fixed p50/p75/p90/p95/p99/p999)\n - unquoted or numeric filter values: \\`{status=200}\\` → must be \\`\"200\"\\`\n - trailing tokens after the query\n\n\nEXAMPLES (query — what it measures)\n--------------------------------------\n count_users(checkout_completed)\n distinct users who completed checkout.\n\n count(add_to_cart{country=\"US\"})\n number of US add-to-cart events (a user can count many times).\n\n sum(purchase{country=\"US\"}, amount)\n total purchase amount from US purchase events.\n\n avg(req_dur{tier!=\"free\"}, ms) without (region)\n mean request duration for non-free tiers, one series per region-excluded\n label combination.\n\n p99(req_dur{route=~\"/api/.*\"}, ms) by (route, status)\n 99th-percentile latency of /api/* requests, split by route and status.\n\n unique(login{method=\"sso\"}, device_id)\n distinct SSO devices seen (display-only; an experiment would use per-user avg).\n\n retention_7d(session_start)\n share of users who started a new session within 7 days.\n`;\n\nexport const grammarOp: CustomOp = {\n group: [\"metrics\"],\n name: \"grammar\",\n summary: \"Print the metric query DSL grammar\",\n description:\n \"Print the full metric query DSL reference — grammar, aggregation semantics, \" +\n \"filter/group-by rules, and glossed examples — used to author `metrics create --query`.\",\n params: [],\n examples: [{ run: \"shipeasy metrics grammar\" }],\n run: () => ({ grammar: METRIC_GRAMMAR }),\n};\n","/**\n * The custom-operations registry — hand-written operations that are NOT admin\n * API endpoints (so they can't be generated from the spec): the metric-DSL\n * grammar (pure) and the SDK-docs fetcher (outbound `fetch` to GitHub Pages).\n *\n * It mirrors the old operations registry in spirit, but is deliberately tiny and\n * framework-agnostic: each `CustomOp` carries its command path, params, and a\n * self-contained `run`. Both consumers project it with a thin adapter — the CLI\n * (`commands/custom.ts`) and, later, the MCP server — so the surface stays in\n * sync across them. `run` never touches the filesystem, so it's worker-safe.\n */\nexport type CustomParamType = \"string\" | \"number\" | \"boolean\";\n\nexport interface CustomParam {\n name: string;\n type: CustomParamType;\n description?: string;\n required?: boolean;\n /** Render as a positional CLI argument (vs a `--flag`). */\n positional?: boolean;\n enum?: string[];\n}\n\nexport interface CustomOp {\n /** Command path, e.g. `[\"docs\"]` → `shipeasy docs <name>`, `[\"metrics\"]` → `metrics <name>`. */\n group: string[];\n /** Verb. */\n name: string;\n summary: string;\n description?: string;\n params: CustomParam[];\n examples?: { note?: string; run: string }[];\n /** Self-contained handler. `args` are the coerced param values. */\n run: (args: Record<string, unknown>) => Promise<unknown> | unknown;\n}\n\n/**\n * Group-level help for a custom-op command group (e.g. `docs`). Mirrors what an\n * OpenAPI tag carries for the generated tree — a short `summary` (shown in the\n * parent `--help` list) and a long `description` (shown on the group's own\n * `--help`). Consumers look this up by `group` path when creating the group so a\n * custom group reads as richly as a spec-backed one, instead of the bare\n * `\"<name> commands\"` fallback.\n */\nexport interface CustomGroup {\n /** Group path, e.g. `[\"docs\"]`. */\n group: string[];\n summary: string;\n description?: string;\n aliases?: string[];\n}\n\n/** Thrown by a custom op for a user-facing error with an HTTP-ish status. */\nexport class CustomOpError extends Error {\n constructor(\n message: string,\n public status = 400,\n ) {\n super(message);\n this.name = \"CustomOpError\";\n }\n}\n\nexport const opId = (op: CustomOp): string => [...op.group, op.name].join(\".\");\n","import { type CustomOp, CustomOpError } from \"./types.js\";\n\n/**\n * SDK-docs operations — `docs list/get/skill`. A generic fetcher over each SDK\n * repo's `/docs/` folder published to plain GitHub Pages (latest only, no\n * backend, no version arg). The `run`s do outbound `fetch` (worker-safe — not\n * the fs/AST boundary) and fall back to a built-in default doc set for repos\n * that haven't adopted the doc standard yet.\n */\nconst SDK_REPOS: Record<string, { owner: string; repo: string }> = {\n typescript: { owner: \"shipeasy-ai\", repo: \"sdk-ts\" },\n javascript: { owner: \"shipeasy-ai\", repo: \"sdk-ts\" },\n node: { owner: \"shipeasy-ai\", repo: \"sdk-ts\" },\n ts: { owner: \"shipeasy-ai\", repo: \"sdk-ts\" },\n python: { owner: \"shipeasy-ai\", repo: \"sdk-python\" },\n go: { owner: \"shipeasy-ai\", repo: \"sdk-go\" },\n java: { owner: \"shipeasy-ai\", repo: \"sdk-java\" },\n kotlin: { owner: \"shipeasy-ai\", repo: \"sdk-kotlin\" },\n php: { owner: \"shipeasy-ai\", repo: \"sdk-php\" },\n swift: { owner: \"shipeasy-ai\", repo: \"sdk-swift\" },\n ruby: { owner: \"shipeasy-ai\", repo: \"sdk-ruby\" },\n};\nconst SDK_ENUM = Object.keys(SDK_REPOS);\n\ninterface DocManifest {\n schemaVersion: number;\n sdk: string;\n placeholders?: string[];\n skill?: string;\n pages?: Record<string, string>;\n snippets?: Record<string, Record<string, string>>;\n}\n\nconst DEFAULT_MANIFEST: DocManifest = {\n schemaVersion: 2,\n sdk: \"default\",\n placeholders: [\"RESOURCE_NAME\"],\n skill: \"skill/SKILL.md\",\n pages: { overview: \"pages/overview.md\", installation: \"pages/installation.md\" },\n snippets: { release: { flags: \"snippets/release/flags.md\" } },\n};\nconst DEFAULT_CONTENT: Record<string, string> = {\n \"pages/overview.md\":\n \"# Shipeasy SDK\\n\\nThis SDK has not published its `/docs/` folder yet. See https://docs.shipeasy.ai for the full reference.\",\n \"pages/installation.md\":\n \"# Installation\\n\\nInstall the Shipeasy SDK for your language, then call `shipeasy({ serverKey })` (server) or `shipeasy({ clientKey })` (browser).\",\n \"snippets/release/flags.md\": \"```\\nconst on = await client.checkGate(user, '{{RESOURCE_NAME}}');\\n```\",\n \"skill/SKILL.md\":\n \"---\\nname: shipeasy-sdk\\ndescription: Use the Shipeasy SDK for flags, experiments, configs, and i18n.\\n---\\n\\nThis SDK has not published a skill yet. See https://docs.shipeasy.ai.\",\n};\n\n/**\n * Resolve the caller-supplied `sdk`. The adapters (CLI/MCP) default it from the\n * nearest `.shipeasy` before we get here, so an empty value means neither a flag\n * nor a bound project supplied one — surface that explicitly.\n */\nfunction requireSdk(sdk: unknown): string {\n const s = typeof sdk === \"string\" ? sdk.trim() : \"\";\n if (!s)\n throw new CustomOpError(\n `No SDK given and none recorded in .shipeasy. Pass --sdk <lang> (one of: ${SDK_ENUM.join(\", \")}), ` +\n `or run \\`shipeasy detect\\` in the project to record its sdk.`,\n 400,\n );\n return s;\n}\nfunction repoFor(sdk: string): { owner: string; repo: string } {\n const r = SDK_REPOS[sdk.toLowerCase()];\n if (!r) throw new CustomOpError(`Unknown SDK '${sdk}'. One of: ${SDK_ENUM.join(\", \")}`, 400);\n return r;\n}\nfunction pagesBase(sdk: string): string {\n const { owner, repo } = repoFor(sdk);\n return `https://${owner}.github.io/${repo}`;\n}\nasync function fetchText(url: string): Promise<string | null> {\n const res = await fetch(url);\n if (!res.ok) return null;\n return res.text();\n}\nasync function loadManifest(sdk: string): Promise<{ manifest: DocManifest; fallback: boolean }> {\n const text = await fetchText(`${pagesBase(sdk)}/manifest.json`);\n if (!text) return { manifest: DEFAULT_MANIFEST, fallback: true };\n try {\n return { manifest: JSON.parse(text) as DocManifest, fallback: false };\n } catch {\n return { manifest: DEFAULT_MANIFEST, fallback: true };\n }\n}\nfunction resolvePath(manifest: DocManifest, handle: string): string {\n if (handle.endsWith(\".md\")) return handle;\n if (manifest.pages?.[handle]) return manifest.pages[handle];\n if (handle.includes(\"/\")) {\n const [group, resource] = handle.split(\"/\", 2);\n const p = manifest.snippets?.[group]?.[resource];\n if (p) return p;\n }\n throw new CustomOpError(\n `Doc '${handle}' not found. Run 'docs list --sdk <lang>' to see available pages and snippets.`,\n 404,\n );\n}\nfunction substitute(body: string, manifest: DocManifest, args: Record<string, unknown>): string {\n let out = body;\n for (const ph of manifest.placeholders ?? []) {\n const value =\n (args[ph] as string | undefined) ??\n (ph === \"RESOURCE_NAME\" ? (args.name as string | undefined) : undefined) ??\n (ph === \"FRAMEWORK\" ? (args.framework as string | undefined) : undefined);\n if (value !== undefined) out = out.replaceAll(`{{${ph}}}`, value);\n }\n return out;\n}\n\nexport const docsOps: CustomOp[] = [\n {\n group: [\"docs\"],\n name: \"list\",\n summary: \"List an SDK's documentation tree\",\n description:\n \"Fetch an SDK's `/docs/manifest.json` and return the doc tree — feature pages, nested snippet groups, and whether an installable skill exists.\",\n params: [{ name: \"sdk\", type: \"string\", description: \"SDK language. Defaults to the `sdk` recorded in the nearest `.shipeasy` when omitted.\", required: false, enum: SDK_ENUM }],\n examples: [{ run: \"shipeasy docs list --sdk python\" }],\n run: async (args) => {\n const sdk = requireSdk(args.sdk);\n const { manifest, fallback } = await loadManifest(sdk);\n return {\n sdk,\n fallback,\n pages: Object.keys(manifest.pages ?? {}),\n snippets: Object.fromEntries(\n Object.entries(manifest.snippets ?? {}).map(([g, r]) => [g, Object.keys(r)]),\n ),\n skill: Boolean(manifest.skill),\n };\n },\n },\n {\n group: [\"docs\"],\n name: \"get\",\n summary: \"Fetch one SDK doc page or snippet\",\n description:\n \"Fetch one feature page (`flags`, `experiments`, …) or nested snippet (`release/experiments`, …), substituting declared {{placeholders}} from caller args.\",\n params: [\n { name: \"sdk\", type: \"string\", description: \"SDK language. Defaults to the `sdk` recorded in the nearest `.shipeasy` when omitted.\", required: false, enum: SDK_ENUM },\n { name: \"path\", type: \"string\", description: \"Page key or snippet 'group/resource'.\", required: true, positional: true },\n { name: \"framework\", type: \"string\", description: \"Framework hint (substitutes {{FRAMEWORK}}).\" },\n { name: \"name\", type: \"string\", description: \"Resource name (substitutes {{RESOURCE_NAME}}).\" },\n ],\n examples: [\n { note: \"A feature page\", run: \"shipeasy docs get --sdk python experiments\" },\n { note: \"A nested snippet\", run: \"shipeasy docs get --sdk typescript release/flags --name checkout_v2\" },\n ],\n run: async (args) => {\n const sdk = requireSdk(args.sdk);\n const { manifest, fallback } = await loadManifest(sdk);\n const path = resolvePath(manifest, args.path as string);\n const body = fallback ? DEFAULT_CONTENT[path] : ((await fetchText(`${pagesBase(sdk)}/${path}`)) ?? undefined);\n if (body === undefined) throw new CustomOpError(`Doc '${path}' could not be fetched for '${sdk}'.`, 404);\n return { sdk, path, fallback, content: substitute(body, manifest, args) };\n },\n },\n {\n group: [\"docs\"],\n name: \"skill\",\n summary: \"Fetch an SDK's installable LLM skill\",\n description:\n \"Fetch the SDK's `skill/SKILL.md` (frontmatter intact) so an agent can install it verbatim. The CLI `--install` writes it locally (a consumer fs side-effect).\",\n params: [\n { name: \"sdk\", type: \"string\", description: \"SDK language. Defaults to the `sdk` recorded in the nearest `.shipeasy` when omitted.\", required: false, enum: SDK_ENUM },\n { name: \"install\", type: \"boolean\", description: \"CLI only: write the skill to the local agent skills dir.\" },\n ],\n examples: [{ run: \"shipeasy docs skill --sdk python\" }],\n run: async (args) => {\n const sdk = requireSdk(args.sdk);\n const { manifest, fallback } = await loadManifest(sdk);\n const skillPath = manifest.skill ?? \"skill/SKILL.md\";\n const content = fallback ? DEFAULT_CONTENT[skillPath] : ((await fetchText(`${pagesBase(sdk)}/${skillPath}`)) ?? undefined);\n if (content === undefined) throw new CustomOpError(`No skill published for '${sdk}'.`, 404);\n return { sdk, skillPath, fallback, content };\n },\n },\n];\n","import { grammarOp } from \"./grammar.js\";\nimport { docsOps } from \"./docs.js\";\nimport type { CustomOp, CustomGroup } from \"./types.js\";\n\nexport type { CustomOp, CustomGroup, CustomParam, CustomParamType } from \"./types.js\";\nexport { CustomOpError, opId } from \"./types.js\";\nexport { METRIC_GRAMMAR } from \"./grammar.js\";\n\n/**\n * Every custom (non-spec) operation, in surface order. The CLI and MCP each\n * project this with a thin adapter so the sugar commands stay in sync.\n */\nexport const customOperations: CustomOp[] = [grammarOp, ...docsOps];\n\n/**\n * Group-level help for custom-op groups that aren't backed by an OpenAPI tag.\n * `metrics` is a spec tag (its group is created — and described — by the\n * generated tree), so only `docs` needs an entry here; without it the CLI would\n * label the group the bare `\"docs commands\"`.\n */\nexport const customGroups: CustomGroup[] = [\n {\n group: [\"docs\"],\n summary:\n \"SDK docs: fetch a language SDK's published docs — its page tree, feature pages, code snippets, and installable agent skill.\",\n description:\n \"SDK docs — a read-only fetcher over each language SDK's `/docs/` folder, \" +\n \"published to plain GitHub Pages (latest only; no backend, no version arg). \" +\n \"Point it at an SDK with `--sdk <lang>` (one of: typescript, python, go, \" +\n \"java, kotlin, php, swift, ruby) or let it default to the `sdk` recorded in \" +\n \"the nearest `.shipeasy`.\\n\\n\" +\n \"**Commands.**\\n\" +\n \"- `list` — the SDK's doc tree: feature pages, nested snippet groups, and whether an installable skill exists.\\n\" +\n \"- `get <path>` — one feature page (`flags`, `experiments`, …) or nested snippet (`release/flags`), with `{{placeholders}}` substituted from `--name`/`--framework`.\\n\" +\n \"- `skill` — the SDK's installable LLM skill (`SKILL.md`); `--install` writes it into your agent's skills dir.\\n\\n\" +\n \"SDKs that haven't adopted the doc standard yet fall back to a built-in \" +\n \"default doc set, flagged `fallback: true` in the output.\",\n },\n];\n"],"mappings":"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","names":[]}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { E as ErrorCode, a as Error } from './client-K0ShmsC7.js';
2
- export { A as ApproveEventData, b as ApproveEventError, c as ApproveEventErrors, d as ApproveEventRequest, e as ApproveEventResponse, f as ApproveEventResponse2, g as ApproveEventResponses, h as AttributeType, C as ClaudeTriggerConfig, i as Client, j as ClientOptions, k as Config, l as ConfigName, m as ConfigureOptions, n as ConnectorData, o as ConnectorEvent, p as ConnectorProvider, q as ConnectorRecord, r as CopilotTriggerConfig, s as CreateAlertRuleData, t as CreateAlertRuleError, u as CreateAlertRuleErrors, v as CreateAlertRuleRequest, w as CreateAlertRuleResponse, x as CreateAlertRuleResponse2, y as CreateAlertRuleResponses, z as CreateAttributeData, B as CreateAttributeError, D as CreateAttributeErrors, F as CreateAttributeRequest, G as CreateAttributeResponse, H as CreateAttributeResponse2, I as CreateAttributeResponses, J as CreateBugRequest, K as CreateClaudeTriggerRequest, L as CreateClientConfig, M as CreateConfigData, N as CreateConfigError, O as CreateConfigErrors, P as CreateConfigRequest, Q as CreateConfigResponse, R as CreateConfigResponse2, S as CreateConfigResponses, T as CreateConnectorData, U as CreateConnectorError, V as CreateConnectorErrors, W as CreateConnectorRequest, X as CreateConnectorResponse, Y as CreateConnectorResponse2, Z as CreateConnectorResponses, _ as CreateCopilotTriggerRequest, $ as CreateCursorTriggerRequest, a0 as CreateEventData, a1 as CreateEventError, a2 as CreateEventErrors, a3 as CreateEventRequest, a4 as CreateEventResponse, a5 as CreateEventResponse2, a6 as CreateEventResponses, a7 as CreateExperimentData, a8 as CreateExperimentError, a9 as CreateExperimentErrors, aa as CreateExperimentRequest, ab as CreateExperimentResponse, ac as CreateExperimentResponse2, ad as CreateExperimentResponses, ae as CreateFeatureRequestRequest, af as CreateGateData, ag as CreateGateError, ah as CreateGateErrors, ai as CreateGateRequest, aj as CreateGateResponse, ak as CreateGateResponse2, al as CreateGateResponses, am as CreateGateTemplateData, an as CreateGateTemplateError, ao as CreateGateTemplateErrors, ap as CreateGateTemplateRequest, aq as CreateGateTemplateResponse, ar as CreateGateTemplateResponse2, as as CreateGateTemplateResponses, at as CreateI18nDraftData, au as CreateI18nDraftError, av as CreateI18nDraftErrors, aw as CreateI18nDraftRequest, ax as CreateI18nDraftResponse, ay as CreateI18nDraftResponses, az as CreateI18nProfileData, aA as CreateI18nProfileError, aB as CreateI18nProfileErrors, aC as CreateI18nProfileRequest, aD as CreateI18nProfileResponse, aE as CreateI18nProfileResponse2, aF as CreateI18nProfileResponses, aG as CreateJulesTriggerRequest, aH as CreateKeyData, aI as CreateKeyError, aJ as CreateKeyErrors, aK as CreateKeyRequest, aL as CreateKeyResponse, aM as CreateKeyResponse2, aN as CreateKeyResponses, aO as CreateKillswitchData, aP as CreateKillswitchError, aQ as CreateKillswitchErrors, aR as CreateKillswitchRequest, aS as CreateKillswitchResponse, aT as CreateKillswitchResponse2, aU as CreateKillswitchResponses, aV as CreateMetricData, aW as CreateMetricError, aX as CreateMetricErrors, aY as CreateMetricRequest, aZ as CreateMetricResponse, a_ as CreateMetricResponse2, a$ as CreateMetricResponses, b0 as CreateMetricWithQuery, b1 as CreateMetricWithQueryIr, b2 as CreateOAuthConnectorRequest, b3 as CreateOpsItemData, b4 as CreateOpsItemError, b5 as CreateOpsItemErrors, b6 as CreateOpsItemRequest, b7 as CreateOpsItemResponse, b8 as CreateOpsItemResponse2, b9 as CreateOpsItemResponses, ba as CreateTriggerConnectorData, bb as CreateTriggerConnectorError, bc as CreateTriggerConnectorErrors, bd as CreateTriggerConnectorRequest, be as CreateTriggerConnectorResponse, bf as CreateTriggerConnectorResponses, bg as CreateUniverseData, bh as CreateUniverseError, bi as CreateUniverseErrors, bj as CreateUniverseRequest, bk as CreateUniverseResponse, bl as CreateUniverseResponse2, bm as CreateUniverseResponses, bn as CursorTriggerConfig, bo as DeleteAlertRuleData, bp as DeleteAlertRuleError, bq as DeleteAlertRuleErrors, br as DeleteAlertRuleResponse, bs as DeleteAlertRuleResponse2, bt as DeleteAlertRuleResponses, bu as DeleteAttributeData, bv as DeleteAttributeError, bw as DeleteAttributeErrors, bx as DeleteAttributeResponse, by as DeleteAttributeResponse2, bz as DeleteAttributeResponses, bA as DeleteConfigData, bB as DeleteConfigError, bC as DeleteConfigErrors, bD as DeleteConfigResponse, bE as DeleteConfigResponse2, bF as DeleteConfigResponses, bG as DeleteConnectorData, bH as DeleteConnectorError, bI as DeleteConnectorErrors, bJ as DeleteConnectorResponse, bK as DeleteConnectorResponse2, bL as DeleteConnectorResponses, bM as DeleteEventData, bN as DeleteEventError, bO as DeleteEventErrors, bP as DeleteEventResponse, bQ as DeleteEventResponse2, bR as DeleteEventResponses, bS as DeleteExperimentData, bT as DeleteExperimentError, bU as DeleteExperimentErrors, bV as DeleteExperimentResponse, bW as DeleteExperimentResponse2, bX as DeleteExperimentResponses, bY as DeleteGateData, bZ as DeleteGateError, b_ as DeleteGateErrors, b$ as DeleteGateResponse, c0 as DeleteGateResponse2, c1 as DeleteGateResponses, c2 as DeleteGateTemplateData, c3 as DeleteGateTemplateError, c4 as DeleteGateTemplateErrors, c5 as DeleteGateTemplateResponse, c6 as DeleteGateTemplateResponse2, c7 as DeleteGateTemplateResponses, c8 as DeleteKillswitchData, c9 as DeleteKillswitchError, ca as DeleteKillswitchErrors, cb as DeleteKillswitchResponse, cc as DeleteKillswitchResponse2, cd as DeleteKillswitchResponses, ce as DeleteMetricData, cf as DeleteMetricError, cg as DeleteMetricErrors, ch as DeleteMetricResponse, ci as DeleteMetricResponse2, cj as DeleteMetricResponses, ck as DeleteUniverseData, cl as DeleteUniverseError, cm as DeleteUniverseErrors, cn as DeleteUniverseResponse, co as DeleteUniverseResponse2, cp as DeleteUniverseResponses, cq as DisableGateData, cr as DisableGateError, cs as DisableGateErrors, ct as DisableGateResponse, cu as DisableGateResponse2, cv as DisableGateResponses, cw as DiscardConfigDraftData, cx as DiscardConfigDraftError, cy as DiscardConfigDraftErrors, cz as DiscardConfigDraftRequest, cA as DiscardConfigDraftResponse, cB as DiscardConfigDraftResponse2, cC as DiscardConfigDraftResponses, cD as Domain, cE as EnableGateData, cF as EnableGateError, cG as EnableGateErrors, cH as EnableGateResponse, cI as EnableGateResponse2, cJ as EnableGateResponses, cK as Env, cL as ErrorRecord, cM as ErrorSeriesRequest, cN as ErrorSeriesResponse, cO as ExperimentInlineMetric, cP as FileErrorTicketData, cQ as FileErrorTicketError, cR as FileErrorTicketErrors, cS as FileErrorTicketResponse, cT as FileErrorTicketResponse2, cU as FileErrorTicketResponses, cV as FireConnectorData, cW as FireConnectorError, cX as FireConnectorErrors, cY as FireConnectorRequest, cZ as FireConnectorResponse, c_ as FireConnectorResponse2, c$ as FireConnectorResponses, d0 as Folder, d1 as GateTemplate, d2 as GateTemplateRule, d3 as GateTemplateRuleResponse, d4 as GetAttributeData, d5 as GetAttributeError, d6 as GetAttributeErrors, d7 as GetAttributeResponse, d8 as GetAttributeResponse2, d9 as GetAttributeResponses, da as GetConfigData, db as GetConfigError, dc as GetConfigErrors, dd as GetConfigResponse, de as GetConfigResponse2, df as GetConfigResponses, dg as GetConnectorData, dh as GetConnectorError, di as GetConnectorErrors, dj as GetConnectorResponse, dk as GetConnectorResponses, dl as GetCurrentProjectData, dm as GetCurrentProjectError, dn as GetCurrentProjectErrors, dp as GetCurrentProjectResponse, dq as GetCurrentProjectResponse2, dr as GetCurrentProjectResponses, ds as GetErrorData, dt as GetErrorError, du as GetErrorErrors, dv as GetErrorResponse, dw as GetErrorResponses, dx as GetErrorSeriesData, dy as GetErrorSeriesError, dz as GetErrorSeriesErrors, dA as GetErrorSeriesResponse, dB as GetErrorSeriesResponses, dC as GetEventData, dD as GetEventError, dE as GetEventErrors, dF as GetEventResponse, dG as GetEventResponse2, dH as GetEventResponses, dI as GetExperimentData, dJ as GetExperimentError, dK as GetExperimentErrors, dL as GetExperimentResponse, dM as GetExperimentResponse2, dN as GetExperimentResponses, dO as GetExperimentResultsData, dP as GetExperimentResultsError, dQ as GetExperimentResultsErrors, dR as GetExperimentResultsResponse, dS as GetExperimentResultsResponse2, dT as GetExperimentResultsResponses, dU as GetExperimentTimeseriesData, dV as GetExperimentTimeseriesError, dW as GetExperimentTimeseriesErrors, dX as GetExperimentTimeseriesResponse, dY as GetExperimentTimeseriesResponse2, dZ as GetExperimentTimeseriesResponses, d_ as GetGateTemplateData, d$ as GetGateTemplateError, e0 as GetGateTemplateErrors, e1 as GetGateTemplateResponse, e2 as GetGateTemplateResponses, e3 as GetKillswitchData, e4 as GetKillswitchError, e5 as GetKillswitchErrors, e6 as GetKillswitchResponse, e7 as GetKillswitchResponse2, e8 as GetKillswitchResponses, e9 as GetMetricData, ea as GetMetricError, eb as GetMetricErrors, ec as GetMetricResponse, ed as GetMetricResponse2, ee as GetMetricResponses, ef as GetOpsItemData, eg as GetOpsItemError, eh as GetOpsItemErrors, ei as GetOpsItemResponse, ej as GetOpsItemResponse2, ek as GetOpsItemResponses, el as GithubConnectorData, em as I18nDraft, en as JulesTriggerConfig, eo as KeyRecord, ep as KillswitchValue, eq as LinkPrToOpsItemData, er as LinkPrToOpsItemError, es as LinkPrToOpsItemErrors, et as LinkPrToOpsItemRequest, eu as LinkPrToOpsItemResponse, ev as LinkPrToOpsItemResponse2, ew as LinkPrToOpsItemResponses, ex as ListAlertRulesData, ey as ListAlertRulesError, ez as ListAlertRulesErrors, eA as ListAlertRulesResponse, eB as ListAlertRulesResponse2, eC as ListAlertRulesResponses, eD as ListAttributesData, eE as ListAttributesError, eF as ListAttributesErrors, eG as ListAttributesResponse, eH as ListAttributesResponse2, eI as ListAttributesResponses, eJ as ListConfigActivityData, eK as ListConfigActivityError, eL as ListConfigActivityErrors, eM as ListConfigActivityResponse, eN as ListConfigActivityResponse2, eO as ListConfigActivityResponses, eP as ListConfigsData, eQ as ListConfigsError, eR as ListConfigsErrors, eS as ListConfigsResponse, eT as ListConfigsResponse2, eU as ListConfigsResponses, eV as ListConnectorsData, eW as ListConnectorsError, eX as ListConnectorsErrors, eY as ListConnectorsResponse, eZ as ListConnectorsResponse2, e_ as ListConnectorsResponses, e$ as ListErrorsData, f0 as ListErrorsError, f1 as ListErrorsErrors, f2 as ListErrorsResponse, f3 as ListErrorsResponse2, f4 as ListErrorsResponses, f5 as ListEventsData, f6 as ListEventsError, f7 as ListEventsErrors, f8 as ListEventsResponse, f9 as ListEventsResponse2, fa as ListEventsResponses, fb as ListExperimentsData, fc as ListExperimentsError, fd as ListExperimentsErrors, fe as ListExperimentsResponse, ff as ListExperimentsResponse2, fg as ListExperimentsResponses, fh as ListGateTemplatesData, fi as ListGateTemplatesError, fj as ListGateTemplatesErrors, fk as ListGateTemplatesResponse, fl as ListGateTemplatesResponse2, fm as ListGateTemplatesResponses, fn as ListGatesData, fo as ListGatesError, fp as ListGatesErrors, fq as ListGatesResponse, fr as ListGatesResponse2, fs as ListGatesResponses, ft as ListI18nDraftsData, fu as ListI18nDraftsError, fv as ListI18nDraftsErrors, fw as ListI18nDraftsResponse, fx as ListI18nDraftsResponse2, fy as ListI18nDraftsResponses, fz as ListI18nKeysData, fA as ListI18nKeysError, fB as ListI18nKeysErrors, fC as ListI18nKeysResponse, fD as ListI18nKeysResponse2, fE as ListI18nKeysResponses, fF as ListI18nProfilesData, fG as ListI18nProfilesError, fH as ListI18nProfilesErrors, fI as ListI18nProfilesResponse, fJ as ListI18nProfilesResponse2, fK as ListI18nProfilesResponses, fL as ListKeysData, fM as ListKeysError, fN as ListKeysErrors, fO as ListKeysResponse, fP as ListKeysResponse2, fQ as ListKeysResponses, fR as ListKillswitchesData, fS as ListKillswitchesError, fT as ListKillswitchesErrors, fU as ListKillswitchesResponse, fV as ListKillswitchesResponse2, fW as ListKillswitchesResponses, fX as ListMetricsData, fY as ListMetricsError, fZ as ListMetricsErrors, f_ as ListMetricsResponse, f$ as ListMetricsResponse2, g0 as ListMetricsResponses, g1 as ListOpsItemsData, g2 as ListOpsItemsError, g3 as ListOpsItemsErrors, g4 as ListOpsItemsResponse, g5 as ListOpsItemsResponse2, g6 as ListOpsItemsResponses, g7 as ListSlackChannelsData, g8 as ListSlackChannelsError, g9 as ListSlackChannelsErrors, ga as ListSlackChannelsResponse, gb as ListSlackChannelsResponse2, gc as ListSlackChannelsResponses, gd as ListUniversesData, ge as ListUniversesError, gf as ListUniversesErrors, gg as ListUniversesResponse, gh as ListUniversesResponse2, gi as ListUniversesResponses, gj as MeasurePlanResource, gk as MeasurePlanStep, gl as MetricDirection, gm as MetricEventName, gn as MetricMinDetectableEffect, go as MetricName, gp as MetricQueryDsl, gq as MetricWinsorizePct, gr as NotificationTarget, gs as NotifyOpsData, gt as NotifyOpsError, gu as NotifyOpsErrors, gv as NotifyOpsRequest, gw as NotifyOpsResponse, gx as NotifyOpsResponse2, gy as NotifyOpsResponses, gz as OpsAlertContext, gA as OpsAlertMetricSummary, gB as OpsAlertRuleSummary, gC as OpsBrowserContext, gD as OpsErrorContext, gE as OpsItemAttachment, gF as OpsItemContext, gG as OpsItemNotifyOrNull, gH as OpsItemPriority, gI as OpsItemPriorityOrNull, gJ as OpsItemRelated, gK as OpsItemStatus, gL as OpsMeasurePlanContext, gM as Options, gN as PaginationCursor, gO as PaginationLimit, gP as ProjectId, gQ as PublishConfigDraftData, gR as PublishConfigDraftError, gS as PublishConfigDraftErrors, gT as PublishConfigDraftRequest, gU as PublishConfigDraftResponse, gV as PublishConfigDraftResponse2, gW as PublishConfigDraftResponses, gX as PublishI18nProfileData, gY as PublishI18nProfileError, gZ as PublishI18nProfileErrors, g_ as PublishI18nProfileRequest, g$ as PublishI18nProfileResponse, h0 as PublishI18nProfileResponse2, h1 as PublishI18nProfileResponses, h2 as PushI18nKeysData, h3 as PushI18nKeysError, h4 as PushI18nKeysErrors, h5 as PushI18nKeysRequest, h6 as PushI18nKeysResponse, h7 as PushI18nKeysResponse2, h8 as PushI18nKeysResponses, h9 as Q, ha as QueryIr, hb as ReanalyzeExperimentData, hc as ReanalyzeExperimentError, hd as ReanalyzeExperimentErrors, he as ReanalyzeExperimentResponse, hf as ReanalyzeExperimentResponse2, hg as ReanalyzeExperimentResponses, hh as RequestResult, hi as ResourceId, hj as RevokeKeyData, hk as RevokeKeyError, hl as RevokeKeyErrors, hm as RevokeKeyResponse, hn as RevokeKeyResponse2, ho as RevokeKeyResponses, hp as SaveConfigDraftData, hq as SaveConfigDraftError, hr as SaveConfigDraftErrors, hs as SaveConfigDraftRequest, ht as SaveConfigDraftResponse, hu as SaveConfigDraftResponse2, hv as SaveConfigDraftResponses, hw as SearchHit, hx as SearchResourcesData, hy as SearchResourcesError, hz as SearchResourcesErrors, hA as SearchResourcesResponse, hB as SearchResourcesResponses, hC as SearchResponse, hD as SetExperimentMetricsData, hE as SetExperimentMetricsError, hF as SetExperimentMetricsErrors, hG as SetExperimentMetricsRequest, hH as SetExperimentMetricsResponse, hI as SetExperimentMetricsResponse2, hJ as SetExperimentMetricsResponses, hK as SetExperimentStatusData, hL as SetExperimentStatusError, hM as SetExperimentStatusErrors, hN as SetExperimentStatusRequest, hO as SetExperimentStatusResponse, hP as SetExperimentStatusResponse2, hQ as SetExperimentStatusResponses, hR as SetI18nLabelData, hS as SetI18nLabelError, hT as SetI18nLabelErrors, hU as SetI18nLabelRequest, hV as SetI18nLabelResponse, hW as SetI18nLabelResponse2, hX as SetI18nLabelResponses, hY as SetKillswitchSwitchData, hZ as SetKillswitchSwitchError, h_ as SetKillswitchSwitchErrors, h$ as SetKillswitchSwitchRequest, i0 as SetKillswitchSwitchResponse, i1 as SetKillswitchSwitchResponse2, i2 as SetKillswitchSwitchResponses, i3 as SetKillswitchValueData, i4 as SetKillswitchValueError, i5 as SetKillswitchValueErrors, i6 as SetKillswitchValueRequest, i7 as SetKillswitchValueResponse, i8 as SetKillswitchValueResponse2, i9 as SetKillswitchValueResponses, ia as SlackConnectorData, ib as TestConnectorData, ic as TestConnectorError, id as TestConnectorErrors, ie as TestConnectorResponse, ig as TestConnectorResponse2, ih as TestConnectorResponses, ii as UnsetKillswitchSwitchData, ij as UnsetKillswitchSwitchError, ik as UnsetKillswitchSwitchErrors, il as UnsetKillswitchSwitchRequest, im as UnsetKillswitchSwitchResponse, io as UnsetKillswitchSwitchResponse2, ip as UnsetKillswitchSwitchResponses, iq as UpdateAlertRuleData, ir as UpdateAlertRuleError, is as UpdateAlertRuleErrors, it as UpdateAlertRuleRequest, iu as UpdateAlertRuleResponse, iv as UpdateAlertRuleResponse2, iw as UpdateAlertRuleResponses, ix as UpdateAttributeData, iy as UpdateAttributeError, iz as UpdateAttributeErrors, iA as UpdateAttributeRequest, iB as UpdateAttributeResponse, iC as UpdateAttributeResponse2, iD as UpdateAttributeResponses, iE as UpdateBugRequest, iF as UpdateClaudeTriggerRequest, iG as UpdateConfigData, iH as UpdateConfigError, iI as UpdateConfigErrors, iJ as UpdateConfigRequest, iK as UpdateConfigResponse, iL as UpdateConfigResponse2, iM as UpdateConfigResponses, iN as UpdateConfigSchemaData, iO as UpdateConfigSchemaError, iP as UpdateConfigSchemaErrors, iQ as UpdateConfigSchemaRequest, iR as UpdateConfigSchemaResponse, iS as UpdateConfigSchemaResponse2, iT as UpdateConfigSchemaResponses, iU as UpdateConnectorData, iV as UpdateConnectorError, iW as UpdateConnectorErrors, iX as UpdateConnectorRequest, iY as UpdateConnectorResponse, iZ as UpdateConnectorResponse2, i_ as UpdateConnectorResponses, i$ as UpdateCopilotTriggerRequest, j0 as UpdateCursorTriggerRequest, j1 as UpdateErrorStatusData, j2 as UpdateErrorStatusError, j3 as UpdateErrorStatusErrors, j4 as UpdateErrorStatusRequest, j5 as UpdateErrorStatusResponse, j6 as UpdateErrorStatusResponses, j7 as UpdateEventData, j8 as UpdateEventError, j9 as UpdateEventErrors, ja as UpdateEventRequest, jb as UpdateEventResponse, jc as UpdateEventResponse2, jd as UpdateEventResponses, je as UpdateExperimentData, jf as UpdateExperimentError, jg as UpdateExperimentErrors, jh as UpdateExperimentRequest, ji as UpdateExperimentResponse, jj as UpdateExperimentResponse2, jk as UpdateExperimentResponses, jl as UpdateFeatureRequestRequest, jm as UpdateGateData, jn as UpdateGateError, jo as UpdateGateErrors, jp as UpdateGateRequest, jq as UpdateGateResponse, jr as UpdateGateResponse2, js as UpdateGateResponses, jt as UpdateGateTemplateData, ju as UpdateGateTemplateError, jv as UpdateGateTemplateErrors, jw as UpdateGateTemplateRequest, jx as UpdateGateTemplateResponse, jy as UpdateGateTemplateResponse2, jz as UpdateGateTemplateResponses, jA as UpdateI18nDraftData, jB as UpdateI18nDraftError, jC as UpdateI18nDraftErrors, jD as UpdateI18nDraftRequest, jE as UpdateI18nDraftResponse, jF as UpdateI18nDraftResponses, jG as UpdateI18nKeyData, jH as UpdateI18nKeyError, jI as UpdateI18nKeyErrors, jJ as UpdateI18nKeyRequest, jK as UpdateI18nKeyResponse, jL as UpdateI18nKeyResponse2, jM as UpdateI18nKeyResponses, jN as UpdateJulesTriggerRequest, jO as UpdateKillswitchData, jP as UpdateKillswitchError, jQ as UpdateKillswitchErrors, jR as UpdateKillswitchRequest, jS as UpdateKillswitchResponse, jT as UpdateKillswitchResponse2, jU as UpdateKillswitchResponses, jV as UpdateMetricData, jW as UpdateMetricError, jX as UpdateMetricErrors, jY as UpdateMetricFields, jZ as UpdateMetricRequest, j_ as UpdateMetricResponse, j$ as UpdateMetricResponses, k0 as UpdateMetricWithQuery, k1 as UpdateMetricWithQueryIr, k2 as UpdateOpsItemData, k3 as UpdateOpsItemError, k4 as UpdateOpsItemErrors, k5 as UpdateOpsItemRequest, k6 as UpdateOpsItemResponse, k7 as UpdateOpsItemResponse2, k8 as UpdateOpsItemResponses, k9 as UpdateOpsItemStatusRequest, ka as UpdateProjectData, kb as UpdateProjectError, kc as UpdateProjectErrors, kd as UpdateProjectRequest, ke as UpdateProjectResponse, kf as UpdateProjectResponses, kg as UpdateTriggerConnectorData, kh as UpdateTriggerConnectorError, ki as UpdateTriggerConnectorErrors, kj as UpdateTriggerConnectorRequest, kk as UpdateTriggerConnectorResponse, kl as UpdateTriggerConnectorResponses, km as UpdateUniverseData, kn as UpdateUniverseError, ko as UpdateUniverseErrors, kp as UpdateUniverseRequest, kq as UpdateUniverseResponse, kr as UpdateUniverseResponse2, ks as UpdateUniverseResponses, kt as UpsertProjectData, ku as UpsertProjectError, kv as UpsertProjectErrors, kw as UpsertProjectRequest, kx as UpsertProjectResponse, ky as UpsertProjectResponse2, kz as UpsertProjectResponses, kA as approveEvent, kB as client, kC as configure, kD as createAlertRule, kE as createAttribute, kF as createClient, kG as createClientConfig, kH as createConfig, kI as createConnector, kJ as createEvent, kK as createExperiment, kL as createGate, kM as createGateTemplate, kN as createI18nDraft, kO as createI18nProfile, kP as createKey, kQ as createKillswitch, kR as createMetric, kS as createOpsItem, kT as createTriggerConnector, kU as createUniverse, kV as deleteAlertRule, kW as deleteAttribute, kX as deleteConfig, kY as deleteConnector, kZ as deleteEvent, k_ as deleteExperiment, k$ as deleteGate, l0 as deleteGateTemplate, l1 as deleteKillswitch, l2 as deleteMetric, l3 as deleteUniverse, l4 as disableGate, l5 as discardConfigDraft, l6 as enableGate, l7 as fileErrorTicket, l8 as fireConnector, l9 as getAttribute, la as getConfig, lb as getConnector, lc as getCurrentProject, ld as getError, le as getErrorSeries, lf as getEvent, lg as getExperiment, lh as getExperimentResults, li as getExperimentTimeseries, lj as getGateTemplate, lk as getKillswitch, ll as getMetric, lm as getOpsItem, ln as linkPrToOpsItem, lo as listAlertRules, lp as listAttributes, lq as listConfigActivity, lr as listConfigs, ls as listConnectors, lt as listErrors, lu as listEvents, lv as listExperiments, lw as listGateTemplates, lx as listGates, ly as listI18nDrafts, lz as listI18nKeys, lA as listI18nProfiles, lB as listKeys, lC as listKillswitches, lD as listMetrics, lE as listOpsItems, lF as listSlackChannels, lG as listUniverses, lH as notifyOps, lI as publishConfigDraft, lJ as publishI18nProfile, lK as pushI18nKeys, lL as reanalyzeExperiment, lM as revokeKey, lN as saveConfigDraft, lO as searchResources, lP as setExperimentMetrics, lQ as setExperimentStatus, lR as setI18nLabel, lS as setKillswitchSwitch, lT as setKillswitchValue, lU as testConnector, lV as unsetKillswitchSwitch, lW as updateAlertRule, lX as updateAttribute, lY as updateConfig, lZ as updateConfigSchema, l_ as updateConnector, l$ as updateErrorStatus, m0 as updateEvent, m1 as updateExperiment, m2 as updateGate, m3 as updateGateTemplate, m4 as updateI18nDraft, m5 as updateI18nKey, m6 as updateKillswitch, m7 as updateMetric, m8 as updateOpsItem, m9 as updateProject, ma as updateTriggerConnector, mb as updateUniverse, mc as upsertProject } from './client-K0ShmsC7.js';
1
+ import { E as ErrorCode, a as Error } from './client-WGNXT4xl.js';
2
+ export { A as AckOpsItemData, b as AckOpsItemError, c as AckOpsItemErrors, d as AckOpsItemRequest, e as AckOpsItemResponse, f as AckOpsItemResponse2, g as AckOpsItemResponses, h as AlertApiRow, i as ApproveEventData, j as ApproveEventError, k as ApproveEventErrors, l as ApproveEventRequest, m as ApproveEventResponse, n as ApproveEventResponse2, o as ApproveEventResponses, p as AttributeType, C as ClaudeTriggerConfig, q as Client, r as ClientOptions, s as Config, t as ConfigName, u as ConfigureOptions, v as ConnectorData, w as ConnectorEvent, x as ConnectorProvider, y as ConnectorRecord, z as CopilotTriggerConfig, B as CreateAlertRuleData, D as CreateAlertRuleError, F as CreateAlertRuleErrors, G as CreateAlertRuleRequest, H as CreateAlertRuleResponse, I as CreateAlertRuleResponse2, J as CreateAlertRuleResponses, K as CreateAttributeData, L as CreateAttributeError, M as CreateAttributeErrors, N as CreateAttributeRequest, O as CreateAttributeResponse, P as CreateAttributeResponse2, Q as CreateAttributeResponses, R as CreateBugRequest, S as CreateClaudeTriggerRequest, T as CreateClientConfig, U as CreateConfigData, V as CreateConfigError, W as CreateConfigErrors, X as CreateConfigRequest, Y as CreateConfigResponse, Z as CreateConfigResponse2, _ as CreateConfigResponses, $ as CreateConnectorData, a0 as CreateConnectorError, a1 as CreateConnectorErrors, a2 as CreateConnectorRequest, a3 as CreateConnectorResponse, a4 as CreateConnectorResponse2, a5 as CreateConnectorResponses, a6 as CreateCopilotTriggerRequest, a7 as CreateCursorTriggerRequest, a8 as CreateEventData, a9 as CreateEventError, aa as CreateEventErrors, ab as CreateEventRequest, ac as CreateEventResponse, ad as CreateEventResponse2, ae as CreateEventResponses, af as CreateExperimentData, ag as CreateExperimentError, ah as CreateExperimentErrors, ai as CreateExperimentReadoutData, aj as CreateExperimentReadoutError, ak as CreateExperimentReadoutErrors, al as CreateExperimentReadoutRequest, am as CreateExperimentReadoutResponse, an as CreateExperimentReadoutResponse2, ao as CreateExperimentReadoutResponses, ap as CreateExperimentRequest, aq as CreateExperimentResponse, ar as CreateExperimentResponse2, as as CreateExperimentResponses, at as CreateFeatureRequestRequest, au as CreateGateData, av as CreateGateError, aw as CreateGateErrors, ax as CreateGateRequest, ay as CreateGateResponse, az as CreateGateResponse2, aA as CreateGateResponses, aB as CreateGateTemplateData, aC as CreateGateTemplateError, aD as CreateGateTemplateErrors, aE as CreateGateTemplateRequest, aF as CreateGateTemplateResponse, aG as CreateGateTemplateResponse2, aH as CreateGateTemplateResponses, aI as CreateI18nDraftData, aJ as CreateI18nDraftError, aK as CreateI18nDraftErrors, aL as CreateI18nDraftRequest, aM as CreateI18nDraftResponse, aN as CreateI18nDraftResponses, aO as CreateI18nProfileData, aP as CreateI18nProfileError, aQ as CreateI18nProfileErrors, aR as CreateI18nProfileRequest, aS as CreateI18nProfileResponse, aT as CreateI18nProfileResponse2, aU as CreateI18nProfileResponses, aV as CreateJulesTriggerRequest, aW as CreateKeyData, aX as CreateKeyError, aY as CreateKeyErrors, aZ as CreateKeyRequest, a_ as CreateKeyResponse, a$ as CreateKeyResponse2, b0 as CreateKeyResponses, b1 as CreateKillswitchData, b2 as CreateKillswitchError, b3 as CreateKillswitchErrors, b4 as CreateKillswitchRequest, b5 as CreateKillswitchResponse, b6 as CreateKillswitchResponse2, b7 as CreateKillswitchResponses, b8 as CreateMetricData, b9 as CreateMetricError, ba as CreateMetricErrors, bb as CreateMetricRequest, bc as CreateMetricResponse, bd as CreateMetricResponse2, be as CreateMetricResponses, bf as CreateMetricWithQuery, bg as CreateMetricWithQueryIr, bh as CreateOAuthConnectorRequest, bi as CreateOpsCommentData, bj as CreateOpsCommentError, bk as CreateOpsCommentErrors, bl as CreateOpsCommentRequest, bm as CreateOpsCommentResponse, bn as CreateOpsCommentResponse2, bo as CreateOpsCommentResponses, bp as CreateOpsInvestigationData, bq as CreateOpsInvestigationError, br as CreateOpsInvestigationErrors, bs as CreateOpsInvestigationRequest, bt as CreateOpsInvestigationResponse, bu as CreateOpsInvestigationResponses, bv as CreateOpsItemData, bw as CreateOpsItemError, bx as CreateOpsItemErrors, by as CreateOpsItemRequest, bz as CreateOpsItemResponse, bA as CreateOpsItemResponse2, bB as CreateOpsItemResponses, bC as CreateTriggerConnectorData, bD as CreateTriggerConnectorError, bE as CreateTriggerConnectorErrors, bF as CreateTriggerConnectorRequest, bG as CreateTriggerConnectorResponse, bH as CreateTriggerConnectorResponses, bI as CreateUniverseData, bJ as CreateUniverseError, bK as CreateUniverseErrors, bL as CreateUniverseRequest, bM as CreateUniverseResponse, bN as CreateUniverseResponse2, bO as CreateUniverseResponses, bP as CursorTriggerConfig, bQ as DeleteAlertRuleData, bR as DeleteAlertRuleError, bS as DeleteAlertRuleErrors, bT as DeleteAlertRuleResponse, bU as DeleteAlertRuleResponse2, bV as DeleteAlertRuleResponses, bW as DeleteAttributeData, bX as DeleteAttributeError, bY as DeleteAttributeErrors, bZ as DeleteAttributeResponse, b_ as DeleteAttributeResponse2, b$ as DeleteAttributeResponses, c0 as DeleteConfigData, c1 as DeleteConfigError, c2 as DeleteConfigErrors, c3 as DeleteConfigResponse, c4 as DeleteConfigResponse2, c5 as DeleteConfigResponses, c6 as DeleteConnectorData, c7 as DeleteConnectorError, c8 as DeleteConnectorErrors, c9 as DeleteConnectorResponse, ca as DeleteConnectorResponse2, cb as DeleteConnectorResponses, cc as DeleteEventData, cd as DeleteEventError, ce as DeleteEventErrors, cf as DeleteEventResponse, cg as DeleteEventResponse2, ch as DeleteEventResponses, ci as DeleteExperimentData, cj as DeleteExperimentError, ck as DeleteExperimentErrors, cl as DeleteExperimentResponse, cm as DeleteExperimentResponse2, cn as DeleteExperimentResponses, co as DeleteGateData, cp as DeleteGateError, cq as DeleteGateErrors, cr as DeleteGateResponse, cs as DeleteGateResponse2, ct as DeleteGateResponses, cu as DeleteGateTemplateData, cv as DeleteGateTemplateError, cw as DeleteGateTemplateErrors, cx as DeleteGateTemplateResponse, cy as DeleteGateTemplateResponse2, cz as DeleteGateTemplateResponses, cA as DeleteI18nDraftData, cB as DeleteI18nDraftError, cC as DeleteI18nDraftErrors, cD as DeleteI18nDraftResponse, cE as DeleteI18nDraftResponses, cF as DeleteI18nKeyData, cG as DeleteI18nKeyError, cH as DeleteI18nKeyErrors, cI as DeleteI18nKeyResponse, cJ as DeleteI18nKeyResponses, cK as DeleteI18nProfileData, cL as DeleteI18nProfileError, cM as DeleteI18nProfileErrors, cN as DeleteI18nProfileResponse, cO as DeleteI18nProfileResponses, cP as DeleteKillswitchData, cQ as DeleteKillswitchError, cR as DeleteKillswitchErrors, cS as DeleteKillswitchResponse, cT as DeleteKillswitchResponse2, cU as DeleteKillswitchResponses, cV as DeleteMetricData, cW as DeleteMetricError, cX as DeleteMetricErrors, cY as DeleteMetricResponse, cZ as DeleteMetricResponse2, c_ as DeleteMetricResponses, c$ as DeleteOpsItemData, d0 as DeleteOpsItemError, d1 as DeleteOpsItemErrors, d2 as DeleteOpsItemResponse, d3 as DeleteOpsItemResponse2, d4 as DeleteOpsItemResponses, d5 as DeleteUniverseData, d6 as DeleteUniverseError, d7 as DeleteUniverseErrors, d8 as DeleteUniverseResponse, d9 as DeleteUniverseResponse2, da as DeleteUniverseResponses, db as DisableGateData, dc as DisableGateError, dd as DisableGateErrors, de as DisableGateResponse, df as DisableGateResponse2, dg as DisableGateResponses, dh as DiscardConfigDraftData, di as DiscardConfigDraftError, dj as DiscardConfigDraftErrors, dk as DiscardConfigDraftRequest, dl as DiscardConfigDraftResponse, dm as DiscardConfigDraftResponse2, dn as DiscardConfigDraftResponses, dp as Domain, dq as EnableGateData, dr as EnableGateError, ds as EnableGateErrors, dt as EnableGateResponse, du as EnableGateResponse2, dv as EnableGateResponses, dw as Env, dx as ErrorOccurrence, dy as ErrorRecord, dz as ErrorSeriesRequest, dA as ErrorSeriesResponse, dB as ExperimentApiRow, dC as ExperimentInlineMetric, dD as ExperimentReadoutApiRow, dE as ExperimentReadoutCaveat, dF as ExperimentReadoutMetric, dG as ExperimentResultRow, dH as FileErrorTicketData, dI as FileErrorTicketError, dJ as FileErrorTicketErrors, dK as FileErrorTicketResponse, dL as FileErrorTicketResponse2, dM as FileErrorTicketResponses, dN as FireConnectorData, dO as FireConnectorError, dP as FireConnectorErrors, dQ as FireConnectorRequest, dR as FireConnectorResponse, dS as FireConnectorResponse2, dT as FireConnectorResponses, dU as Folder, dV as GateApiRow, dW as GateTemplate, dX as GateTemplateRule, dY as GateTemplateRuleResponse, dZ as GetAttributeData, d_ as GetAttributeError, d$ as GetAttributeErrors, e0 as GetAttributeResponse, e1 as GetAttributeResponse2, e2 as GetAttributeResponses, e3 as GetConfigData, e4 as GetConfigError, e5 as GetConfigErrors, e6 as GetConfigResponse, e7 as GetConfigResponse2, e8 as GetConfigResponses, e9 as GetConnectorData, ea as GetConnectorError, eb as GetConnectorErrors, ec as GetConnectorResponse, ed as GetConnectorResponses, ee as GetCurrentProjectData, ef as GetCurrentProjectError, eg as GetCurrentProjectErrors, eh as GetCurrentProjectResponse, ei as GetCurrentProjectResponse2, ej as GetCurrentProjectResponses, ek as GetErrorData, el as GetErrorError, em as GetErrorErrors, en as GetErrorResponse, eo as GetErrorResponses, ep as GetErrorSeriesData, eq as GetErrorSeriesError, er as GetErrorSeriesErrors, es as GetErrorSeriesResponse, et as GetErrorSeriesResponses, eu as GetEventData, ev as GetEventError, ew as GetEventErrors, ex as GetEventResponse, ey as GetEventResponse2, ez as GetEventResponses, eA as GetExperimentData, eB as GetExperimentError, eC as GetExperimentErrors, eD as GetExperimentReadoutData, eE as GetExperimentReadoutError, eF as GetExperimentReadoutErrors, eG as GetExperimentReadoutResponse, eH as GetExperimentReadoutResponses, eI as GetExperimentResponse, eJ as GetExperimentResponses, eK as GetExperimentResultsData, eL as GetExperimentResultsError, eM as GetExperimentResultsErrors, eN as GetExperimentResultsResponse, eO as GetExperimentResultsResponse2, eP as GetExperimentResultsResponses, eQ as GetExperimentTimeseriesData, eR as GetExperimentTimeseriesError, eS as GetExperimentTimeseriesErrors, eT as GetExperimentTimeseriesResponse, eU as GetExperimentTimeseriesResponse2, eV as GetExperimentTimeseriesResponses, eW as GetGateData, eX as GetGateError, eY as GetGateErrors, eZ as GetGateResponse, e_ as GetGateResponses, e$ as GetGateTemplateData, f0 as GetGateTemplateError, f1 as GetGateTemplateErrors, f2 as GetGateTemplateResponse, f3 as GetGateTemplateResponses, f4 as GetKillswitchData, f5 as GetKillswitchError, f6 as GetKillswitchErrors, f7 as GetKillswitchResponse, f8 as GetKillswitchResponse2, f9 as GetKillswitchResponses, fa as GetMetricData, fb as GetMetricError, fc as GetMetricErrors, fd as GetMetricResponse, fe as GetMetricResponse2, ff as GetMetricResponses, fg as GetMetricSeriesData, fh as GetMetricSeriesError, fi as GetMetricSeriesErrors, fj as GetMetricSeriesRequest, fk as GetMetricSeriesResponse, fl as GetMetricSeriesResponse2, fm as GetMetricSeriesResponses, fn as GetOpsItemData, fo as GetOpsItemError, fp as GetOpsItemErrors, fq as GetOpsItemResponse, fr as GetOpsItemResponse2, fs as GetOpsItemResponses, ft as GetProjectData, fu as GetProjectError, fv as GetProjectErrors, fw as GetProjectResponse, fx as GetProjectResponses, fy as GithubConnectorData, fz as GithubPrLink, fA as I18nDraft, fB as JulesTriggerConfig, fC as KeyRecord, fD as KillswitchValue, fE as LinkPrToOpsItemData, fF as LinkPrToOpsItemError, fG as LinkPrToOpsItemErrors, fH as LinkPrToOpsItemRequest, fI as LinkPrToOpsItemResponse, fJ as LinkPrToOpsItemResponse2, fK as LinkPrToOpsItemResponses, fL as ListAlertRulesData, fM as ListAlertRulesError, fN as ListAlertRulesErrors, fO as ListAlertRulesResponse, fP as ListAlertRulesResponse2, fQ as ListAlertRulesResponses, fR as ListAlertsData, fS as ListAlertsError, fT as ListAlertsErrors, fU as ListAlertsResponse, fV as ListAlertsResponse2, fW as ListAlertsResponses, fX as ListAttributesData, fY as ListAttributesError, fZ as ListAttributesErrors, f_ as ListAttributesResponse, f$ as ListAttributesResponse2, g0 as ListAttributesResponses, g1 as ListConfigActivityData, g2 as ListConfigActivityError, g3 as ListConfigActivityErrors, g4 as ListConfigActivityResponse, g5 as ListConfigActivityResponse2, g6 as ListConfigActivityResponses, g7 as ListConfigVersionsData, g8 as ListConfigVersionsError, g9 as ListConfigVersionsErrors, ga as ListConfigVersionsResponse, gb as ListConfigVersionsResponse2, gc as ListConfigVersionsResponses, gd as ListConfigsData, ge as ListConfigsError, gf as ListConfigsErrors, gg as ListConfigsResponse, gh as ListConfigsResponse2, gi as ListConfigsResponses, gj as ListConnectorsData, gk as ListConnectorsError, gl as ListConnectorsErrors, gm as ListConnectorsResponse, gn as ListConnectorsResponse2, go as ListConnectorsResponses, gp as ListErrorsData, gq as ListErrorsError, gr as ListErrorsErrors, gs as ListErrorsResponse, gt as ListErrorsResponse2, gu as ListErrorsResponses, gv as ListEventsData, gw as ListEventsError, gx as ListEventsErrors, gy as ListEventsResponse, gz as ListEventsResponse2, gA as ListEventsResponses, gB as ListExperimentsData, gC as ListExperimentsError, gD as ListExperimentsErrors, gE as ListExperimentsResponse, gF as ListExperimentsResponse2, gG as ListExperimentsResponses, gH as ListGateActivityData, gI as ListGateActivityError, gJ as ListGateActivityErrors, gK as ListGateActivityResponse, gL as ListGateActivityResponse2, gM as ListGateActivityResponses, gN as ListGateTemplatesData, gO as ListGateTemplatesError, gP as ListGateTemplatesErrors, gQ as ListGateTemplatesResponse, gR as ListGateTemplatesResponse2, gS as ListGateTemplatesResponses, gT as ListGatesData, gU as ListGatesError, gV as ListGatesErrors, gW as ListGatesResponse, gX as ListGatesResponse2, gY as ListGatesResponses, gZ as ListI18nDraftKeysData, g_ as ListI18nDraftKeysError, g$ as ListI18nDraftKeysErrors, h0 as ListI18nDraftKeysResponse, h1 as ListI18nDraftKeysResponse2, h2 as ListI18nDraftKeysResponses, h3 as ListI18nDraftsData, h4 as ListI18nDraftsError, h5 as ListI18nDraftsErrors, h6 as ListI18nDraftsResponse, h7 as ListI18nDraftsResponse2, h8 as ListI18nDraftsResponses, h9 as ListI18nKeysData, ha as ListI18nKeysError, hb as ListI18nKeysErrors, hc as ListI18nKeysResponse, hd as ListI18nKeysResponse2, he as ListI18nKeysResponses, hf as ListI18nProfilesData, hg as ListI18nProfilesError, hh as ListI18nProfilesErrors, hi as ListI18nProfilesResponse, hj as ListI18nProfilesResponse2, hk as ListI18nProfilesResponses, hl as ListKeysData, hm as ListKeysError, hn as ListKeysErrors, ho as ListKeysResponse, hp as ListKeysResponse2, hq as ListKeysResponses, hr as ListKillswitchesData, hs as ListKillswitchesError, ht as ListKillswitchesErrors, hu as ListKillswitchesResponse, hv as ListKillswitchesResponse2, hw as ListKillswitchesResponses, hx as ListMetricExperimentsData, hy as ListMetricExperimentsError, hz as ListMetricExperimentsErrors, hA as ListMetricExperimentsResponse, hB as ListMetricExperimentsResponse2, hC as ListMetricExperimentsResponses, hD as ListMetricsData, hE as ListMetricsError, hF as ListMetricsErrors, hG as ListMetricsResponse, hH as ListMetricsResponse2, hI as ListMetricsResponses, hJ as ListOpsAgentsData, hK as ListOpsAgentsError, hL as ListOpsAgentsErrors, hM as ListOpsAgentsResponse, hN as ListOpsAgentsResponse2, hO as ListOpsAgentsResponses, hP as ListOpsCommentsData, hQ as ListOpsCommentsError, hR as ListOpsCommentsErrors, hS as ListOpsCommentsResponse, hT as ListOpsCommentsResponse2, hU as ListOpsCommentsResponses, hV as ListOpsInvestigationsData, hW as ListOpsInvestigationsError, hX as ListOpsInvestigationsErrors, hY as ListOpsInvestigationsResponse, hZ as ListOpsInvestigationsResponse2, h_ as ListOpsInvestigationsResponses, h$ as ListOpsItemsData, i0 as ListOpsItemsError, i1 as ListOpsItemsErrors, i2 as ListOpsItemsResponse, i3 as ListOpsItemsResponse2, i4 as ListOpsItemsResponses, i5 as ListSlackChannelsData, i6 as ListSlackChannelsError, i7 as ListSlackChannelsErrors, i8 as ListSlackChannelsResponse, i9 as ListSlackChannelsResponse2, ia as ListSlackChannelsResponses, ib as ListUniversesData, ic as ListUniversesError, id as ListUniversesErrors, ie as ListUniversesResponse, ig as ListUniversesResponse2, ih as ListUniversesResponses, ii as MeasurePlanResource, ij as MeasurePlanStep, ik as MetricDefaultMinEffectOfInterest, il as MetricDirection, im as MetricEventName, io as MetricName, ip as MetricQueryDsl, iq as MetricWinsorizePct, ir as NotificationTarget, is as NotifyOpsData, it as NotifyOpsError, iu as NotifyOpsErrors, iv as NotifyOpsRequest, iw as NotifyOpsResponse, ix as NotifyOpsResponse2, iy as NotifyOpsResponses, iz as OkResponse, iA as OpsAgentProfile, iB as OpsAlertContext, iC as OpsAlertMetricSummary, iD as OpsAlertRuleSummary, iE as OpsBrowserContext, iF as OpsComment, iG as OpsCommentAuthorType, iH as OpsErrorContext, iI as OpsInvestigation, iJ as OpsInvestigationState, iK as OpsItemAttachment, iL as OpsItemContext, iM as OpsItemNotifyOrNull, iN as OpsItemOwner, iO as OpsItemPriority, iP as OpsItemPriorityOrNull, iQ as OpsItemRelated, iR as OpsItemStatus, iS as OpsMeasurePlanContext, iT as OpsRun, iU as Options, iV as PaginationCursor, iW as PaginationLimit, iX as ProjectId, iY as PublishConfigDraftData, iZ as PublishConfigDraftError, i_ as PublishConfigDraftErrors, i$ as PublishConfigDraftRequest, j0 as PublishConfigDraftResponse, j1 as PublishConfigDraftResponse2, j2 as PublishConfigDraftResponses, j3 as PublishI18nProfileData, j4 as PublishI18nProfileError, j5 as PublishI18nProfileErrors, j6 as PublishI18nProfileRequest, j7 as PublishI18nProfileResponse, j8 as PublishI18nProfileResponse2, j9 as PublishI18nProfileResponses, ja as PushI18nKeysData, jb as PushI18nKeysError, jc as PushI18nKeysErrors, jd as PushI18nKeysRequest, je as PushI18nKeysResponse, jf as PushI18nKeysResponse2, jg as PushI18nKeysResponses, jh as Q, ji as QueryIr, jj as ReanalyzeExperimentData, jk as ReanalyzeExperimentError, jl as ReanalyzeExperimentErrors, jm as ReanalyzeExperimentResponse, jn as ReanalyzeExperimentResponse2, jo as ReanalyzeExperimentResponses, jp as RequestResult, jq as ResolveErrorData, jr as ResolveErrorError, js as ResolveErrorErrors, jt as ResolveErrorResponse, ju as ResolveErrorResponses, jv as ResourceId, jw as RevokeKeyData, jx as RevokeKeyError, jy as RevokeKeyErrors, jz as RevokeKeyResponse, jA as RevokeKeyResponse2, jB as RevokeKeyResponses, jC as SaveConfigDraftData, jD as SaveConfigDraftError, jE as SaveConfigDraftErrors, jF as SaveConfigDraftRequest, jG as SaveConfigDraftResponse, jH as SaveConfigDraftResponse2, jI as SaveConfigDraftResponses, jJ as SearchHit, jK as SearchResourcesData, jL as SearchResourcesError, jM as SearchResourcesErrors, jN as SearchResourcesResponse, jO as SearchResourcesResponses, jP as SearchResponse, jQ as SetExperimentMetricsData, jR as SetExperimentMetricsError, jS as SetExperimentMetricsErrors, jT as SetExperimentMetricsRequest, jU as SetExperimentMetricsResponse, jV as SetExperimentMetricsResponse2, jW as SetExperimentMetricsResponses, jX as SetExperimentStatusData, jY as SetExperimentStatusError, jZ as SetExperimentStatusErrors, j_ as SetExperimentStatusRequest, j$ as SetExperimentStatusResponse, k0 as SetExperimentStatusResponse2, k1 as SetExperimentStatusResponses, k2 as SetI18nLabelData, k3 as SetI18nLabelError, k4 as SetI18nLabelErrors, k5 as SetI18nLabelRequest, k6 as SetI18nLabelResponse, k7 as SetI18nLabelResponse2, k8 as SetI18nLabelResponses, k9 as SetKillswitchSwitchData, ka as SetKillswitchSwitchError, kb as SetKillswitchSwitchErrors, kc as SetKillswitchSwitchRequest, kd as SetKillswitchSwitchResponse, ke as SetKillswitchSwitchResponse2, kf as SetKillswitchSwitchResponses, kg as SetKillswitchValueData, kh as SetKillswitchValueError, ki as SetKillswitchValueErrors, kj as SetKillswitchValueRequest, kk as SetKillswitchValueResponse, kl as SetKillswitchValueResponse2, km as SetKillswitchValueResponses, kn as SlackConnectorData, ko as TestConnectorData, kp as TestConnectorError, kq as TestConnectorErrors, kr as TestConnectorResponse, ks as TestConnectorResponse2, kt as TestConnectorResponses, ku as UnarchiveMetricData, kv as UnarchiveMetricError, kw as UnarchiveMetricErrors, kx as UnarchiveMetricResponse, ky as UnarchiveMetricResponse2, kz as UnarchiveMetricResponses, kA as UniverseParam, kB as UniverseParamSchema, kC as UnsetKillswitchSwitchData, kD as UnsetKillswitchSwitchError, kE as UnsetKillswitchSwitchErrors, kF as UnsetKillswitchSwitchRequest, kG as UnsetKillswitchSwitchResponse, kH as UnsetKillswitchSwitchResponse2, kI as UnsetKillswitchSwitchResponses, kJ as UpdateAlertData, kK as UpdateAlertError, kL as UpdateAlertErrors, kM as UpdateAlertRequest, kN as UpdateAlertResponse, kO as UpdateAlertResponses, kP as UpdateAlertRuleData, kQ as UpdateAlertRuleError, kR as UpdateAlertRuleErrors, kS as UpdateAlertRuleRequest, kT as UpdateAlertRuleResponse, kU as UpdateAlertRuleResponse2, kV as UpdateAlertRuleResponses, kW as UpdateAttributeData, kX as UpdateAttributeError, kY as UpdateAttributeErrors, kZ as UpdateAttributeRequest, k_ as UpdateAttributeResponse, k$ as UpdateAttributeResponse2, l0 as UpdateAttributeResponses, l1 as UpdateBugRequest, l2 as UpdateClaudeTriggerRequest, l3 as UpdateConfigData, l4 as UpdateConfigError, l5 as UpdateConfigErrors, l6 as UpdateConfigRequest, l7 as UpdateConfigResponse, l8 as UpdateConfigResponse2, l9 as UpdateConfigResponses, la as UpdateConfigSchemaData, lb as UpdateConfigSchemaError, lc as UpdateConfigSchemaErrors, ld as UpdateConfigSchemaRequest, le as UpdateConfigSchemaResponse, lf as UpdateConfigSchemaResponse2, lg as UpdateConfigSchemaResponses, lh as UpdateConnectorData, li as UpdateConnectorError, lj as UpdateConnectorErrors, lk as UpdateConnectorRequest, ll as UpdateConnectorResponse, lm as UpdateConnectorResponse2, ln as UpdateConnectorResponses, lo as UpdateCopilotTriggerRequest, lp as UpdateCursorTriggerRequest, lq as UpdateErrorStatusData, lr as UpdateErrorStatusError, ls as UpdateErrorStatusErrors, lt as UpdateErrorStatusRequest, lu as UpdateErrorStatusResponse, lv as UpdateErrorStatusResponses, lw as UpdateEventData, lx as UpdateEventError, ly as UpdateEventErrors, lz as UpdateEventRequest, lA as UpdateEventResponse, lB as UpdateEventResponse2, lC as UpdateEventResponses, lD as UpdateExperimentData, lE as UpdateExperimentError, lF as UpdateExperimentErrors, lG as UpdateExperimentRequest, lH as UpdateExperimentResponse, lI as UpdateExperimentResponse2, lJ as UpdateExperimentResponses, lK as UpdateFeatureRequestRequest, lL as UpdateGateData, lM as UpdateGateError, lN as UpdateGateErrors, lO as UpdateGateRequest, lP as UpdateGateResponse, lQ as UpdateGateResponse2, lR as UpdateGateResponses, lS as UpdateGateTemplateData, lT as UpdateGateTemplateError, lU as UpdateGateTemplateErrors, lV as UpdateGateTemplateRequest, lW as UpdateGateTemplateResponse, lX as UpdateGateTemplateResponse2, lY as UpdateGateTemplateResponses, lZ as UpdateI18nDraftData, l_ as UpdateI18nDraftError, l$ as UpdateI18nDraftErrors, m0 as UpdateI18nDraftRequest, m1 as UpdateI18nDraftResponse, m2 as UpdateI18nDraftResponses, m3 as UpdateI18nKeyData, m4 as UpdateI18nKeyError, m5 as UpdateI18nKeyErrors, m6 as UpdateI18nKeyRequest, m7 as UpdateI18nKeyResponse, m8 as UpdateI18nKeyResponse2, m9 as UpdateI18nKeyResponses, ma as UpdateJulesTriggerRequest, mb as UpdateKillswitchData, mc as UpdateKillswitchError, md as UpdateKillswitchErrors, me as UpdateKillswitchRequest, mf as UpdateKillswitchResponse, mg as UpdateKillswitchResponse2, mh as UpdateKillswitchResponses, mi as UpdateMetricData, mj as UpdateMetricError, mk as UpdateMetricErrors, ml as UpdateMetricFields, mm as UpdateMetricRequest, mn as UpdateMetricResponse, mo as UpdateMetricResponses, mp as UpdateMetricWithQuery, mq as UpdateMetricWithQueryIr, mr as UpdateOpsItemData, ms as UpdateOpsItemError, mt as UpdateOpsItemErrors, mu as UpdateOpsItemRequest, mv as UpdateOpsItemResponse, mw as UpdateOpsItemResponse2, mx as UpdateOpsItemResponses, my as UpdateOpsItemStatusRequest, mz as UpdateProjectData, mA as UpdateProjectError, mB as UpdateProjectErrors, mC as UpdateProjectRequest, mD as UpdateProjectResponse, mE as UpdateProjectResponses, mF as UpdateTriggerConnectorData, mG as UpdateTriggerConnectorError, mH as UpdateTriggerConnectorErrors, mI as UpdateTriggerConnectorRequest, mJ as UpdateTriggerConnectorResponse, mK as UpdateTriggerConnectorResponses, mL as UpdateUniverseData, mM as UpdateUniverseError, mN as UpdateUniverseErrors, mO as UpdateUniverseRequest, mP as UpdateUniverseResponse, mQ as UpdateUniverseResponse2, mR as UpdateUniverseResponses, mS as UpsertI18nDraftKeyData, mT as UpsertI18nDraftKeyError, mU as UpsertI18nDraftKeyErrors, mV as UpsertI18nDraftKeyRequest, mW as UpsertI18nDraftKeyResponse, mX as UpsertI18nDraftKeyResponses, mY as UpsertI18nKeysData, mZ as UpsertI18nKeysError, m_ as UpsertI18nKeysErrors, m$ as UpsertI18nKeysRequest, n0 as UpsertI18nKeysResponse, n1 as UpsertI18nKeysResponse2, n2 as UpsertI18nKeysResponses, n3 as UpsertProjectData, n4 as UpsertProjectError, n5 as UpsertProjectErrors, n6 as UpsertProjectRequest, n7 as UpsertProjectResponse, n8 as UpsertProjectResponse2, n9 as UpsertProjectResponses, na as ackOpsItem, nb as approveEvent, nc as client, nd as configure, ne as createAlertRule, nf as createAttribute, ng as createClient, nh as createClientConfig, ni as createConfig, nj as createConnector, nk as createEvent, nl as createExperiment, nm as createExperimentReadout, nn as createGate, no as createGateTemplate, np as createI18nDraft, nq as createI18nProfile, nr as createKey, ns as createKillswitch, nt as createMetric, nu as createOpsComment, nv as createOpsInvestigation, nw as createOpsItem, nx as createTriggerConnector, ny as createUniverse, nz as deleteAlertRule, nA as deleteAttribute, nB as deleteConfig, nC as deleteConnector, nD as deleteEvent, nE as deleteExperiment, nF as deleteGate, nG as deleteGateTemplate, nH as deleteI18nDraft, nI as deleteI18nKey, nJ as deleteI18nProfile, nK as deleteKillswitch, nL as deleteMetric, nM as deleteOpsItem, nN as deleteUniverse, nO as disableGate, nP as discardConfigDraft, nQ as enableGate, nR as fileErrorTicket, nS as fireConnector, nT as getAttribute, nU as getConfig, nV as getConnector, nW as getCurrentProject, nX as getError, nY as getErrorSeries, nZ as getEvent, n_ as getExperiment, n$ as getExperimentReadout, o0 as getExperimentResults, o1 as getExperimentTimeseries, o2 as getGate, o3 as getGateTemplate, o4 as getKillswitch, o5 as getMetric, o6 as getMetricSeries, o7 as getOpsItem, o8 as getProject, o9 as linkPrToOpsItem, oa as listAlertRules, ob as listAlerts, oc as listAttributes, od as listConfigActivity, oe as listConfigVersions, of as listConfigs, og as listConnectors, oh as listErrors, oi as listEvents, oj as listExperiments, ok as listGateActivity, ol as listGateTemplates, om as listGates, on as listI18nDraftKeys, oo as listI18nDrafts, op as listI18nKeys, oq as listI18nProfiles, or as listKeys, os as listKillswitches, ot as listMetricExperiments, ou as listMetrics, ov as listOpsAgents, ow as listOpsComments, ox as listOpsInvestigations, oy as listOpsItems, oz as listSlackChannels, oA as listUniverses, oB as notifyOps, oC as publishConfigDraft, oD as publishI18nProfile, oE as pushI18nKeys, oF as reanalyzeExperiment, oG as resolveError, oH as revokeKey, oI as saveConfigDraft, oJ as searchResources, oK as setExperimentMetrics, oL as setExperimentStatus, oM as setI18nLabel, oN as setKillswitchSwitch, oO as setKillswitchValue, oP as testConnector, oQ as unarchiveMetric, oR as unsetKillswitchSwitch, oS as updateAlert, oT as updateAlertRule, oU as updateAttribute, oV as updateConfig, oW as updateConfigSchema, oX as updateConnector, oY as updateErrorStatus, oZ as updateEvent, o_ as updateExperiment, o$ as updateGate, p0 as updateGateTemplate, p1 as updateI18nDraft, p2 as updateI18nKey, p3 as updateKillswitch, p4 as updateMetric, p5 as updateOpsItem, p6 as updateProject, p7 as updateTriggerConnector, p8 as updateUniverse, p9 as upsertI18nDraftKey, pa as upsertI18nKeys, pb as upsertProject } from './client-WGNXT4xl.js';
3
3
 
4
4
  /**
5
5
  * The canonical `ErrorCode` catalogue as a runtime array — derived from the