weflayr 0.24.0 → 0.26.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 (234) hide show
  1. package/README.md +2 -2
  2. package/dist/{api → src/api}/generated/facade.gen.d.ts +86 -12
  3. package/dist/{api → src/api}/generated/facade.gen.js +4 -2
  4. package/dist/src/api/generated/index.d.ts +2 -0
  5. package/dist/{api → src/api}/generated/index.js +3 -1
  6. package/dist/{api → src/api}/generated/sdk.gen.d.ts +11 -3
  7. package/dist/{api → src/api}/generated/sdk.gen.js +34 -4
  8. package/{src/api/generated/types.gen.ts → dist/src/api/generated/types.gen.d.ts} +436 -153
  9. package/dist/{api → src/api}/makeEndpoint.js +1 -3
  10. package/dist/src/auto-instrument.d.ts +42 -0
  11. package/dist/src/auto-instrument.js +156 -0
  12. package/dist/src/index.d.ts +9 -0
  13. package/dist/src/index.js +49 -0
  14. package/dist/src/instrumentation/anthropic/get_cache_and_reasoning_telemetry.d.ts +20 -0
  15. package/dist/src/instrumentation/anthropic/get_cache_and_reasoning_telemetry.js +114 -0
  16. package/dist/src/instrumentation/anthropic/get_cache_config_telemetry.d.ts +28 -0
  17. package/dist/src/instrumentation/anthropic/get_cache_config_telemetry.js +92 -0
  18. package/dist/src/instrumentation/anthropic/get_streaming_accumulation_telemetry.d.ts +25 -0
  19. package/dist/src/instrumentation/anthropic/get_streaming_accumulation_telemetry.js +141 -0
  20. package/dist/src/instrumentation/anthropic/get_structured_output_schema_telemetry.d.ts +9 -0
  21. package/dist/src/instrumentation/anthropic/get_structured_output_schema_telemetry.js +17 -0
  22. package/dist/src/instrumentation/anthropic/get_tool_definitions_telemetry.d.ts +15 -0
  23. package/dist/src/instrumentation/anthropic/get_tool_definitions_telemetry.js +50 -0
  24. package/dist/src/instrumentation/anthropic/set_telemetry_attributes.d.ts +15 -0
  25. package/dist/src/instrumentation/anthropic/set_telemetry_attributes.js +39 -0
  26. package/dist/src/instrumentation/bedrock/get_cache_config_telemetry.d.ts +22 -0
  27. package/dist/src/instrumentation/bedrock/get_cache_config_telemetry.js +97 -0
  28. package/dist/src/instrumentation/bedrock/get_cache_telemetry.d.ts +22 -0
  29. package/dist/src/instrumentation/bedrock/get_cache_telemetry.js +102 -0
  30. package/dist/src/instrumentation/bedrock/get_input_message_content_telemetry.d.ts +15 -0
  31. package/dist/src/instrumentation/bedrock/get_input_message_content_telemetry.js +91 -0
  32. package/dist/src/instrumentation/bedrock/get_model_id_telemetry.d.ts +21 -0
  33. package/dist/src/instrumentation/bedrock/get_model_id_telemetry.js +54 -0
  34. package/dist/src/instrumentation/bedrock/get_reasoning_output_telemetry.d.ts +19 -0
  35. package/dist/src/instrumentation/bedrock/get_reasoning_output_telemetry.js +81 -0
  36. package/dist/src/instrumentation/bedrock/get_streaming_output_message_telemetry.d.ts +27 -0
  37. package/dist/src/instrumentation/bedrock/get_streaming_output_message_telemetry.js +126 -0
  38. package/dist/src/instrumentation/bedrock/get_tool_call_output_telemetry.d.ts +17 -0
  39. package/dist/src/instrumentation/bedrock/get_tool_call_output_telemetry.js +85 -0
  40. package/dist/src/instrumentation/bedrock/get_tool_definitions_telemetry.d.ts +15 -0
  41. package/dist/src/instrumentation/bedrock/get_tool_definitions_telemetry.js +68 -0
  42. package/dist/src/instrumentation/bedrock/set_telemetry_attributes.d.ts +18 -0
  43. package/dist/src/instrumentation/bedrock/set_telemetry_attributes.js +47 -0
  44. package/dist/src/instrumentation/cohere/get_chat_telemetry.d.ts +23 -0
  45. package/dist/src/instrumentation/cohere/get_chat_telemetry.js +77 -0
  46. package/dist/src/instrumentation/cohere/get_embeddings_telemetry.d.ts +18 -0
  47. package/dist/src/instrumentation/cohere/get_embeddings_telemetry.js +88 -0
  48. package/dist/src/instrumentation/cohere/get_structured_output_schema_telemetry.d.ts +12 -0
  49. package/dist/src/instrumentation/cohere/get_structured_output_schema_telemetry.js +18 -0
  50. package/dist/src/instrumentation/cohere/get_tool_call_output_telemetry.d.ts +31 -0
  51. package/dist/src/instrumentation/cohere/get_tool_call_output_telemetry.js +106 -0
  52. package/dist/src/instrumentation/cohere/get_tool_definitions_telemetry.d.ts +27 -0
  53. package/dist/src/instrumentation/cohere/get_tool_definitions_telemetry.js +75 -0
  54. package/dist/src/instrumentation/cohere/set_telemetry_attributes.d.ts +17 -0
  55. package/dist/src/instrumentation/cohere/set_telemetry_attributes.js +44 -0
  56. package/dist/src/instrumentation/elevenlabs/full_instrumentation.d.ts +28 -0
  57. package/dist/src/instrumentation/elevenlabs/full_instrumentation.js +209 -0
  58. package/dist/src/instrumentation/google/get_audio_telemetry.d.ts +9 -0
  59. package/dist/src/instrumentation/google/get_audio_telemetry.js +28 -0
  60. package/dist/src/instrumentation/google/get_cache_operations_telemetry.d.ts +23 -0
  61. package/dist/src/instrumentation/google/get_cache_operations_telemetry.js +154 -0
  62. package/dist/src/instrumentation/google/get_cache_telemetry.d.ts +16 -0
  63. package/{src → dist/src}/instrumentation/google/get_cache_telemetry.js +18 -19
  64. package/dist/src/instrumentation/google/get_embeddings_telemetry.d.ts +12 -0
  65. package/dist/src/instrumentation/google/get_embeddings_telemetry.js +85 -0
  66. package/dist/src/instrumentation/google/get_provider_name.d.ts +11 -0
  67. package/{src → dist/src}/instrumentation/google/get_provider_name.js +11 -12
  68. package/{src/instrumentation/google/get_reasoning_telemetry.js → dist/src/instrumentation/google/get_reasoning_telemetry.d.ts} +1 -11
  69. package/dist/src/instrumentation/google/get_reasoning_telemetry.js +21 -0
  70. package/dist/src/instrumentation/google/get_structured_output_schema_telemetry.d.ts +12 -0
  71. package/dist/src/instrumentation/google/get_structured_output_schema_telemetry.js +19 -0
  72. package/dist/src/instrumentation/google/set_telemetry_attributes.d.ts +18 -0
  73. package/dist/src/instrumentation/google/set_telemetry_attributes.js +98 -0
  74. package/dist/src/instrumentation/openai/get_audio_telemetry.d.ts +25 -0
  75. package/dist/src/instrumentation/openai/get_audio_telemetry.js +123 -0
  76. package/dist/src/instrumentation/openai/get_bedrock_mantle_telemetry.d.ts +35 -0
  77. package/dist/src/instrumentation/openai/get_bedrock_mantle_telemetry.js +148 -0
  78. package/dist/src/instrumentation/openai/get_cache_and_reasoning_telemetry.d.ts +27 -0
  79. package/dist/src/instrumentation/openai/get_cache_and_reasoning_telemetry.js +72 -0
  80. package/dist/src/instrumentation/openai/get_cache_config_telemetry.d.ts +28 -0
  81. package/dist/src/instrumentation/openai/get_cache_config_telemetry.js +91 -0
  82. package/dist/src/instrumentation/openai/get_embeddings_telemetry.d.ts +18 -0
  83. package/dist/src/instrumentation/openai/get_embeddings_telemetry.js +86 -0
  84. package/dist/src/instrumentation/openai/get_streaming_usage.d.ts +21 -0
  85. package/dist/src/instrumentation/openai/get_streaming_usage.js +74 -0
  86. package/dist/src/instrumentation/openai/get_structured_output_schema_telemetry.d.ts +12 -0
  87. package/dist/src/instrumentation/openai/get_structured_output_schema_telemetry.js +20 -0
  88. package/dist/src/instrumentation/openai/set_telemetry_attributes.d.ts +17 -0
  89. package/dist/src/instrumentation/openai/set_telemetry_attributes.js +47 -0
  90. package/dist/src/instrumentation/shared/get_structured_output_schema_telemetry.d.ts +35 -0
  91. package/dist/src/instrumentation/shared/get_structured_output_schema_telemetry.js +76 -0
  92. package/dist/src/instrumentation/vercel/full_instrumentation.d.ts +3 -0
  93. package/dist/src/instrumentation/vercel/full_instrumentation.js +54 -0
  94. package/dist/src/instrumentation/vercel/get_cache_creation_telemetry.d.ts +22 -0
  95. package/dist/src/instrumentation/vercel/get_cache_creation_telemetry.js +66 -0
  96. package/dist/src/instrumentation/vercel/get_structured_output_schema_telemetry.d.ts +24 -0
  97. package/dist/src/instrumentation/vercel/get_structured_output_schema_telemetry.js +84 -0
  98. package/dist/src/logger.d.ts +1 -0
  99. package/dist/src/logger.js +6 -0
  100. package/dist/src/otel/exporter.d.ts +19 -0
  101. package/dist/src/otel/exporter.js +94 -0
  102. package/dist/src/otel/propagation.d.ts +46 -0
  103. package/dist/src/otel/propagation.js +110 -0
  104. package/dist/src/otel/span-filter.d.ts +3 -0
  105. package/dist/src/otel/span-filter.js +61 -0
  106. package/dist/src/otel/span-processor.d.ts +55 -0
  107. package/dist/src/otel/span-processor.js +169 -0
  108. package/dist/src/otel/vercel-ai-sdk-span-filter.d.ts +12 -0
  109. package/dist/src/otel/vercel-ai-sdk-span-filter.js +88 -0
  110. package/dist/src/setup.d.ts +50 -0
  111. package/dist/src/setup.js +155 -0
  112. package/package.json +11 -5
  113. package/.prettierignore +0 -2
  114. package/.prettierrc.json +0 -7
  115. package/LICENSE-MIT +0 -21
  116. package/NOTICE +0 -12
  117. package/dist/api/generated/index.d.ts +0 -2
  118. package/dist/api/generated/types.gen.d.ts +0 -1005
  119. package/eslint.config.mjs +0 -36
  120. package/index.d.ts +0 -170
  121. package/openapi-ts.config.mjs +0 -9
  122. package/scripts/generate_facade.mjs +0 -86
  123. package/src/api/caseConversion.ts +0 -58
  124. package/src/api/generated/client/client.gen.ts +0 -277
  125. package/src/api/generated/client/index.ts +0 -27
  126. package/src/api/generated/client/types.gen.ts +0 -218
  127. package/src/api/generated/client/utils.gen.ts +0 -316
  128. package/src/api/generated/client.gen.ts +0 -16
  129. package/src/api/generated/core/auth.gen.ts +0 -48
  130. package/src/api/generated/core/bodySerializer.gen.ts +0 -82
  131. package/src/api/generated/core/params.gen.ts +0 -178
  132. package/src/api/generated/core/pathSerializer.gen.ts +0 -171
  133. package/src/api/generated/core/queryKeySerializer.gen.ts +0 -117
  134. package/src/api/generated/core/serverSentEvents.gen.ts +0 -242
  135. package/src/api/generated/core/types.gen.ts +0 -110
  136. package/src/api/generated/core/utils.gen.ts +0 -140
  137. package/src/api/generated/facade.gen.ts +0 -104
  138. package/src/api/generated/index.ts +0 -4
  139. package/src/api/generated/sdk.gen.ts +0 -175
  140. package/src/api/index.ts +0 -45
  141. package/src/api/makeEndpoint.ts +0 -54
  142. package/src/auto-instrument.js +0 -172
  143. package/src/index.js +0 -19
  144. package/src/instrumentation/anthropic/get_cache_and_reasoning_telemetry.js +0 -118
  145. package/src/instrumentation/anthropic/get_cache_config_telemetry.js +0 -90
  146. package/src/instrumentation/anthropic/get_streaming_stop_reason_telemetry.js +0 -121
  147. package/src/instrumentation/anthropic/get_tool_definitions_telemetry.js +0 -55
  148. package/src/instrumentation/anthropic/set_telemetry_attributes.js +0 -39
  149. package/src/instrumentation/bedrock/get_cache_config_telemetry.js +0 -106
  150. package/src/instrumentation/bedrock/get_cache_telemetry.js +0 -109
  151. package/src/instrumentation/bedrock/get_input_message_content_telemetry.js +0 -94
  152. package/src/instrumentation/bedrock/get_streaming_output_message_telemetry.js +0 -87
  153. package/src/instrumentation/bedrock/set_telemetry_attributes.js +0 -40
  154. package/src/instrumentation/cohere/get_chat_telemetry.js +0 -88
  155. package/src/instrumentation/cohere/get_embeddings_telemetry.js +0 -107
  156. package/src/instrumentation/cohere/set_telemetry_attributes.js +0 -32
  157. package/src/instrumentation/elevenlabs/full_instrumentation.js +0 -236
  158. package/src/instrumentation/google/get_audio_telemetry.js +0 -30
  159. package/src/instrumentation/google/get_cache_operations_telemetry.js +0 -171
  160. package/src/instrumentation/google/get_embeddings_telemetry.js +0 -99
  161. package/src/instrumentation/google/set_telemetry_attributes.js +0 -104
  162. package/src/instrumentation/openai/get_audio_telemetry.js +0 -149
  163. package/src/instrumentation/openai/get_cache_and_reasoning_telemetry.js +0 -71
  164. package/src/instrumentation/openai/get_cache_config_telemetry.js +0 -63
  165. package/src/instrumentation/openai/get_embeddings_telemetry.js +0 -107
  166. package/src/instrumentation/openai/get_streaming_usage.js +0 -81
  167. package/src/instrumentation/openai/set_telemetry_attributes.js +0 -41
  168. package/src/instrumentation/vercel/full_instrumentation.js +0 -52
  169. package/src/instrumentation/vercel/get_cache_creation_telemetry.js +0 -70
  170. package/src/logger.js +0 -8
  171. package/src/otel/exporter.js +0 -108
  172. package/src/otel/propagation.js +0 -146
  173. package/src/otel/span-filter.js +0 -69
  174. package/src/otel/span-processor.js +0 -170
  175. package/src/otel/vercel-ai-sdk-span-filter.js +0 -79
  176. package/src/setup.js +0 -167
  177. package/tests/api/index.test.js +0 -437
  178. package/tests/index.test.js +0 -884
  179. package/tests/instrumentation/anthropic/get_cache_and_reasoning_telemetry.test.js +0 -181
  180. package/tests/instrumentation/anthropic/get_cache_config_telemetry.test.js +0 -92
  181. package/tests/instrumentation/anthropic/get_streaming_stop_reason_telemetry.test.js +0 -117
  182. package/tests/instrumentation/anthropic/get_tool_definitions_telemetry.test.js +0 -97
  183. package/tests/instrumentation/bedrock/get_cache_config_telemetry.test.js +0 -107
  184. package/tests/instrumentation/bedrock/get_cache_telemetry.test.js +0 -118
  185. package/tests/instrumentation/bedrock/get_input_message_content_telemetry.test.js +0 -89
  186. package/tests/instrumentation/bedrock/get_streaming_output_message_telemetry.test.js +0 -87
  187. package/tests/instrumentation/cohere/get_chat_telemetry.test.js +0 -148
  188. package/tests/instrumentation/cohere/get_embeddings_telemetry.test.js +0 -132
  189. package/tests/instrumentation/elevenlabs/full_instrumentation.test.js +0 -258
  190. package/tests/instrumentation/google/get_cache_operations_telemetry.test.js +0 -130
  191. package/tests/instrumentation/google/get_embeddings_telemetry.test.js +0 -128
  192. package/tests/instrumentation/google/get_reasoning_telemetry.test.js +0 -41
  193. package/tests/instrumentation/google/set_telemetry_attributes.test.js +0 -219
  194. package/tests/instrumentation/openai/get_audio_telemetry.test.js +0 -170
  195. package/tests/instrumentation/openai/get_cache_and_reasoning_telemetry.test.js +0 -83
  196. package/tests/instrumentation/openai/get_cache_config_telemetry.test.js +0 -83
  197. package/tests/instrumentation/openai/get_embeddings_telemetry.test.js +0 -145
  198. package/tests/instrumentation/openai/get_streaming_usage.test.js +0 -105
  199. package/tests/instrumentation/vercel/full_instrumentation.test.js +0 -16
  200. package/tests/instrumentation/vercel/get_cache_creation_telemetry.test.js +0 -96
  201. package/tests/otel/vercel-ai-sdk-span-filter.test.js +0 -159
  202. package/tsconfig.json +0 -18
  203. /package/dist/{api → src/api}/caseConversion.d.ts +0 -0
  204. /package/dist/{api → src/api}/caseConversion.js +0 -0
  205. /package/dist/{api → src/api}/generated/client/client.gen.d.ts +0 -0
  206. /package/dist/{api → src/api}/generated/client/client.gen.js +0 -0
  207. /package/dist/{api → src/api}/generated/client/index.d.ts +0 -0
  208. /package/dist/{api → src/api}/generated/client/index.js +0 -0
  209. /package/dist/{api → src/api}/generated/client/types.gen.d.ts +0 -0
  210. /package/dist/{api → src/api}/generated/client/types.gen.js +0 -0
  211. /package/dist/{api → src/api}/generated/client/utils.gen.d.ts +0 -0
  212. /package/dist/{api → src/api}/generated/client/utils.gen.js +0 -0
  213. /package/dist/{api → src/api}/generated/client.gen.d.ts +0 -0
  214. /package/dist/{api → src/api}/generated/client.gen.js +0 -0
  215. /package/dist/{api → src/api}/generated/core/auth.gen.d.ts +0 -0
  216. /package/dist/{api → src/api}/generated/core/auth.gen.js +0 -0
  217. /package/dist/{api → src/api}/generated/core/bodySerializer.gen.d.ts +0 -0
  218. /package/dist/{api → src/api}/generated/core/bodySerializer.gen.js +0 -0
  219. /package/dist/{api → src/api}/generated/core/params.gen.d.ts +0 -0
  220. /package/dist/{api → src/api}/generated/core/params.gen.js +0 -0
  221. /package/dist/{api → src/api}/generated/core/pathSerializer.gen.d.ts +0 -0
  222. /package/dist/{api → src/api}/generated/core/pathSerializer.gen.js +0 -0
  223. /package/dist/{api → src/api}/generated/core/queryKeySerializer.gen.d.ts +0 -0
  224. /package/dist/{api → src/api}/generated/core/queryKeySerializer.gen.js +0 -0
  225. /package/dist/{api → src/api}/generated/core/serverSentEvents.gen.d.ts +0 -0
  226. /package/dist/{api → src/api}/generated/core/serverSentEvents.gen.js +0 -0
  227. /package/dist/{api → src/api}/generated/core/types.gen.d.ts +0 -0
  228. /package/dist/{api → src/api}/generated/core/types.gen.js +0 -0
  229. /package/dist/{api → src/api}/generated/core/utils.gen.d.ts +0 -0
  230. /package/dist/{api → src/api}/generated/core/utils.gen.js +0 -0
  231. /package/dist/{api → src/api}/generated/types.gen.js +0 -0
  232. /package/dist/{api → src/api}/index.d.ts +0 -0
  233. /package/dist/{api → src/api}/index.js +0 -0
  234. /package/dist/{api → src/api}/makeEndpoint.d.ts +0 -0
@@ -1,9 +1,6 @@
1
- // This file is auto-generated by @hey-api/openapi-ts
2
-
3
1
  export type ClientOptions = {
4
2
  baseUrl: 'https://app.weflayr.com/api' | (string & {});
5
3
  };
6
-
7
4
  /**
8
5
  * AllCustomerTagsOutput
9
6
  *
@@ -23,7 +20,6 @@ export type AllCustomerTagsOutput = {
23
20
  */
24
21
  has_more: boolean;
25
22
  };
26
-
27
23
  /**
28
24
  * ApiErrorOutput
29
25
  *
@@ -35,39 +31,161 @@ export type ApiErrorOutput = {
35
31
  */
36
32
  error: string;
37
33
  };
38
-
39
34
  /**
40
- * CustomerMarginRow
35
+ * CostRow
41
36
  *
42
- * One customer's gross margin for a period.
37
+ * One bucket (and, if group_by is set, one dimension value)'s cost for the
38
+ * period, plus the average and max cost of the feature runs it contains.
39
+ *
40
+ * Only the field named by the request's group_by is set (e.g. ``customer``
41
+ * when group_by="customer"); the other three are omitted from the response,
42
+ * not sent as null (see :meth:`CostsOutput.model_dump`).
43
43
  */
44
- export type CustomerMarginRow = {
44
+ export type CostRow = {
45
45
  /**
46
- * Customer Name
46
+ * Date From
47
47
  */
48
- customer_name: string;
48
+ date_from: string;
49
49
  /**
50
- * Revenue
50
+ * Date To
51
51
  */
52
- revenue: number;
52
+ date_to: string;
53
+ /**
54
+ * Customer
55
+ */
56
+ customer?: string | null;
57
+ /**
58
+ * Feature
59
+ */
60
+ feature?: string | null;
61
+ /**
62
+ * Model
63
+ */
64
+ model?: string | null;
65
+ /**
66
+ * Provider
67
+ */
68
+ provider?: string | null;
53
69
  /**
54
70
  * Cost
55
71
  */
56
72
  cost: number;
57
73
  /**
58
- * Margin
74
+ * Avg Feature Run Cost
59
75
  */
60
- margin: number;
76
+ avg_feature_run_cost: number;
61
77
  /**
62
- * Margin Pct
78
+ * Max Feature Run Cost
63
79
  */
64
- margin_pct: number | null;
80
+ max_feature_run_cost: number;
81
+ };
82
+ /**
83
+ * CostsInput
84
+ *
85
+ * The costs list: date range, aggregate, group_by, the simple filters,
86
+ * plus customer_tags/run_tags (each key's value is a list, or a single
87
+ * value for one tag).
88
+ */
89
+ export type CostsInput = {
65
90
  /**
66
- * Profitability Status
91
+ * Date From
92
+ *
93
+ * Start of the period (inclusive).
67
94
  */
68
- profitability_status: 'healthy' | 'watch' | 'at_risk' | 'unprofitable' | 'unknown';
95
+ date_from: string;
96
+ /**
97
+ * Date To
98
+ *
99
+ * End of the period (inclusive). Defaults to today.
100
+ */
101
+ date_to?: string;
102
+ /**
103
+ * Apply Credits
104
+ *
105
+ * Apply free-credit discounts to cost. Never applied to avg_feature_run_cost/max_feature_run_cost, which always report gross cost. Defaults to false.
106
+ */
107
+ apply_credits?: boolean;
108
+ /**
109
+ * Aggregate
110
+ *
111
+ * One row per period; "all" collapses the whole date range into a single row (per group_by, if set).
112
+ */
113
+ aggregate?: 'day' | 'week' | 'month' | 'quarter' | 'year' | 'all';
114
+ /**
115
+ * Group By
116
+ *
117
+ * Split each period into one row per dimension value. Omit for one row per period.
118
+ */
119
+ group_by?: 'customer' | 'feature' | 'model' | 'provider' | null;
120
+ /**
121
+ * Customers
122
+ *
123
+ * Restrict to these customers. Omit for every customer's.
124
+ */
125
+ customers?: Array<string>;
126
+ /**
127
+ * Features
128
+ *
129
+ * Restrict to these feature tags. Omit for every feature's.
130
+ */
131
+ features?: Array<string>;
132
+ /**
133
+ * Models
134
+ *
135
+ * Restrict to these models. Omit for every model's.
136
+ */
137
+ models?: Array<string>;
138
+ /**
139
+ * Providers
140
+ *
141
+ * Restrict to these providers. Omit for every provider's.
142
+ */
143
+ providers?: Array<string>;
144
+ /**
145
+ * Cursor
146
+ */
147
+ cursor?: string | null;
148
+ /**
149
+ * Limit
150
+ */
151
+ limit?: number;
152
+ /**
153
+ * Customer Tags
154
+ *
155
+ * Restrict to customers carrying these tags (AND across keys, OR within a key's values).
156
+ */
157
+ customer_tags?: {
158
+ [key: string]: Array<string>;
159
+ };
160
+ /**
161
+ * Run Tags
162
+ *
163
+ * Restrict to runs carrying these tags (AND across keys, OR within a key's values).
164
+ */
165
+ run_tags?: {
166
+ [key: string]: Array<string>;
167
+ };
168
+ };
169
+ /**
170
+ * CostsOutput
171
+ *
172
+ * A costs POST response: one row per (bucket, group_by value) actually
173
+ * present in the data, ordered by period then group ascending.
174
+ */
175
+ export type CostsOutput = {
176
+ /**
177
+ * Rows
178
+ */
179
+ rows: Array<CostRow>;
180
+ /**
181
+ * Next Cursor
182
+ */
183
+ next_cursor: string | null;
184
+ /**
185
+ * Has More
186
+ */
187
+ has_more: boolean;
69
188
  };
70
-
71
189
  /**
72
190
  * CustomerOutput
73
191
  *
@@ -85,7 +203,6 @@ export type CustomerOutput = {
85
203
  [key: string]: string;
86
204
  };
87
205
  };
88
-
89
206
  /**
90
207
  * CustomerTags
91
208
  *
@@ -103,7 +220,6 @@ export type CustomerTags = {
103
220
  [key: string]: string | null;
104
221
  };
105
222
  };
106
-
107
223
  /**
108
224
  * CustomerTagsOutput
109
225
  *
@@ -121,7 +237,6 @@ export type CustomerTagsOutput = {
121
237
  [key: string]: string;
122
238
  };
123
239
  };
124
-
125
240
  /**
126
241
  * CustomersOutput
127
242
  *
@@ -141,7 +256,6 @@ export type CustomersOutput = {
141
256
  */
142
257
  has_more: boolean;
143
258
  };
144
-
145
259
  /**
146
260
  * CustomersUpdatedOutput
147
261
  *
@@ -157,7 +271,6 @@ export type CustomersUpdatedOutput = {
157
271
  */
158
272
  customers_updated: number;
159
273
  };
160
-
161
274
  /**
162
275
  * FeaturesOutput
163
276
  *
@@ -169,7 +282,6 @@ export type FeaturesOutput = {
169
282
  */
170
283
  features: Array<string>;
171
284
  };
172
-
173
285
  /**
174
286
  * InvalidFieldDetail
175
287
  *
@@ -185,7 +297,6 @@ export type InvalidFieldDetail = {
185
297
  */
186
298
  error: string;
187
299
  };
188
-
189
300
  /**
190
301
  * InvalidPayloadOutput
191
302
  *
@@ -201,7 +312,6 @@ export type InvalidPayloadOutput = {
201
312
  */
202
313
  detail: Array<InvalidFieldDetail>;
203
314
  };
204
-
205
315
  /**
206
316
  * KeyMetricOutput
207
317
  *
@@ -221,7 +331,6 @@ export type KeyMetricOutput = {
221
331
  */
222
332
  has_more: boolean;
223
333
  };
224
-
225
334
  /**
226
335
  * KeyMetricRow
227
336
  *
@@ -261,7 +370,6 @@ export type KeyMetricRow = {
261
370
  */
262
371
  month_end?: string | null;
263
372
  };
264
-
265
373
  /**
266
374
  * KeyMetricRowOutput
267
375
  *
@@ -293,18 +401,95 @@ export type KeyMetricRowOutput = {
293
401
  */
294
402
  user_name: string;
295
403
  };
296
-
297
404
  /**
298
- * MarginListOutput
405
+ * KeyMetricValue
406
+ *
407
+ * One key metric's value for a row: its value over the period, the row's
408
+ * total cost, and cost per unit (total_cost divided by value).
409
+ */
410
+ export type KeyMetricValue = {
411
+ /**
412
+ * Value
413
+ */
414
+ value: number;
415
+ /**
416
+ * Total Cost
417
+ */
418
+ total_cost: number;
419
+ /**
420
+ * Cost Per Unit
421
+ */
422
+ cost_per_unit: number;
423
+ };
424
+ /**
425
+ * MarginInput
426
+ *
427
+ * The margin list: date range, aggregate, optional group_by=customer, and
428
+ * apply_credits. Only available for revenue-linked projects.
429
+ */
430
+ export type MarginInput = {
431
+ /**
432
+ * Date From
433
+ *
434
+ * Start of the period (inclusive).
435
+ */
436
+ date_from: string;
437
+ /**
438
+ * Date To
439
+ *
440
+ * End of the period (inclusive). Defaults to today.
441
+ */
442
+ date_to?: string;
443
+ /**
444
+ * Apply Credits
445
+ *
446
+ * Apply free-credit discounts to cost. Defaults to false.
447
+ */
448
+ apply_credits?: boolean;
449
+ /**
450
+ * Aggregate
451
+ *
452
+ * One row per period; "all" collapses the whole date range into a single row (per group_by, if set).
453
+ */
454
+ aggregate?: 'day' | 'week' | 'month' | 'quarter' | 'year' | 'all';
455
+ /**
456
+ * Group By
457
+ *
458
+ * Split each period into one row per customer. Omit for one row per period.
459
+ */
460
+ group_by?: 'customer' | null;
461
+ /**
462
+ * Customers
463
+ *
464
+ * Restrict to these customers. Omit for every customer's.
465
+ */
466
+ customers?: Array<string>;
467
+ /**
468
+ * Filter Customers Based On Features
469
+ *
470
+ * Restrict to customers who used any of these feature tags in the period. Unlike features filters on other routes, this narrows which customers appear rather than restricting the cost computation itself — a qualifying customer's full cost and revenue are still shown.
471
+ */
472
+ filter_customers_based_on_features?: Array<string>;
473
+ /**
474
+ * Cursor
475
+ */
476
+ cursor?: string | null;
477
+ /**
478
+ * Limit
479
+ */
480
+ limit?: number;
481
+ };
482
+ /**
483
+ * MarginOutput
299
484
  *
300
- * Margin GET response: one row per customer with booked revenue, sorted by
301
- * customer_name ascending.
485
+ * A margin POST response: one row per (bucket, customer) actually present
486
+ * in the data, ordered by period then customer ascending.
302
487
  */
303
- export type MarginListOutput = {
488
+ export type MarginOutput = {
304
489
  /**
305
490
  * Rows
306
491
  */
307
- rows: Array<CustomerMarginRow>;
492
+ rows: Array<MarginRow>;
308
493
  /**
309
494
  * Next Cursor
310
495
  */
@@ -314,7 +499,46 @@ export type MarginListOutput = {
314
499
  */
315
500
  has_more: boolean;
316
501
  };
317
-
502
+ /**
503
+ * MarginRow
504
+ *
505
+ * One bucket (and, if group_by="customer", one customer)'s margin for the
506
+ * period. ``customer`` is only present when group_by="customer".
507
+ */
508
+ export type MarginRow = {
509
+ /**
510
+ * Date From
511
+ */
512
+ date_from: string;
513
+ /**
514
+ * Date To
515
+ */
516
+ date_to: string;
517
+ /**
518
+ * Customer
519
+ */
520
+ customer?: string | null;
521
+ /**
522
+ * Revenue
523
+ */
524
+ revenue: number;
525
+ /**
526
+ * Cost
527
+ */
528
+ cost: number;
529
+ /**
530
+ * Margin
531
+ */
532
+ margin: number;
533
+ /**
534
+ * Margin Pct
535
+ */
536
+ margin_pct: number | null;
537
+ /**
538
+ * Risk Status
539
+ */
540
+ risk_status: 'healthy' | 'watch' | 'at_risk' | 'unprofitable' | 'unknown';
541
+ };
318
542
  /**
319
543
  * ModelsOutput
320
544
  *
@@ -326,7 +550,123 @@ export type ModelsOutput = {
326
550
  */
327
551
  models: Array<string>;
328
552
  };
329
-
553
+ /**
554
+ * PerformanceInput
555
+ *
556
+ * The performance list: date range, aggregate, optional group_by=user, the
557
+ * users filter, plus user_tags (each key's value is a list, or a single
558
+ * value for one tag). Only available for internal-metric projects.
559
+ */
560
+ export type PerformanceInput = {
561
+ /**
562
+ * Date From
563
+ *
564
+ * Start of the period (inclusive).
565
+ */
566
+ date_from: string;
567
+ /**
568
+ * Date To
569
+ *
570
+ * End of the period (inclusive). Defaults to today.
571
+ */
572
+ date_to?: string;
573
+ /**
574
+ * Apply Credits
575
+ *
576
+ * Apply free-credit discounts to cost. Defaults to false.
577
+ */
578
+ apply_credits?: boolean;
579
+ /**
580
+ * Aggregate
581
+ *
582
+ * One row per period; "all" collapses the whole date range into a single row (per group_by, if set).
583
+ */
584
+ aggregate?: 'day' | 'week' | 'month' | 'quarter' | 'year' | 'all';
585
+ /**
586
+ * Group By
587
+ *
588
+ * Split each period into one row per user. Omit for one row per period.
589
+ */
590
+ group_by?: 'user' | null;
591
+ /**
592
+ * Users
593
+ *
594
+ * Restrict to these users. Omit for every user's.
595
+ */
596
+ users?: Array<string>;
597
+ /**
598
+ * Filter Users Based On Features
599
+ *
600
+ * Restrict to users who used any of these feature tags in the period. Unlike features filters on other routes, this narrows which users appear rather than restricting the cost computation itself. A qualifying user's full cost and key metrics are still shown.
601
+ */
602
+ filter_users_based_on_features?: Array<string>;
603
+ /**
604
+ * Cursor
605
+ */
606
+ cursor?: string | null;
607
+ /**
608
+ * Limit
609
+ */
610
+ limit?: number;
611
+ /**
612
+ * User Tags
613
+ *
614
+ * Restrict to users carrying these tags (AND across keys, OR within a key's values).
615
+ */
616
+ user_tags?: {
617
+ [key: string]: Array<string>;
618
+ };
619
+ };
620
+ /**
621
+ * PerformanceOutput
622
+ *
623
+ * A performance POST response: one row per (bucket, user) actually
624
+ * present in the data, ordered by period then user ascending.
625
+ */
626
+ export type PerformanceOutput = {
627
+ /**
628
+ * Rows
629
+ */
630
+ rows: Array<PerformanceRow>;
631
+ /**
632
+ * Next Cursor
633
+ */
634
+ next_cursor: string | null;
635
+ /**
636
+ * Has More
637
+ */
638
+ has_more: boolean;
639
+ };
640
+ /**
641
+ * PerformanceRow
642
+ *
643
+ * One bucket (and, if group_by="user", one user)'s cost and key-metric
644
+ * values for the period. ``user`` is only present when group_by="user".
645
+ */
646
+ export type PerformanceRow = {
647
+ /**
648
+ * Date From
649
+ */
650
+ date_from: string;
651
+ /**
652
+ * Date To
653
+ */
654
+ date_to: string;
655
+ /**
656
+ * User
657
+ */
658
+ user?: string | null;
659
+ /**
660
+ * Cost
661
+ */
662
+ cost: number;
663
+ /**
664
+ * Key Metrics
665
+ */
666
+ key_metrics: {
667
+ [key: string]: KeyMetricValue;
668
+ };
669
+ };
330
670
  /**
331
671
  * ProjectOutput
332
672
  *
@@ -354,7 +694,6 @@ export type ProjectOutput = {
354
694
  */
355
695
  created_at: string;
356
696
  };
357
-
358
697
  /**
359
698
  * ProvidersOutput
360
699
  *
@@ -366,7 +705,6 @@ export type ProvidersOutput = {
366
705
  */
367
706
  providers: Array<string>;
368
707
  };
369
-
370
708
  /**
371
709
  * RevenueOrKeyMetricDeletedRowOutput
372
710
  *
@@ -382,7 +720,6 @@ export type RevenueOrKeyMetricDeletedRowOutput = {
382
720
  */
383
721
  rows_deleted: number;
384
722
  };
385
-
386
723
  /**
387
724
  * RevenueOrKeyMetricImportedRowOutput
388
725
  *
@@ -398,7 +735,6 @@ export type RevenueOrKeyMetricImportedRowOutput = {
398
735
  */
399
736
  rows_inserted: number;
400
737
  };
401
-
402
738
  /**
403
739
  * RevenueOutput
404
740
  *
@@ -418,7 +754,6 @@ export type RevenueOutput = {
418
754
  */
419
755
  has_more: boolean;
420
756
  };
421
-
422
757
  /**
423
758
  * RevenueRow
424
759
  *
@@ -453,7 +788,6 @@ export type RevenueRow = {
453
788
  */
454
789
  month_end?: string | null;
455
790
  };
456
-
457
791
  /**
458
792
  * RevenueRowOutput
459
793
  *
@@ -485,7 +819,6 @@ export type RevenueRowOutput = {
485
819
  */
486
820
  customer_name: string;
487
821
  };
488
-
489
822
  /**
490
823
  * SetCustomerTagsInput
491
824
  *
@@ -503,7 +836,6 @@ export type SetCustomerTagsInput = {
503
836
  */
504
837
  upsert?: boolean;
505
838
  };
506
-
507
839
  /**
508
840
  * SetKeyMetricsInput
509
841
  *
@@ -524,7 +856,6 @@ export type SetKeyMetricsInput = {
524
856
  */
525
857
  upsert?: boolean;
526
858
  };
527
-
528
859
  /**
529
860
  * SetRevenueInput
530
861
  *
@@ -545,7 +876,6 @@ export type SetRevenueInput = {
545
876
  */
546
877
  upsert?: boolean;
547
878
  };
548
-
549
879
  /**
550
880
  * TagsDeletedOutput
551
881
  *
@@ -561,7 +891,6 @@ export type TagsDeletedOutput = {
561
891
  */
562
892
  tags_deleted: number;
563
893
  };
564
-
565
894
  /**
566
895
  * TagsOutput
567
896
  *
@@ -583,36 +912,36 @@ export type TagsOutput = {
583
912
  [key: string]: Array<string>;
584
913
  };
585
914
  };
586
-
915
+ export type GetCostsData = {
916
+ body: CostsInput;
917
+ path?: never;
918
+ query?: never;
919
+ url: '/costs/';
920
+ };
921
+ export type GetCostsErrors = {
922
+ /**
923
+ * Missing or invalid API key.
924
+ */
925
+ 401: ApiErrorOutput;
926
+ /**
927
+ * Invalid payload: every offending field is listed and nothing was written.
928
+ */
929
+ 422: InvalidPayloadOutput;
930
+ };
931
+ export type GetCostsError = GetCostsErrors[keyof GetCostsErrors];
932
+ export type GetCostsResponses = {
933
+ /**
934
+ * Success.
935
+ */
936
+ 200: CostsOutput;
937
+ };
938
+ export type GetCostsResponse = GetCostsResponses[keyof GetCostsResponses];
587
939
  export type GetMarginData = {
588
- body?: never;
940
+ body: MarginInput;
589
941
  path?: never;
590
- query?: {
591
- /**
592
- * Return only these customers' margin. Omit to return every customer's.
593
- */
594
- customer_names?: Array<string>;
595
- /**
596
- * Opaque cursor from a previous page's next_cursor.
597
- */
598
- cursor?: string;
599
- limit?: number;
600
- /**
601
- * Start of the period (inclusive), YYYY-MM-DD. Defaults to 30 days ago.
602
- */
603
- date_from?: string;
604
- /**
605
- * End of the period (inclusive), YYYY-MM-DD. Defaults to today.
606
- */
607
- date_to?: string;
608
- /**
609
- * Apply free-credit discounts to cost. Defaults to false.
610
- */
611
- apply_credits?: boolean;
612
- };
942
+ query?: never;
613
943
  url: '/margin/';
614
944
  };
615
-
616
945
  export type GetMarginErrors = {
617
946
  /**
618
947
  * Invalid request for this project type.
@@ -622,19 +951,19 @@ export type GetMarginErrors = {
622
951
  * Missing or invalid API key.
623
952
  */
624
953
  401: ApiErrorOutput;
954
+ /**
955
+ * Invalid payload: every offending field is listed and nothing was written.
956
+ */
957
+ 422: InvalidPayloadOutput;
625
958
  };
626
-
627
959
  export type GetMarginError = GetMarginErrors[keyof GetMarginErrors];
628
-
629
960
  export type GetMarginResponses = {
630
961
  /**
631
962
  * Success.
632
963
  */
633
- 200: MarginListOutput;
964
+ 200: MarginOutput;
634
965
  };
635
-
636
966
  export type GetMarginResponse = GetMarginResponses[keyof GetMarginResponses];
637
-
638
967
  export type DeleteRevenueData = {
639
968
  body?: never;
640
969
  path?: never;
@@ -654,7 +983,6 @@ export type DeleteRevenueData = {
654
983
  };
655
984
  url: '/revenue/';
656
985
  };
657
-
658
986
  export type DeleteRevenueErrors = {
659
987
  /**
660
988
  * Missing or invalid API key.
@@ -665,18 +993,14 @@ export type DeleteRevenueErrors = {
665
993
  */
666
994
  422: InvalidPayloadOutput;
667
995
  };
668
-
669
996
  export type DeleteRevenueError = DeleteRevenueErrors[keyof DeleteRevenueErrors];
670
-
671
997
  export type DeleteRevenueResponses = {
672
998
  /**
673
999
  * Success.
674
1000
  */
675
1001
  200: RevenueOrKeyMetricDeletedRowOutput;
676
1002
  };
677
-
678
1003
  export type DeleteRevenueResponse = DeleteRevenueResponses[keyof DeleteRevenueResponses];
679
-
680
1004
  export type GetRevenueData = {
681
1005
  body?: never;
682
1006
  path?: never;
@@ -693,32 +1017,26 @@ export type GetRevenueData = {
693
1017
  };
694
1018
  url: '/revenue/';
695
1019
  };
696
-
697
1020
  export type GetRevenueErrors = {
698
1021
  /**
699
1022
  * Missing or invalid API key.
700
1023
  */
701
1024
  401: ApiErrorOutput;
702
1025
  };
703
-
704
1026
  export type GetRevenueError = GetRevenueErrors[keyof GetRevenueErrors];
705
-
706
1027
  export type GetRevenueResponses = {
707
1028
  /**
708
1029
  * Success.
709
1030
  */
710
1031
  200: RevenueOutput;
711
1032
  };
712
-
713
1033
  export type GetRevenueResponse = GetRevenueResponses[keyof GetRevenueResponses];
714
-
715
1034
  export type SetRevenueData = {
716
1035
  body: SetRevenueInput;
717
1036
  path?: never;
718
1037
  query?: never;
719
1038
  url: '/revenue/';
720
1039
  };
721
-
722
1040
  export type SetRevenueErrors = {
723
1041
  /**
724
1042
  * Missing or invalid API key.
@@ -729,18 +1047,14 @@ export type SetRevenueErrors = {
729
1047
  */
730
1048
  422: InvalidPayloadOutput;
731
1049
  };
732
-
733
1050
  export type SetRevenueError = SetRevenueErrors[keyof SetRevenueErrors];
734
-
735
1051
  export type SetRevenueResponses = {
736
1052
  /**
737
1053
  * Success.
738
1054
  */
739
1055
  200: RevenueOrKeyMetricImportedRowOutput;
740
1056
  };
741
-
742
1057
  export type SetRevenueResponse = SetRevenueResponses[keyof SetRevenueResponses];
743
-
744
1058
  export type DeleteKeyMetricsData = {
745
1059
  body?: never;
746
1060
  path?: never;
@@ -760,7 +1074,6 @@ export type DeleteKeyMetricsData = {
760
1074
  };
761
1075
  url: '/key-metrics/';
762
1076
  };
763
-
764
1077
  export type DeleteKeyMetricsErrors = {
765
1078
  /**
766
1079
  * Missing or invalid API key.
@@ -771,18 +1084,14 @@ export type DeleteKeyMetricsErrors = {
771
1084
  */
772
1085
  422: InvalidPayloadOutput;
773
1086
  };
774
-
775
1087
  export type DeleteKeyMetricsError = DeleteKeyMetricsErrors[keyof DeleteKeyMetricsErrors];
776
-
777
1088
  export type DeleteKeyMetricsResponses = {
778
1089
  /**
779
1090
  * Success.
780
1091
  */
781
1092
  200: RevenueOrKeyMetricDeletedRowOutput;
782
1093
  };
783
-
784
1094
  export type DeleteKeyMetricsResponse = DeleteKeyMetricsResponses[keyof DeleteKeyMetricsResponses];
785
-
786
1095
  export type GetKeyMetricsData = {
787
1096
  body?: never;
788
1097
  path?: never;
@@ -799,32 +1108,26 @@ export type GetKeyMetricsData = {
799
1108
  };
800
1109
  url: '/key-metrics/';
801
1110
  };
802
-
803
1111
  export type GetKeyMetricsErrors = {
804
1112
  /**
805
1113
  * Missing or invalid API key.
806
1114
  */
807
1115
  401: ApiErrorOutput;
808
1116
  };
809
-
810
1117
  export type GetKeyMetricsError = GetKeyMetricsErrors[keyof GetKeyMetricsErrors];
811
-
812
1118
  export type GetKeyMetricsResponses = {
813
1119
  /**
814
1120
  * Success.
815
1121
  */
816
1122
  200: KeyMetricOutput;
817
1123
  };
818
-
819
1124
  export type GetKeyMetricsResponse = GetKeyMetricsResponses[keyof GetKeyMetricsResponses];
820
-
821
1125
  export type SetKeyMetricsData = {
822
1126
  body: SetKeyMetricsInput;
823
1127
  path?: never;
824
1128
  query?: never;
825
1129
  url: '/key-metrics/';
826
1130
  };
827
-
828
1131
  export type SetKeyMetricsErrors = {
829
1132
  /**
830
1133
  * Missing or invalid API key.
@@ -835,18 +1138,14 @@ export type SetKeyMetricsErrors = {
835
1138
  */
836
1139
  422: InvalidPayloadOutput;
837
1140
  };
838
-
839
1141
  export type SetKeyMetricsError = SetKeyMetricsErrors[keyof SetKeyMetricsErrors];
840
-
841
1142
  export type SetKeyMetricsResponses = {
842
1143
  /**
843
1144
  * Success.
844
1145
  */
845
1146
  200: RevenueOrKeyMetricImportedRowOutput;
846
1147
  };
847
-
848
1148
  export type SetKeyMetricsResponse = SetKeyMetricsResponses[keyof SetKeyMetricsResponses];
849
-
850
1149
  export type DeleteCustomersTagsData = {
851
1150
  body?: never;
852
1151
  path?: never;
@@ -858,7 +1157,6 @@ export type DeleteCustomersTagsData = {
858
1157
  };
859
1158
  url: '/customer-tags/';
860
1159
  };
861
-
862
1160
  export type DeleteCustomersTagsErrors = {
863
1161
  /**
864
1162
  * Missing or invalid API key.
@@ -869,18 +1167,14 @@ export type DeleteCustomersTagsErrors = {
869
1167
  */
870
1168
  422: InvalidPayloadOutput;
871
1169
  };
872
-
873
1170
  export type DeleteCustomersTagsError = DeleteCustomersTagsErrors[keyof DeleteCustomersTagsErrors];
874
-
875
1171
  export type DeleteCustomersTagsResponses = {
876
1172
  /**
877
1173
  * Success.
878
1174
  */
879
1175
  200: TagsDeletedOutput;
880
1176
  };
881
-
882
1177
  export type DeleteCustomersTagsResponse = DeleteCustomersTagsResponses[keyof DeleteCustomersTagsResponses];
883
-
884
1178
  export type GetCustomersTagsData = {
885
1179
  body?: never;
886
1180
  path?: never;
@@ -897,32 +1191,26 @@ export type GetCustomersTagsData = {
897
1191
  };
898
1192
  url: '/customer-tags/';
899
1193
  };
900
-
901
1194
  export type GetCustomersTagsErrors = {
902
1195
  /**
903
1196
  * Missing or invalid API key.
904
1197
  */
905
1198
  401: ApiErrorOutput;
906
1199
  };
907
-
908
1200
  export type GetCustomersTagsError = GetCustomersTagsErrors[keyof GetCustomersTagsErrors];
909
-
910
1201
  export type GetCustomersTagsResponses = {
911
1202
  /**
912
1203
  * Success.
913
1204
  */
914
1205
  200: AllCustomerTagsOutput;
915
1206
  };
916
-
917
1207
  export type GetCustomersTagsResponse = GetCustomersTagsResponses[keyof GetCustomersTagsResponses];
918
-
919
1208
  export type SetCustomersTagsData = {
920
1209
  body: SetCustomerTagsInput;
921
1210
  path?: never;
922
1211
  query?: never;
923
1212
  url: '/customer-tags/';
924
1213
  };
925
-
926
1214
  export type SetCustomersTagsErrors = {
927
1215
  /**
928
1216
  * Missing or invalid API key.
@@ -933,43 +1221,34 @@ export type SetCustomersTagsErrors = {
933
1221
  */
934
1222
  422: InvalidPayloadOutput;
935
1223
  };
936
-
937
1224
  export type SetCustomersTagsError = SetCustomersTagsErrors[keyof SetCustomersTagsErrors];
938
-
939
1225
  export type SetCustomersTagsResponses = {
940
1226
  /**
941
1227
  * Success.
942
1228
  */
943
1229
  200: CustomersUpdatedOutput;
944
1230
  };
945
-
946
1231
  export type SetCustomersTagsResponse = SetCustomersTagsResponses[keyof SetCustomersTagsResponses];
947
-
948
1232
  export type GetProjectData = {
949
1233
  body?: never;
950
1234
  path?: never;
951
1235
  query?: never;
952
1236
  url: '/project/';
953
1237
  };
954
-
955
1238
  export type GetProjectErrors = {
956
1239
  /**
957
1240
  * Missing or invalid API key.
958
1241
  */
959
1242
  401: ApiErrorOutput;
960
1243
  };
961
-
962
1244
  export type GetProjectError = GetProjectErrors[keyof GetProjectErrors];
963
-
964
1245
  export type GetProjectResponses = {
965
1246
  /**
966
1247
  * Success.
967
1248
  */
968
1249
  200: ProjectOutput;
969
1250
  };
970
-
971
1251
  export type GetProjectResponse = GetProjectResponses[keyof GetProjectResponses];
972
-
973
1252
  export type GetTagsData = {
974
1253
  body?: never;
975
1254
  path?: never;
@@ -985,75 +1264,60 @@ export type GetTagsData = {
985
1264
  };
986
1265
  url: '/tags/';
987
1266
  };
988
-
989
1267
  export type GetTagsErrors = {
990
1268
  /**
991
1269
  * Missing or invalid API key.
992
1270
  */
993
1271
  401: ApiErrorOutput;
994
1272
  };
995
-
996
1273
  export type GetTagsError = GetTagsErrors[keyof GetTagsErrors];
997
-
998
1274
  export type GetTagsResponses = {
999
1275
  /**
1000
1276
  * Success.
1001
1277
  */
1002
1278
  200: TagsOutput;
1003
1279
  };
1004
-
1005
1280
  export type GetTagsResponse = GetTagsResponses[keyof GetTagsResponses];
1006
-
1007
1281
  export type GetModelsData = {
1008
1282
  body?: never;
1009
1283
  path?: never;
1010
1284
  query?: never;
1011
1285
  url: '/models/';
1012
1286
  };
1013
-
1014
1287
  export type GetModelsErrors = {
1015
1288
  /**
1016
1289
  * Missing or invalid API key.
1017
1290
  */
1018
1291
  401: ApiErrorOutput;
1019
1292
  };
1020
-
1021
1293
  export type GetModelsError = GetModelsErrors[keyof GetModelsErrors];
1022
-
1023
1294
  export type GetModelsResponses = {
1024
1295
  /**
1025
1296
  * Success.
1026
1297
  */
1027
1298
  200: ModelsOutput;
1028
1299
  };
1029
-
1030
1300
  export type GetModelsResponse = GetModelsResponses[keyof GetModelsResponses];
1031
-
1032
1301
  export type GetProvidersData = {
1033
1302
  body?: never;
1034
1303
  path?: never;
1035
1304
  query?: never;
1036
1305
  url: '/providers/';
1037
1306
  };
1038
-
1039
1307
  export type GetProvidersErrors = {
1040
1308
  /**
1041
1309
  * Missing or invalid API key.
1042
1310
  */
1043
1311
  401: ApiErrorOutput;
1044
1312
  };
1045
-
1046
1313
  export type GetProvidersError = GetProvidersErrors[keyof GetProvidersErrors];
1047
-
1048
1314
  export type GetProvidersResponses = {
1049
1315
  /**
1050
1316
  * Success.
1051
1317
  */
1052
1318
  200: ProvidersOutput;
1053
1319
  };
1054
-
1055
1320
  export type GetProvidersResponse = GetProvidersResponses[keyof GetProvidersResponses];
1056
-
1057
1321
  export type GetCustomersData = {
1058
1322
  body?: never;
1059
1323
  path?: never;
@@ -1070,46 +1334,65 @@ export type GetCustomersData = {
1070
1334
  };
1071
1335
  url: '/customers/';
1072
1336
  };
1073
-
1074
1337
  export type GetCustomersErrors = {
1075
1338
  /**
1076
1339
  * Missing or invalid API key.
1077
1340
  */
1078
1341
  401: ApiErrorOutput;
1079
1342
  };
1080
-
1081
1343
  export type GetCustomersError = GetCustomersErrors[keyof GetCustomersErrors];
1082
-
1083
1344
  export type GetCustomersResponses = {
1084
1345
  /**
1085
1346
  * Success.
1086
1347
  */
1087
1348
  200: CustomersOutput;
1088
1349
  };
1089
-
1090
1350
  export type GetCustomersResponse = GetCustomersResponses[keyof GetCustomersResponses];
1091
-
1092
1351
  export type GetFeaturesData = {
1093
1352
  body?: never;
1094
1353
  path?: never;
1095
1354
  query?: never;
1096
1355
  url: '/features/';
1097
1356
  };
1098
-
1099
1357
  export type GetFeaturesErrors = {
1100
1358
  /**
1101
1359
  * Missing or invalid API key.
1102
1360
  */
1103
1361
  401: ApiErrorOutput;
1104
1362
  };
1105
-
1106
1363
  export type GetFeaturesError = GetFeaturesErrors[keyof GetFeaturesErrors];
1107
-
1108
1364
  export type GetFeaturesResponses = {
1109
1365
  /**
1110
1366
  * Success.
1111
1367
  */
1112
1368
  200: FeaturesOutput;
1113
1369
  };
1114
-
1115
1370
  export type GetFeaturesResponse = GetFeaturesResponses[keyof GetFeaturesResponses];
1371
+ export type GetPerformanceData = {
1372
+ body: PerformanceInput;
1373
+ path?: never;
1374
+ query?: never;
1375
+ url: '/performance/';
1376
+ };
1377
+ export type GetPerformanceErrors = {
1378
+ /**
1379
+ * Invalid request for this project type.
1380
+ */
1381
+ 400: ApiErrorOutput;
1382
+ /**
1383
+ * Missing or invalid API key.
1384
+ */
1385
+ 401: ApiErrorOutput;
1386
+ /**
1387
+ * Invalid payload: every offending field is listed and nothing was written.
1388
+ */
1389
+ 422: InvalidPayloadOutput;
1390
+ };
1391
+ export type GetPerformanceError = GetPerformanceErrors[keyof GetPerformanceErrors];
1392
+ export type GetPerformanceResponses = {
1393
+ /**
1394
+ * Success.
1395
+ */
1396
+ 200: PerformanceOutput;
1397
+ };
1398
+ export type GetPerformanceResponse = GetPerformanceResponses[keyof GetPerformanceResponses];