@absmartly/cli 1.1.0 → 1.2.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 (116) hide show
  1. package/dist/api-client/api-client.d.ts +132 -14
  2. package/dist/api-client/api-client.d.ts.map +1 -1
  3. package/dist/api-client/api-client.js +255 -66
  4. package/dist/api-client/api-client.js.map +1 -1
  5. package/dist/commands/apikeys/index.js +9 -1
  6. package/dist/commands/apikeys/index.js.map +1 -1
  7. package/dist/commands/apps/index.js +9 -1
  8. package/dist/commands/apps/index.js.map +1 -1
  9. package/dist/commands/auth/index.js +30 -0
  10. package/dist/commands/auth/index.js.map +1 -1
  11. package/dist/commands/customfields/index.js +9 -1
  12. package/dist/commands/customfields/index.js.map +1 -1
  13. package/dist/commands/envs/index.js +9 -1
  14. package/dist/commands/envs/index.js.map +1 -1
  15. package/dist/commands/experiments/activity.js +1 -1
  16. package/dist/commands/experiments/activity.js.map +1 -1
  17. package/dist/commands/experiments/list.js +1 -1
  18. package/dist/commands/experiments/list.js.map +1 -1
  19. package/dist/commands/goals/index.js +9 -1
  20. package/dist/commands/goals/index.js.map +1 -1
  21. package/dist/commands/goaltags/index.js +9 -1
  22. package/dist/commands/goaltags/index.js.map +1 -1
  23. package/dist/commands/metriccategories/index.js +9 -1
  24. package/dist/commands/metriccategories/index.js.map +1 -1
  25. package/dist/commands/metrics/index.d.ts.map +1 -1
  26. package/dist/commands/metrics/index.js +179 -29
  27. package/dist/commands/metrics/index.js.map +1 -1
  28. package/dist/commands/metrictags/index.js +9 -1
  29. package/dist/commands/metrictags/index.js.map +1 -1
  30. package/dist/commands/roles/index.js +9 -1
  31. package/dist/commands/roles/index.js.map +1 -1
  32. package/dist/commands/segments/index.js +9 -1
  33. package/dist/commands/segments/index.js.map +1 -1
  34. package/dist/commands/tags/index.js +9 -1
  35. package/dist/commands/tags/index.js.map +1 -1
  36. package/dist/commands/teams/index.js +10 -1
  37. package/dist/commands/teams/index.js.map +1 -1
  38. package/dist/commands/units/index.js +9 -1
  39. package/dist/commands/units/index.js.map +1 -1
  40. package/dist/commands/webhooks/index.js +9 -1
  41. package/dist/commands/webhooks/index.js.map +1 -1
  42. package/dist/core/activity/activity.js +1 -1
  43. package/dist/core/activity/activity.js.map +1 -1
  44. package/dist/core/apikeys/apikeys.js +1 -1
  45. package/dist/core/apikeys/apikeys.js.map +1 -1
  46. package/dist/core/apps/apps.js +1 -1
  47. package/dist/core/apps/apps.js.map +1 -1
  48. package/dist/core/customfields/list.js +1 -1
  49. package/dist/core/customfields/list.js.map +1 -1
  50. package/dist/core/envs/envs.js +1 -1
  51. package/dist/core/envs/envs.js.map +1 -1
  52. package/dist/core/experiments/custom-fields.js +1 -1
  53. package/dist/core/experiments/custom-fields.js.map +1 -1
  54. package/dist/core/experiments/metrics.js +1 -1
  55. package/dist/core/experiments/metrics.js.map +1 -1
  56. package/dist/core/goals/list.js +1 -1
  57. package/dist/core/goals/list.js.map +1 -1
  58. package/dist/core/goaltags/goaltags.js +1 -1
  59. package/dist/core/goaltags/goaltags.js.map +1 -1
  60. package/dist/core/metriccategories/metriccategories.js +1 -1
  61. package/dist/core/metriccategories/metriccategories.js.map +1 -1
  62. package/dist/core/metrics/create.d.ts +2 -12
  63. package/dist/core/metrics/create.d.ts.map +1 -1
  64. package/dist/core/metrics/create.js +3 -19
  65. package/dist/core/metrics/create.js.map +1 -1
  66. package/dist/core/metrics/new-version.d.ts +13 -0
  67. package/dist/core/metrics/new-version.d.ts.map +1 -0
  68. package/dist/core/metrics/new-version.js +9 -0
  69. package/dist/core/metrics/new-version.js.map +1 -0
  70. package/dist/core/metrics/payload.d.ts +56 -0
  71. package/dist/core/metrics/payload.d.ts.map +1 -0
  72. package/dist/core/metrics/payload.js +173 -0
  73. package/dist/core/metrics/payload.js.map +1 -0
  74. package/dist/core/metrics/update.d.ts +2 -0
  75. package/dist/core/metrics/update.d.ts.map +1 -1
  76. package/dist/core/metrics/update.js +4 -0
  77. package/dist/core/metrics/update.js.map +1 -1
  78. package/dist/core/metrictags/metrictags.js +1 -1
  79. package/dist/core/metrictags/metrictags.js.map +1 -1
  80. package/dist/core/resolve.d.ts +1 -0
  81. package/dist/core/resolve.d.ts.map +1 -1
  82. package/dist/core/resolve.js +8 -0
  83. package/dist/core/resolve.js.map +1 -1
  84. package/dist/core/roles/roles.js +1 -1
  85. package/dist/core/roles/roles.js.map +1 -1
  86. package/dist/core/segments/segments.js +1 -1
  87. package/dist/core/segments/segments.js.map +1 -1
  88. package/dist/core/tags/tags.js +1 -1
  89. package/dist/core/tags/tags.js.map +1 -1
  90. package/dist/core/teams/list.d.ts.map +1 -1
  91. package/dist/core/teams/list.js +5 -1
  92. package/dist/core/teams/list.js.map +1 -1
  93. package/dist/core/units/units.js +1 -1
  94. package/dist/core/units/units.js.map +1 -1
  95. package/dist/core/webhooks/list.js +1 -1
  96. package/dist/core/webhooks/list.js.map +1 -1
  97. package/dist/index.js +1 -1
  98. package/dist/index.js.map +1 -1
  99. package/dist/lib/api/axios-adapter.d.ts +14 -0
  100. package/dist/lib/api/axios-adapter.d.ts.map +1 -1
  101. package/dist/lib/api/axios-adapter.js +101 -2
  102. package/dist/lib/api/axios-adapter.js.map +1 -1
  103. package/dist/lib/auth/token-exchange.d.ts.map +1 -1
  104. package/dist/lib/auth/token-exchange.js +30 -4
  105. package/dist/lib/auth/token-exchange.js.map +1 -1
  106. package/dist/lib/output/formatter.d.ts +1 -1
  107. package/dist/lib/output/formatter.d.ts.map +1 -1
  108. package/dist/lib/output/formatter.js +5 -0
  109. package/dist/lib/output/formatter.js.map +1 -1
  110. package/dist/lib/utils/api-helper.d.ts.map +1 -1
  111. package/dist/lib/utils/api-helper.js +1 -0
  112. package/dist/lib/utils/api-helper.js.map +1 -1
  113. package/dist/lib/utils/list-command.d.ts.map +1 -1
  114. package/dist/lib/utils/list-command.js +7 -1
  115. package/dist/lib/utils/list-command.js.map +1 -1
  116. package/package.json +1 -1
@@ -0,0 +1,173 @@
1
+ // Shared camelCase → snake_case mapping for metric fields, used by both
2
+ // createMetric (fresh metric) and createMetricVersion (new draft version).
3
+ export function buildMetricPayload(fields) {
4
+ const data = {};
5
+ const set = (key, value) => {
6
+ if (value !== undefined)
7
+ data[key] = value;
8
+ };
9
+ set('name', fields.name);
10
+ set('type', fields.type);
11
+ set('description', fields.description);
12
+ set('effect', fields.effect);
13
+ set('goal_id', fields.goalId);
14
+ if (fields.owner !== undefined)
15
+ data.owners = [{ user_id: fields.owner }];
16
+ set('format_str', fields.formatStr);
17
+ set('scale', fields.scale);
18
+ set('precision', fields.precision);
19
+ set('mean_format_str', fields.meanFormatStr);
20
+ set('mean_scale', fields.meanScale);
21
+ set('mean_precision', fields.meanPrecision);
22
+ set('outlier_limit_method', fields.outlierLimitMethod);
23
+ set('value_source_property', fields.valueSourceProperty);
24
+ set('property_filter', fields.propertyFilter);
25
+ set('retention_time', fields.retentionTime);
26
+ set('retention_time_reference', fields.retentionTimeReference);
27
+ set('activity_interval', fields.activityInterval);
28
+ set('custom_sql', fields.customSql);
29
+ set('custom_statistics_type', fields.customStatisticsType);
30
+ set('vr_lookback_interval', fields.vrLookbackInterval);
31
+ set('relation_kind', fields.relationKind);
32
+ set('relation_refund_operation', fields.relationRefundOperation);
33
+ set('relation_foreign_duplicate_operation', fields.relationForeignDuplicateOperation);
34
+ set('numerator_type', fields.numeratorType);
35
+ set('denominator_type', fields.denominatorType);
36
+ set('denominator_goal_id', fields.denominatorGoalId);
37
+ set('denominator_value_source_property', fields.denominatorValueSourceProperty);
38
+ set('denominator_property_filter', fields.denominatorPropertyFilter);
39
+ set('denominator_outlier_limit_method', fields.denominatorOutlierLimitMethod);
40
+ set('denominator_retention_time', fields.denominatorRetentionTime);
41
+ set('denominator_retention_time_reference', fields.denominatorRetentionTimeReference);
42
+ set('denominator_activity_interval', fields.denominatorActivityInterval);
43
+ set('denominator_custom_sql', fields.denominatorCustomSql);
44
+ set('denominator_custom_statistics_type', fields.denominatorCustomStatisticsType);
45
+ set('denominator_vr_lookback_interval', fields.denominatorVrLookbackInterval);
46
+ set('denominator_relation_kind', fields.denominatorRelationKind);
47
+ set('denominator_relation_refund_operation', fields.denominatorRelationRefundOperation);
48
+ set('denominator_relation_foreign_duplicate_operation', fields.denominatorRelationForeignDuplicateOperation);
49
+ set('ratio_condition', fields.ratioCondition);
50
+ // The backend's chk_goal_ratio DB CHECK constraint requires
51
+ // denominator_value_source_property to be NOT NULL for every goal_ratio row.
52
+ // The column is nullable with no DB default, so a payload that omits the
53
+ // field produces a 500 at insert time. Default it to "" here (mirroring the
54
+ // backend-side fix in office/backend/src/routes/metrics/index.ts
55
+ // prepareDraftData) so users aren't forced to pass --denominator-value-source-property
56
+ // for every goal_ratio metric.
57
+ if (fields.type === 'goal_ratio' && !('denominator_value_source_property' in data)) {
58
+ data.denominator_value_source_property = '';
59
+ }
60
+ return data;
61
+ }
62
+ // Mirrors backend metricTypeSpecificRequiredFields / denominatorTypeSpecificRequiredFields
63
+ // in ~/abs/office/backend/src/routes/metrics/index.ts. Keep these in sync when the
64
+ // backend changes.
65
+ const typeRequiredFields = {
66
+ goal_count: ['goalId'],
67
+ goal_unique_count: ['goalId'],
68
+ goal_time_to_achievement: ['goalId'],
69
+ goal_property: ['valueSourceProperty', 'goalId'],
70
+ goal_property_unique_count: ['valueSourceProperty', 'goalId'],
71
+ goal_retention: ['retentionTime', 'retentionTimeReference', 'goalId'],
72
+ goal_activity_period_count: ['goalId', 'activityInterval'],
73
+ custom_sql: ['customSql', 'customStatisticsType'],
74
+ goal_ratio: ['numeratorType', 'denominatorType', 'denominatorOutlierLimitMethod'],
75
+ };
76
+ const denominatorTypeRequiredFields = {
77
+ goal_count: ['denominatorGoalId'],
78
+ goal_unique_count: ['denominatorGoalId'],
79
+ goal_time_to_achievement: ['denominatorGoalId'],
80
+ goal_property: ['denominatorValueSourceProperty', 'denominatorGoalId'],
81
+ goal_property_unique_count: ['denominatorValueSourceProperty', 'denominatorGoalId'],
82
+ goal_retention: [
83
+ 'denominatorRetentionTime',
84
+ 'denominatorRetentionTimeReference',
85
+ 'denominatorGoalId',
86
+ ],
87
+ goal_activity_period_count: ['denominatorGoalId', 'denominatorActivityInterval'],
88
+ custom_sql: ['denominatorCustomSql', 'denominatorCustomStatisticsType'],
89
+ };
90
+ const fieldToFlag = {
91
+ goalId: '--goal',
92
+ valueSourceProperty: '--value-source-property',
93
+ retentionTime: '--retention-time',
94
+ retentionTimeReference: '--retention-time-reference',
95
+ activityInterval: '--activity-interval',
96
+ customSql: '--custom-sql',
97
+ customStatisticsType: '--custom-statistics-type',
98
+ numeratorType: '--numerator-type',
99
+ denominatorType: '--denominator-type',
100
+ denominatorOutlierLimitMethod: '--denominator-outlier-limit-method',
101
+ denominatorGoalId: '--denominator-goal',
102
+ denominatorValueSourceProperty: '--denominator-value-source-property',
103
+ denominatorRetentionTime: '--denominator-retention-time',
104
+ denominatorRetentionTimeReference: '--denominator-retention-time-reference',
105
+ denominatorActivityInterval: '--denominator-activity-interval',
106
+ denominatorCustomSql: '--denominator-custom-sql',
107
+ denominatorCustomStatisticsType: '--denominator-custom-statistics-type',
108
+ };
109
+ function flagFor(field) {
110
+ return (fieldToFlag[field] ??
111
+ `--${String(field)
112
+ .replace(/([A-Z])/g, '-$1')
113
+ .toLowerCase()}`);
114
+ }
115
+ function isMissing(value) {
116
+ return value === undefined || value === null || value === '';
117
+ }
118
+ export function validateMetricFields(fields, options) {
119
+ const changingTypeShape = fields.type !== undefined ||
120
+ fields.numeratorType !== undefined ||
121
+ fields.denominatorType !== undefined;
122
+ if (options.mode === 'loose' && !changingTypeShape)
123
+ return;
124
+ const errors = [];
125
+ if (fields.type !== undefined && !(fields.type in typeRequiredFields)) {
126
+ errors.push(`Unknown metric --type '${fields.type}'. Must be one of: ${Object.keys(typeRequiredFields).join(', ')}.`);
127
+ }
128
+ if (fields.type !== undefined) {
129
+ const required = typeRequiredFields[fields.type] ?? [];
130
+ for (const field of required) {
131
+ if (isMissing(fields[field])) {
132
+ errors.push(`${flagFor(field)} is required when --type is ${fields.type}.`);
133
+ }
134
+ }
135
+ }
136
+ if (fields.type === 'goal_ratio' || fields.numeratorType !== undefined) {
137
+ const effectiveNumerator = fields.numeratorType;
138
+ if (effectiveNumerator !== undefined && !(effectiveNumerator in typeRequiredFields)) {
139
+ errors.push(`Unknown --numerator-type '${effectiveNumerator}'. Must be one of: ${Object.keys(typeRequiredFields).join(', ')}.`);
140
+ }
141
+ if (effectiveNumerator !== undefined) {
142
+ const required = typeRequiredFields[effectiveNumerator] ?? [];
143
+ for (const field of required) {
144
+ // Skip self-referencing required fields (e.g. goal_ratio's numerator_type requirement).
145
+ if (field === 'numeratorType' || field === 'denominatorType')
146
+ continue;
147
+ if (isMissing(fields[field])) {
148
+ errors.push(`${flagFor(field)} is required when --numerator-type is ${effectiveNumerator}.`);
149
+ }
150
+ }
151
+ }
152
+ }
153
+ if (fields.type === 'goal_ratio' || fields.denominatorType !== undefined) {
154
+ const denomType = fields.denominatorType;
155
+ if (denomType !== undefined && !(denomType in denominatorTypeRequiredFields)) {
156
+ errors.push(`Unknown --denominator-type '${denomType}'. Must be one of: ${Object.keys(denominatorTypeRequiredFields).join(', ')}.`);
157
+ }
158
+ if (denomType !== undefined) {
159
+ const required = denominatorTypeRequiredFields[denomType] ?? [];
160
+ for (const field of required) {
161
+ if (isMissing(fields[field])) {
162
+ errors.push(`${flagFor(field)} is required when --denominator-type is ${denomType}.`);
163
+ }
164
+ }
165
+ }
166
+ }
167
+ if (errors.length > 0) {
168
+ throw new Error(errors.length === 1
169
+ ? errors[0]
170
+ : `Metric payload is missing required fields:\n - ${errors.join('\n - ')}`);
171
+ }
172
+ }
173
+ //# sourceMappingURL=payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/core/metrics/payload.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ import type { MetricId } from '../../lib/api/branded-types.js';
3
3
  import type { CommandResult } from '../types.js';
4
4
  export interface UpdateMetricParams {
5
5
  id: MetricId;
6
+ name?: string | undefined;
6
7
  description?: string | undefined;
8
+ owner?: number | undefined;
7
9
  }
8
10
  export declare function updateMetric(client: APIClient, params: UpdateMetricParams): Promise<CommandResult<void>>;
9
11
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/core/metrics/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,QAAQ,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAU9B"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/core/metrics/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAY9B"}
@@ -1,7 +1,11 @@
1
1
  export async function updateMetric(client, params) {
2
2
  const data = {};
3
+ if (params.name !== undefined)
4
+ data.name = params.name;
3
5
  if (params.description !== undefined)
4
6
  data.description = params.description;
7
+ if (params.owner !== undefined)
8
+ data.owners = [{ user_id: params.owner }];
5
9
  if (Object.keys(data).length === 0) {
6
10
  throw new Error('At least one update field is required');
7
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/core/metrics/update.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,MAA0B;IAE1B,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAE5E,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/core/metrics/update.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,MAA0B;IAE1B,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACvD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC5E,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAE1E,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { requireAtLeastOneField } from '../../lib/utils/validators.js';
2
2
  export async function listMetricTags(client, params) {
3
- const data = await client.listMetricTags(params.items, params.page);
3
+ const data = await client.listMetricTags({ items: params.items, page: params.page });
4
4
  return { data };
5
5
  }
6
6
  export async function getMetricTag(client, params) {
@@ -1 +1 @@
1
- {"version":3,"file":"metrictags.js","sourceRoot":"","sources":["../../../src/core/metrictags/metrictags.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAOvE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAiB,EACjB,MAA4B;IAE5B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,MAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,MAA6B;IAE7B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/D,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,MAA6B;IAE7B,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,IAAI,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IAEtC,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,IAAuB,CAAC,CAAC;IAChF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,MAA6B;IAE7B,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"metrictags.js","sourceRoot":"","sources":["../../../src/core/metrictags/metrictags.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAOvE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAiB,EACjB,MAA4B;IAE5B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,MAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,MAA6B;IAE7B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/D,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,MAA6B;IAE7B,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,IAAI,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IAEtC,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,IAAuB,CAAC,CAAC;IAChF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,MAA6B;IAE7B,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC"}
@@ -4,4 +4,5 @@ export declare function resolveTeamIds(client: APIClient, raw: string): Promise<
4
4
  export declare function resolveOwnerIds(client: APIClient, raw: string): Promise<string>;
5
5
  export declare function resolveApplicationIds(client: APIClient, raw: string): Promise<string>;
6
6
  export declare function resolveUnitTypeIds(client: APIClient, raw: string): Promise<string>;
7
+ export declare function resolveGoalId(client: APIClient, raw: string): Promise<number>;
7
8
  //# sourceMappingURL=resolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/core/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAO7D,wBAAsB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKnF;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKpF;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKrF;AAED,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAK3F;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKxF"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/core/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAO7D,wBAAsB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKnF;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKpF;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKrF;AAED,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAK3F;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKxF;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnF"}
@@ -37,4 +37,12 @@ export async function resolveUnitTypeIds(client, raw) {
37
37
  const resolved = await client.resolveUnitTypes(refs);
38
38
  return resolved.map((u) => u.id).join(',');
39
39
  }
40
+ export async function resolveGoalId(client, raw) {
41
+ const trimmed = raw.trim();
42
+ const asInt = parseInt(trimmed, 10);
43
+ if (!isNaN(asInt) && String(asInt) === trimmed)
44
+ return asInt;
45
+ const resolved = await client.resolveGoals([trimmed]);
46
+ return resolved[0].id;
47
+ }
40
48
  //# sourceMappingURL=resolve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/core/resolve.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,SAAS,UAAU,CAAC,IAAc;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAiB,EAAE,GAAW;IAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAiB,EAAE,GAAW;IACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAiB,EAAE,GAAW;IAClE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAAiB,EAAE,GAAW;IACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAiB,EAAE,GAAW;IACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/core/resolve.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { requireAtLeastOneField } from '../../lib/utils/validators.js';
2
2
  export async function listRoles(client, params) {
3
- const data = await client.listRoles(params.items, params.page);
3
+ const data = await client.listRoles({ items: params.items, page: params.page });
4
4
  return { data };
5
5
  }
6
6
  export async function getRole(client, params) {
@@ -1 +1 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/core/roles/roles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAOvE,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,MAAuB;IAEvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAiB,EACjB,MAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7C,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,MAAM,OAAO,GAA4B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC/E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACvD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAE5E,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/core/roles/roles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAOvE,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,MAAuB;IAEvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAChF,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAiB,EACjB,MAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7C,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,MAAM,OAAO,GAA4B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC/E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACvD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAE5E,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { summarizeSegmentRow, applyShowExclude, summarizeSegment, } from '../../api-client/entity-summary.js';
2
2
  import { requireAtLeastOneField } from '../../lib/utils/validators.js';
3
3
  export async function listSegments(client, params) {
4
- const data = await client.listSegments(params.items, params.page);
4
+ const data = await client.listSegments({ items: params.items, page: params.page });
5
5
  return { data, rows: data.map(summarizeSegmentRow) };
6
6
  }
7
7
  export async function getSegment(client, params) {
@@ -1 +1 @@
1
- {"version":3,"file":"segments.js","sourceRoot":"","sources":["../../../src/core/segments/segments.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAOvE,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,MAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAG,IAAuC,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;AAC3F,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAErC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG;QACrB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,gBAAgB,CACd,gBAAgB,CAAC,OAAkC,CAAC,EACpD,OAAkC,EAClC,IAAI,EACJ,OAAO,CACR,CAAC;IACN,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,MAA2B;IAE3B,MAAM,OAAO,GAA4B;QACvC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,sBAAsB,EAAE,MAAM,CAAC,SAAS;KACzC,CAAC;IACF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC/E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,MAA2B;IAE3B,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;IAC7E,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAE5E,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,MAA2B;IAE3B,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"segments.js","sourceRoot":"","sources":["../../../src/core/segments/segments.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAOvE,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,MAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACnF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAG,IAAuC,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;AAC3F,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAErC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG;QACrB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,gBAAgB,CACd,gBAAgB,CAAC,OAAkC,CAAC,EACpD,OAAkC,EAClC,IAAI,EACJ,OAAO,CACR,CAAC;IACN,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,MAA2B;IAE3B,MAAM,OAAO,GAA4B;QACvC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,sBAAsB,EAAE,MAAM,CAAC,SAAS;KACzC,CAAC;IACF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC/E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,MAA2B;IAE3B,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;IAC7E,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAE5E,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,MAA2B;IAE3B,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { requireAtLeastOneField } from '../../lib/utils/validators.js';
2
2
  export async function listTags(client, params) {
3
- const data = await client.listExperimentTags(params.items, params.page);
3
+ const data = await client.listExperimentTags({ items: params.items, page: params.page });
4
4
  return { data };
5
5
  }
6
6
  export async function getTag(client, params) {
@@ -1 +1 @@
1
- {"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/core/tags/tags.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAOvE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAiB,EACjB,MAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACxE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,MAAiB,EACjB,MAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,MAAuB;IAEvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,MAAuB;IAEvB,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,IAAI,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IAEtC,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAuB,CAAC,CAAC;IACpF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,MAAuB;IAEvB,MAAM,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5C,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/core/tags/tags.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAOvE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAiB,EACjB,MAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACzF,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,MAAiB,EACjB,MAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,MAAuB;IAEvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,MAAuB;IAEvB,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,IAAI,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IAEtC,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAuB,CAAC,CAAC;IACpF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,MAAuB;IAEvB,MAAM,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5C,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/core/teams/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAGnC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/core/teams/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAOnC"}
@@ -1,6 +1,10 @@
1
1
  import { summarizeTeamRow } from '../../api-client/entity-summary.js';
2
2
  export async function listTeams(client, params) {
3
- const data = await client.listTeams(!!params.includeArchived, params.items, params.page);
3
+ const data = await client.listTeams({
4
+ includeArchived: !!params.includeArchived,
5
+ items: params.items,
6
+ page: params.page,
7
+ });
4
8
  return { data, rows: data.map(summarizeTeamRow) };
5
9
  }
6
10
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/core/teams/list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAQtE,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,MAAuB;IAEvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACzF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAG,IAAuC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;AACxF,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/core/teams/list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAQtE,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,MAAuB;IAEvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC;QAClC,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe;QACzC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAG,IAAuC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;AACxF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { requireAtLeastOneField } from '../../lib/utils/validators.js';
2
2
  export async function listUnits(client, params) {
3
- const data = await client.listUnitTypes(params.items, params.page);
3
+ const data = await client.listUnitTypes({ items: params.items, page: params.page });
4
4
  return { data };
5
5
  }
6
6
  export async function getUnit(client, params) {
@@ -1 +1 @@
1
- {"version":3,"file":"units.js","sourceRoot":"","sources":["../../../src/core/units/units.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAOvE,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,MAAuB;IAEvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAiB,EACjB,MAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,MAAM,OAAO,GAA4B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,MAAM,CAAC,WAAW;QAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,OAA2B,CAAC,CAAC;IACtE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,MAAM,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzC,IAAI,MAAM,CAAC,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAE9D,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAiB,EACjB,MAAyB;IAEzB,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1D,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"units.js","sourceRoot":"","sources":["../../../src/core/units/units.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAOvE,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,MAAuB;IAEvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACpF,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAiB,EACjB,MAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,MAAM,OAAO,GAA4B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,MAAM,CAAC,WAAW;QAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,OAA2B,CAAC,CAAC;IACtE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,MAAwB;IAExB,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,MAAM,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzC,IAAI,MAAM,CAAC,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAE9D,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAiB,EACjB,MAAyB;IAEzB,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1D,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;AAClE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export async function listWebhooks(client, params) {
2
- const data = await client.listWebhooks(params.items, params.page);
2
+ const data = await client.listWebhooks({ items: params.items, page: params.page });
3
3
  return { data };
4
4
  }
5
5
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/core/webhooks/list.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,MAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/core/webhooks/list.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,MAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACnF,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC"}
package/dist/index.js CHANGED
@@ -52,7 +52,7 @@ program
52
52
  .option('--endpoint <url>', 'override API endpoint')
53
53
  .option('--app <name>', 'override default application')
54
54
  .option('--env <name>', 'override default environment')
55
- .option('-o, --output <format>', 'output format (table, json, yaml, plain, markdown, rendered, vertical, template)', 'table')
55
+ .option('-o, --output <format>', 'output format (table, json, yaml, plain, markdown, rendered, vertical, template, ids)')
56
56
  .option('--no-color', 'disable colored output')
57
57
  .option('-v, --verbose', 'verbose output')
58
58
  .option('-q, --quiet', 'minimal output')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,18 @@
1
1
  import type { HttpClient, HttpRequestConfig, HttpResponse } from '../../api-client/http-client.js';
2
+ /**
3
+ * Turn a Prisma-wrapped Postgres error into a readable summary.
4
+ * Input looks like (whitespace collapsed for this comment):
5
+ * Invalid `prisma.metric.create()` invocation: ... ConnectorError { ...
6
+ * PostgresError { code: "23514", message: "new row for relation \"metrics\"
7
+ * violates check constraint \"chk_goal_ratio\"", severity: "ERROR",
8
+ * detail: Some("Failing row contains (...)"), column: None, hint: None }
9
+ * ... }
10
+ *
11
+ * Returns the Postgres `message` on its own line, followed by the `detail`
12
+ * on a second line when present. Returns `undefined` when the input doesn't
13
+ * look like a Prisma error, so the caller can fall back to the raw body.
14
+ */
15
+ export declare function formatPrismaError(text: string): string | undefined;
2
16
  export type AuthConfig = {
3
17
  method: 'api-key';
4
18
  apiKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"axios-adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/api/axios-adapter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AASnG,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;CAAE,CAAC;AAElF,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAU;IACzB,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;gBAG/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO;IAwGrE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAmCrE,UAAU,IAAI,MAAM;IAIpB,aAAa,IAAI,MAAM;IAOvB,OAAO,CAAC,WAAW;CAiDpB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACpE,eAAe,CAEjB"}
1
+ {"version":3,"file":"axios-adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/api/axios-adapter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AASnG;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQlE;AAqCD,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;CAAE,CAAC;AAElF,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAU;IACzB,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;gBAG/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO;IAwGrE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAmCrE,UAAU,IAAI,MAAM;IAIpB,aAAa,IAAI,MAAM;IAOvB,OAAO,CAAC,WAAW;CA2FpB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACpE,eAAe,CAEjB"}
@@ -7,6 +7,64 @@ const DEFAULT_TIMEOUT = 30000;
7
7
  const RETRY_COUNT = 3;
8
8
  const NON_IDEMPOTENT_PUT_PATHS = ['/start', '/stop', '/restart', '/development', '/full_on'];
9
9
  const IDEMPOTENT_METHODS = ['GET', 'HEAD', 'OPTIONS', 'PUT', 'DELETE'];
10
+ /**
11
+ * Turn a Prisma-wrapped Postgres error into a readable summary.
12
+ * Input looks like (whitespace collapsed for this comment):
13
+ * Invalid `prisma.metric.create()` invocation: ... ConnectorError { ...
14
+ * PostgresError { code: "23514", message: "new row for relation \"metrics\"
15
+ * violates check constraint \"chk_goal_ratio\"", severity: "ERROR",
16
+ * detail: Some("Failing row contains (...)"), column: None, hint: None }
17
+ * ... }
18
+ *
19
+ * Returns the Postgres `message` on its own line, followed by the `detail`
20
+ * on a second line when present. Returns `undefined` when the input doesn't
21
+ * look like a Prisma error, so the caller can fall back to the raw body.
22
+ */
23
+ export function formatPrismaError(text) {
24
+ if (!text.includes('PostgresError') && !text.includes('prisma.'))
25
+ return undefined;
26
+ const message = extractRustString(text, /\bmessage:\s*"/);
27
+ if (message === undefined)
28
+ return undefined;
29
+ const detail = extractRustString(text, /\bdetail:\s*Some\("/);
30
+ return detail !== undefined ? `${message}\n${detail}` : message;
31
+ }
32
+ /**
33
+ * Scan forward from the first match of `startRe` and return the contents of
34
+ * the following Rust-debug-formatted double-quoted string, unescaping `\"`
35
+ * and `\\` (the only escapes Rust's default Debug impl for &str emits).
36
+ */
37
+ function extractRustString(text, startRe) {
38
+ const match = startRe.exec(text);
39
+ if (!match)
40
+ return undefined;
41
+ let i = match.index + match[0].length;
42
+ let out = '';
43
+ while (i < text.length) {
44
+ const ch = text[i];
45
+ if (ch === '\\' && i + 1 < text.length) {
46
+ const next = text[i + 1];
47
+ if (next === '"' || next === '\\') {
48
+ out += next;
49
+ i += 2;
50
+ continue;
51
+ }
52
+ if (next === 'n') {
53
+ out += '\n';
54
+ i += 2;
55
+ continue;
56
+ }
57
+ out += next;
58
+ i += 2;
59
+ continue;
60
+ }
61
+ if (ch === '"')
62
+ return out;
63
+ out += ch;
64
+ i += 1;
65
+ }
66
+ return undefined;
67
+ }
10
68
  export class AxiosHttpClient {
11
69
  client;
12
70
  verbose;
@@ -132,6 +190,40 @@ export class AxiosHttpClient {
132
190
  const endpoint = error.config?.url || 'unknown endpoint';
133
191
  const method = error.config?.method?.toUpperCase() || 'unknown method';
134
192
  const status = error.response?.status;
193
+ const responseData = error.response?.data;
194
+ // Surface a human-readable body message from common error shapes.
195
+ // The backend returns {errors: [...]} for validation failures (handled by
196
+ // handleCommandError when the APIError reaches the command layer) and may
197
+ // return {message: "..."} or a raw string for other errors.
198
+ const rawBodyMessage = (() => {
199
+ if (!responseData)
200
+ return undefined;
201
+ if (typeof responseData === 'string')
202
+ return responseData;
203
+ const msg = responseData.message ?? responseData.error ?? responseData.detail;
204
+ return typeof msg === 'string' ? msg : undefined;
205
+ })();
206
+ // DB errors from Prisma come back with a long wrapper that buries the two
207
+ // parts an operator actually needs: the Postgres `message` and `detail`.
208
+ // When we recognise the shape, render just those so the user sees
209
+ // message: new row for relation "metrics" violates check constraint "chk_goal_ratio"
210
+ // detail: Failing row contains (...)
211
+ // instead of the full ConnectorError/PostgresError debug dump.
212
+ const bodyMessage = rawBodyMessage
213
+ ? (formatPrismaError(rawBodyMessage) ?? rawBodyMessage)
214
+ : undefined;
215
+ // DB check-constraint failures (5xx) often bubble up cryptic Prisma text.
216
+ // Detect the goal_ratio constraint and add a concrete hint.
217
+ const constraintHint = (() => {
218
+ const haystack = `${error.message ?? ''} ${rawBodyMessage ?? ''}`;
219
+ if (haystack.includes('chk_goal_ratio')) {
220
+ return (`Hint: goal_ratio needs consistent numerator/denominator fields. Verify\n` +
221
+ `that goal_id/value_source_property match the numerator_type and that\n` +
222
+ `denominator_goal_id/denominator_value_source_property match the\n` +
223
+ `denominator_type. Empty strings are not equivalent to null.`);
224
+ }
225
+ return undefined;
226
+ })();
135
227
  let message;
136
228
  switch (status) {
137
229
  case 401:
@@ -171,8 +263,15 @@ export class AxiosHttpClient {
171
263
  `The server took too long to respond. Please try again.`;
172
264
  }
173
265
  else {
174
- message =
175
- `API error: ${error.message || 'unknown error'}\n` + `Endpoint: ${method} ${endpoint}`;
266
+ const lines = [
267
+ `API error: ${error.message || 'unknown error'}`,
268
+ `Endpoint: ${method} ${endpoint}`,
269
+ ];
270
+ if (bodyMessage)
271
+ lines.push('', bodyMessage);
272
+ if (constraintHint)
273
+ lines.push('', constraintHint);
274
+ message = lines.join('\n');
176
275
  }
177
276
  }
178
277
  return new APIError(message, status, error.response?.data);