@lokalise/workspaces-api-schemas 5.14.0 → 5.16.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.
package/README.md CHANGED
@@ -8,3 +8,4 @@ This library contains schemas, types and API contracts related to:
8
8
  * Workspaces
9
9
  * Permissions
10
10
  * Subscriptions
11
+ * Usage metrics (`getBillingMetrics`)
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './plan.ts';
2
+ export * from './routeContracts/billingContracts.ts';
2
3
  export * from './routeContracts/collaborationContracts.ts';
3
4
  export * from './routeContracts/contributorsContracts.ts';
4
5
  export * from './routeContracts/languagesContracts.ts';
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./plan.js";
2
+ export * from "./routeContracts/billingContracts.js";
2
3
  export * from "./routeContracts/collaborationContracts.js";
3
4
  export * from "./routeContracts/contributorsContracts.js";
4
5
  export * from "./routeContracts/languagesContracts.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2CAA2C,CAAA;AACzD,cAAc,wCAAwC,CAAA;AACtD,cAAc,kDAAkD,CAAA;AAChE,cAAc,uCAAuC,CAAA;AACrD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wCAAwC,CAAA;AACtD,cAAc,wCAAwC,CAAA;AACtD,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kCAAkC,CAAA;AAChD,cAAc,uCAAuC,CAAA;AACrD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kCAAkC,CAAA;AAChD,cAAc,2BAA2B,CAAA;AACzC,cAAc,8CAA8C,CAAA;AAC5D,cAAc,2BAA2B,CAAA;AACzC,cAAc,uCAAuC,CAAA;AACrD,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,oCAAoC,CAAA;AAClD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sCAAsC,CAAA;AACpD,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,sCAAsC,CAAA;AACpD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2CAA2C,CAAA;AACzD,cAAc,wCAAwC,CAAA;AACtD,cAAc,kDAAkD,CAAA;AAChE,cAAc,uCAAuC,CAAA;AACrD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wCAAwC,CAAA;AACtD,cAAc,wCAAwC,CAAA;AACtD,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kCAAkC,CAAA;AAChD,cAAc,uCAAuC,CAAA;AACrD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kCAAkC,CAAA;AAChD,cAAc,2BAA2B,CAAA;AACzC,cAAc,8CAA8C,CAAA;AAC5D,cAAc,2BAA2B,CAAA;AACzC,cAAc,uCAAuC,CAAA;AACrD,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,oCAAoC,CAAA;AAClD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sCAAsC,CAAA;AACpD,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA"}
@@ -0,0 +1,118 @@
1
+ export declare const getBillingMetrics: import("@lokalise/api-contracts").GetRouteDefinition<import("zod/v4").ZodObject<{
2
+ data: import("zod/v4").ZodArray<import("zod/v4").ZodObject<{
3
+ metricCode: import("zod/v4").ZodEnum<{
4
+ keyLimit: "keyLimit";
5
+ projectLimit: "projectLimit";
6
+ contributorLimit: "contributorLimit";
7
+ glossaryLimit: "glossaryLimit";
8
+ mauLimit: "mauLimit";
9
+ automationLimit: "automationLimit";
10
+ automationLimitMtChars: "automationLimitMtChars";
11
+ maxNumberOfProjectLevelWebhookHandlers: "maxNumberOfProjectLevelWebhookHandlers";
12
+ maxNumberOfTeamWebhookLevelHandlers: "maxNumberOfTeamWebhookLevelHandlers";
13
+ otaTrafficLimit: "otaTrafficLimit";
14
+ otaTrafficLimitInGb: "otaTrafficLimitInGb";
15
+ otaTrafficLimitInBytes: "otaTrafficLimitInBytes";
16
+ aiUsageWordsLimit: "aiUsageWordsLimit";
17
+ workflowsNumberLimit: "workflowsNumberLimit";
18
+ workflowsTemplateGateLevel: "workflowsTemplateGateLevel";
19
+ processedWordsLimit: "processedWordsLimit";
20
+ hostedWordsLimit: "hostedWordsLimit";
21
+ advancedSeatsLimit: "advancedSeatsLimit";
22
+ proAiTranslationsLimit: "proAiTranslationsLimit";
23
+ languagesLimit: "languagesLimit";
24
+ apiCallsRateLimit: "apiCallsRateLimit";
25
+ integrationsLimit: "integrationsLimit";
26
+ automationV2Limit: "automationV2Limit";
27
+ integrationFigmaLimit: "integrationFigmaLimit";
28
+ aiAssistantTeamSpendingLimitDollars: "aiAssistantTeamSpendingLimitDollars";
29
+ aiAssistantUserSpendingLimitDollars: "aiAssistantUserSpendingLimitDollars";
30
+ }>;
31
+ source: import("zod/v4").ZodEnum<{
32
+ expert: "expert";
33
+ autopilot: "autopilot";
34
+ all: "all";
35
+ }>;
36
+ currentValue: import("zod/v4").ZodNullable<import("zod/v4").ZodNumber>;
37
+ limitValue: import("zod/v4").ZodNullable<import("zod/v4").ZodNumber>;
38
+ metricStatus: import("zod/v4").ZodCatch<import("zod/v4").ZodEnum<{
39
+ OK: "OK";
40
+ NEAR_LIMIT: "NEAR_LIMIT";
41
+ LIMIT_REACHED: "LIMIT_REACHED";
42
+ EXCEEDED: "EXCEEDED";
43
+ UNLIMITED: "UNLIMITED";
44
+ UPGRADE_REQUIRED: "UPGRADE_REQUIRED";
45
+ UNKNOWN: "UNKNOWN";
46
+ }>>;
47
+ metricPeriod: import("zod/v4").ZodNullable<import("zod/v4").ZodEnum<{
48
+ monthly: "monthly";
49
+ yearly: "yearly";
50
+ }>>;
51
+ retrievedAt: import("zod/v4").ZodNullable<import("zod/v4").ZodISODateTime>;
52
+ upgradeCapability: import("zod/v4").ZodEnum<{
53
+ NONE: "NONE";
54
+ PLAN_UPGRADE_REQUIRED: "PLAN_UPGRADE_REQUIRED";
55
+ BUNDLE_AVAILABLE: "BUNDLE_AVAILABLE";
56
+ }>;
57
+ }, import("zod/v4/core").$strip>>;
58
+ meta: import("zod/v4").ZodObject<{
59
+ count: import("zod/v4").ZodNumber;
60
+ retrievedAt: import("zod/v4").ZodISODateTime;
61
+ }, import("zod/v4/core").$strip>;
62
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
63
+ teamId: import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodGUID, import("zod/v4").ZodCoercedNumber<unknown>]>;
64
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
65
+ 'filter-metricCode[]': import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
66
+ keyLimit: "keyLimit";
67
+ projectLimit: "projectLimit";
68
+ contributorLimit: "contributorLimit";
69
+ glossaryLimit: "glossaryLimit";
70
+ mauLimit: "mauLimit";
71
+ automationLimit: "automationLimit";
72
+ automationLimitMtChars: "automationLimitMtChars";
73
+ maxNumberOfProjectLevelWebhookHandlers: "maxNumberOfProjectLevelWebhookHandlers";
74
+ maxNumberOfTeamWebhookLevelHandlers: "maxNumberOfTeamWebhookLevelHandlers";
75
+ otaTrafficLimit: "otaTrafficLimit";
76
+ otaTrafficLimitInGb: "otaTrafficLimitInGb";
77
+ otaTrafficLimitInBytes: "otaTrafficLimitInBytes";
78
+ aiUsageWordsLimit: "aiUsageWordsLimit";
79
+ workflowsNumberLimit: "workflowsNumberLimit";
80
+ workflowsTemplateGateLevel: "workflowsTemplateGateLevel";
81
+ processedWordsLimit: "processedWordsLimit";
82
+ hostedWordsLimit: "hostedWordsLimit";
83
+ advancedSeatsLimit: "advancedSeatsLimit";
84
+ proAiTranslationsLimit: "proAiTranslationsLimit";
85
+ languagesLimit: "languagesLimit";
86
+ apiCallsRateLimit: "apiCallsRateLimit";
87
+ integrationsLimit: "integrationsLimit";
88
+ automationV2Limit: "automationV2Limit";
89
+ integrationFigmaLimit: "integrationFigmaLimit";
90
+ aiAssistantTeamSpendingLimitDollars: "aiAssistantTeamSpendingLimitDollars";
91
+ aiAssistantUserSpendingLimitDollars: "aiAssistantUserSpendingLimitDollars";
92
+ }>>>;
93
+ 'source[]': import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
94
+ expert: "expert";
95
+ autopilot: "autopilot";
96
+ all: "all";
97
+ }>>>;
98
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodIntersection<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodObject<{
99
+ authorization: import("zod/v4").ZodString;
100
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
101
+ AUTHORIZATION: import("zod/v4").ZodString;
102
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
103
+ Authorization: import("zod/v4").ZodString;
104
+ }, import("zod/v4/core").$strip>]>, import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodObject<{
105
+ 'X-API-Token': import("zod/v4").ZodString;
106
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
107
+ 'X-Api-Token': import("zod/v4").ZodString;
108
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
109
+ 'x-api-token': import("zod/v4").ZodString;
110
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
111
+ 'X-API-TOKEN': import("zod/v4").ZodString;
112
+ }, import("zod/v4/core").$strip>]>]>, import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodObject<{
113
+ 'X-Lokalise-Plugin': import("zod/v4").ZodString;
114
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
115
+ 'x-lokalise-plugin': import("zod/v4").ZodString;
116
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
117
+ 'X-LOKALISE-PLUGIN': import("zod/v4").ZodString;
118
+ }, import("zod/v4/core").$strip>]>>, undefined, false, false, undefined>;
@@ -0,0 +1,11 @@
1
+ import { buildGetRoute } from '@lokalise/api-contracts';
2
+ import { BILLING_METRICS_API_BASE_HEADER_SCHEMA, GET_BILLING_METRICS_PATH_PARAMS_SCHEMA, GET_BILLING_METRICS_QUERY_SCHEMA, GET_BILLING_METRICS_RESPONSE_SCHEMA, } from "../schemas/billing/api.js";
3
+ export const getBillingMetrics = buildGetRoute({
4
+ description: 'Get billing usage metrics for a team',
5
+ requestHeaderSchema: BILLING_METRICS_API_BASE_HEADER_SCHEMA,
6
+ requestPathParamsSchema: GET_BILLING_METRICS_PATH_PARAMS_SCHEMA,
7
+ requestQuerySchema: GET_BILLING_METRICS_QUERY_SCHEMA,
8
+ pathResolver: ({ teamId }) => `/teams/${teamId}/billing-metrics`,
9
+ successResponseBodySchema: GET_BILLING_METRICS_RESPONSE_SCHEMA,
10
+ });
11
+ //# sourceMappingURL=billingContracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billingContracts.js","sourceRoot":"","sources":["../../src/routeContracts/billingContracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EACL,sCAAsC,EACtC,sCAAsC,EACtC,gCAAgC,EAChC,mCAAmC,GACpC,MAAM,2BAA2B,CAAA;AAElC,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;IAC7C,WAAW,EAAE,sCAAsC;IAEnD,mBAAmB,EAAE,sCAAsC;IAE3D,uBAAuB,EAAE,sCAAsC;IAC/D,kBAAkB,EAAE,gCAAgC;IACpD,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,UAAU,MAAM,kBAAkB;IAEhE,yBAAyB,EAAE,mCAAmC;CAC/D,CAAC,CAAA"}
@@ -1,5 +1,243 @@
1
- import z from 'zod/v4';
1
+ import { z } from 'zod/v4';
2
2
  export declare const GET_CURRENT_SUBSCRIPTION_PARAMS_SCHEMA: z.ZodObject<{
3
3
  projectId: z.ZodGUID;
4
4
  }, z.core.$strip>;
5
5
  export type GetCurrentSubscriptionParams = z.infer<typeof GET_CURRENT_SUBSCRIPTION_PARAMS_SCHEMA>;
6
+ export declare const BILLING_METRICS_API_BASE_HEADER_SCHEMA: z.ZodIntersection<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
7
+ authorization: z.ZodString;
8
+ }, z.core.$strip>, z.ZodObject<{
9
+ AUTHORIZATION: z.ZodString;
10
+ }, z.core.$strip>, z.ZodObject<{
11
+ Authorization: z.ZodString;
12
+ }, z.core.$strip>]>, z.ZodUnion<readonly [z.ZodObject<{
13
+ 'X-API-Token': z.ZodString;
14
+ }, z.core.$strip>, z.ZodObject<{
15
+ 'X-Api-Token': z.ZodString;
16
+ }, z.core.$strip>, z.ZodObject<{
17
+ 'x-api-token': z.ZodString;
18
+ }, z.core.$strip>, z.ZodObject<{
19
+ 'X-API-TOKEN': z.ZodString;
20
+ }, z.core.$strip>]>]>, z.ZodUnion<readonly [z.ZodObject<{
21
+ 'X-Lokalise-Plugin': z.ZodString;
22
+ }, z.core.$strip>, z.ZodObject<{
23
+ 'x-lokalise-plugin': z.ZodString;
24
+ }, z.core.$strip>, z.ZodObject<{
25
+ 'X-LOKALISE-PLUGIN': z.ZodString;
26
+ }, z.core.$strip>]>>;
27
+ export type BillingMetricsApiBaseHeader = z.infer<typeof BILLING_METRICS_API_BASE_HEADER_SCHEMA>;
28
+ export declare const BILLING_METRIC_STATUS_SCHEMA: z.ZodEnum<{
29
+ OK: "OK";
30
+ NEAR_LIMIT: "NEAR_LIMIT";
31
+ LIMIT_REACHED: "LIMIT_REACHED";
32
+ EXCEEDED: "EXCEEDED";
33
+ UNLIMITED: "UNLIMITED";
34
+ UPGRADE_REQUIRED: "UPGRADE_REQUIRED";
35
+ UNKNOWN: "UNKNOWN";
36
+ }>;
37
+ export type BillingMetricStatus = z.infer<typeof BILLING_METRIC_STATUS_SCHEMA>;
38
+ export declare const TEAM_PLAN_ENTITLEMENT_SCHEMA: z.ZodEnum<{
39
+ keyLimit: "keyLimit";
40
+ projectLimit: "projectLimit";
41
+ contributorLimit: "contributorLimit";
42
+ glossaryLimit: "glossaryLimit";
43
+ mauLimit: "mauLimit";
44
+ automationLimit: "automationLimit";
45
+ automationLimitMtChars: "automationLimitMtChars";
46
+ maxNumberOfProjectLevelWebhookHandlers: "maxNumberOfProjectLevelWebhookHandlers";
47
+ maxNumberOfTeamWebhookLevelHandlers: "maxNumberOfTeamWebhookLevelHandlers";
48
+ otaTrafficLimit: "otaTrafficLimit";
49
+ otaTrafficLimitInGb: "otaTrafficLimitInGb";
50
+ otaTrafficLimitInBytes: "otaTrafficLimitInBytes";
51
+ aiUsageWordsLimit: "aiUsageWordsLimit";
52
+ workflowsNumberLimit: "workflowsNumberLimit";
53
+ workflowsTemplateGateLevel: "workflowsTemplateGateLevel";
54
+ processedWordsLimit: "processedWordsLimit";
55
+ hostedWordsLimit: "hostedWordsLimit";
56
+ advancedSeatsLimit: "advancedSeatsLimit";
57
+ proAiTranslationsLimit: "proAiTranslationsLimit";
58
+ languagesLimit: "languagesLimit";
59
+ apiCallsRateLimit: "apiCallsRateLimit";
60
+ integrationsLimit: "integrationsLimit";
61
+ automationV2Limit: "automationV2Limit";
62
+ integrationFigmaLimit: "integrationFigmaLimit";
63
+ aiAssistantTeamSpendingLimitDollars: "aiAssistantTeamSpendingLimitDollars";
64
+ aiAssistantUserSpendingLimitDollars: "aiAssistantUserSpendingLimitDollars";
65
+ }>;
66
+ export type TeamPlanEntitlement = z.infer<typeof TEAM_PLAN_ENTITLEMENT_SCHEMA>;
67
+ export declare const BILLING_METRIC_SOURCE_SCHEMA: z.ZodEnum<{
68
+ expert: "expert";
69
+ autopilot: "autopilot";
70
+ all: "all";
71
+ }>;
72
+ export type BillingMetricSource = z.infer<typeof BILLING_METRIC_SOURCE_SCHEMA>;
73
+ export declare const BILLING_METRIC_UPGRADE_CAPABILITY_SCHEMA: z.ZodEnum<{
74
+ NONE: "NONE";
75
+ PLAN_UPGRADE_REQUIRED: "PLAN_UPGRADE_REQUIRED";
76
+ BUNDLE_AVAILABLE: "BUNDLE_AVAILABLE";
77
+ }>;
78
+ export type BillingMetricUpgradeCapability = z.infer<typeof BILLING_METRIC_UPGRADE_CAPABILITY_SCHEMA>;
79
+ export declare const BILLING_METRIC_PERIOD_SCHEMA: z.ZodEnum<{
80
+ monthly: "monthly";
81
+ yearly: "yearly";
82
+ }>;
83
+ export type BillingMetricPeriod = z.infer<typeof BILLING_METRIC_PERIOD_SCHEMA>;
84
+ export declare const BILLING_METRIC_INFO_SCHEMA: z.ZodObject<{
85
+ metricCode: z.ZodEnum<{
86
+ keyLimit: "keyLimit";
87
+ projectLimit: "projectLimit";
88
+ contributorLimit: "contributorLimit";
89
+ glossaryLimit: "glossaryLimit";
90
+ mauLimit: "mauLimit";
91
+ automationLimit: "automationLimit";
92
+ automationLimitMtChars: "automationLimitMtChars";
93
+ maxNumberOfProjectLevelWebhookHandlers: "maxNumberOfProjectLevelWebhookHandlers";
94
+ maxNumberOfTeamWebhookLevelHandlers: "maxNumberOfTeamWebhookLevelHandlers";
95
+ otaTrafficLimit: "otaTrafficLimit";
96
+ otaTrafficLimitInGb: "otaTrafficLimitInGb";
97
+ otaTrafficLimitInBytes: "otaTrafficLimitInBytes";
98
+ aiUsageWordsLimit: "aiUsageWordsLimit";
99
+ workflowsNumberLimit: "workflowsNumberLimit";
100
+ workflowsTemplateGateLevel: "workflowsTemplateGateLevel";
101
+ processedWordsLimit: "processedWordsLimit";
102
+ hostedWordsLimit: "hostedWordsLimit";
103
+ advancedSeatsLimit: "advancedSeatsLimit";
104
+ proAiTranslationsLimit: "proAiTranslationsLimit";
105
+ languagesLimit: "languagesLimit";
106
+ apiCallsRateLimit: "apiCallsRateLimit";
107
+ integrationsLimit: "integrationsLimit";
108
+ automationV2Limit: "automationV2Limit";
109
+ integrationFigmaLimit: "integrationFigmaLimit";
110
+ aiAssistantTeamSpendingLimitDollars: "aiAssistantTeamSpendingLimitDollars";
111
+ aiAssistantUserSpendingLimitDollars: "aiAssistantUserSpendingLimitDollars";
112
+ }>;
113
+ source: z.ZodEnum<{
114
+ expert: "expert";
115
+ autopilot: "autopilot";
116
+ all: "all";
117
+ }>;
118
+ currentValue: z.ZodNullable<z.ZodNumber>;
119
+ limitValue: z.ZodNullable<z.ZodNumber>;
120
+ metricStatus: z.ZodCatch<z.ZodEnum<{
121
+ OK: "OK";
122
+ NEAR_LIMIT: "NEAR_LIMIT";
123
+ LIMIT_REACHED: "LIMIT_REACHED";
124
+ EXCEEDED: "EXCEEDED";
125
+ UNLIMITED: "UNLIMITED";
126
+ UPGRADE_REQUIRED: "UPGRADE_REQUIRED";
127
+ UNKNOWN: "UNKNOWN";
128
+ }>>;
129
+ metricPeriod: z.ZodNullable<z.ZodEnum<{
130
+ monthly: "monthly";
131
+ yearly: "yearly";
132
+ }>>;
133
+ retrievedAt: z.ZodNullable<z.ZodISODateTime>;
134
+ upgradeCapability: z.ZodEnum<{
135
+ NONE: "NONE";
136
+ PLAN_UPGRADE_REQUIRED: "PLAN_UPGRADE_REQUIRED";
137
+ BUNDLE_AVAILABLE: "BUNDLE_AVAILABLE";
138
+ }>;
139
+ }, z.core.$strip>;
140
+ export type BillingMetricInfo = z.infer<typeof BILLING_METRIC_INFO_SCHEMA>;
141
+ export declare const GET_BILLING_METRICS_PATH_PARAMS_SCHEMA: z.ZodObject<{
142
+ teamId: z.ZodUnion<readonly [z.ZodGUID, z.ZodCoercedNumber<unknown>]>;
143
+ }, z.core.$strip>;
144
+ export type GetBillingMetricsPathParams = z.infer<typeof GET_BILLING_METRICS_PATH_PARAMS_SCHEMA>;
145
+ export declare const GET_BILLING_METRICS_QUERY_SCHEMA: z.ZodObject<{
146
+ 'filter-metricCode[]': z.ZodOptional<z.ZodArray<z.ZodEnum<{
147
+ keyLimit: "keyLimit";
148
+ projectLimit: "projectLimit";
149
+ contributorLimit: "contributorLimit";
150
+ glossaryLimit: "glossaryLimit";
151
+ mauLimit: "mauLimit";
152
+ automationLimit: "automationLimit";
153
+ automationLimitMtChars: "automationLimitMtChars";
154
+ maxNumberOfProjectLevelWebhookHandlers: "maxNumberOfProjectLevelWebhookHandlers";
155
+ maxNumberOfTeamWebhookLevelHandlers: "maxNumberOfTeamWebhookLevelHandlers";
156
+ otaTrafficLimit: "otaTrafficLimit";
157
+ otaTrafficLimitInGb: "otaTrafficLimitInGb";
158
+ otaTrafficLimitInBytes: "otaTrafficLimitInBytes";
159
+ aiUsageWordsLimit: "aiUsageWordsLimit";
160
+ workflowsNumberLimit: "workflowsNumberLimit";
161
+ workflowsTemplateGateLevel: "workflowsTemplateGateLevel";
162
+ processedWordsLimit: "processedWordsLimit";
163
+ hostedWordsLimit: "hostedWordsLimit";
164
+ advancedSeatsLimit: "advancedSeatsLimit";
165
+ proAiTranslationsLimit: "proAiTranslationsLimit";
166
+ languagesLimit: "languagesLimit";
167
+ apiCallsRateLimit: "apiCallsRateLimit";
168
+ integrationsLimit: "integrationsLimit";
169
+ automationV2Limit: "automationV2Limit";
170
+ integrationFigmaLimit: "integrationFigmaLimit";
171
+ aiAssistantTeamSpendingLimitDollars: "aiAssistantTeamSpendingLimitDollars";
172
+ aiAssistantUserSpendingLimitDollars: "aiAssistantUserSpendingLimitDollars";
173
+ }>>>;
174
+ 'source[]': z.ZodOptional<z.ZodArray<z.ZodEnum<{
175
+ expert: "expert";
176
+ autopilot: "autopilot";
177
+ all: "all";
178
+ }>>>;
179
+ }, z.core.$strip>;
180
+ export type GetBillingMetricsQuery = z.infer<typeof GET_BILLING_METRICS_QUERY_SCHEMA>;
181
+ export declare const GET_BILLING_METRICS_RESPONSE_SCHEMA: z.ZodObject<{
182
+ data: z.ZodArray<z.ZodObject<{
183
+ metricCode: z.ZodEnum<{
184
+ keyLimit: "keyLimit";
185
+ projectLimit: "projectLimit";
186
+ contributorLimit: "contributorLimit";
187
+ glossaryLimit: "glossaryLimit";
188
+ mauLimit: "mauLimit";
189
+ automationLimit: "automationLimit";
190
+ automationLimitMtChars: "automationLimitMtChars";
191
+ maxNumberOfProjectLevelWebhookHandlers: "maxNumberOfProjectLevelWebhookHandlers";
192
+ maxNumberOfTeamWebhookLevelHandlers: "maxNumberOfTeamWebhookLevelHandlers";
193
+ otaTrafficLimit: "otaTrafficLimit";
194
+ otaTrafficLimitInGb: "otaTrafficLimitInGb";
195
+ otaTrafficLimitInBytes: "otaTrafficLimitInBytes";
196
+ aiUsageWordsLimit: "aiUsageWordsLimit";
197
+ workflowsNumberLimit: "workflowsNumberLimit";
198
+ workflowsTemplateGateLevel: "workflowsTemplateGateLevel";
199
+ processedWordsLimit: "processedWordsLimit";
200
+ hostedWordsLimit: "hostedWordsLimit";
201
+ advancedSeatsLimit: "advancedSeatsLimit";
202
+ proAiTranslationsLimit: "proAiTranslationsLimit";
203
+ languagesLimit: "languagesLimit";
204
+ apiCallsRateLimit: "apiCallsRateLimit";
205
+ integrationsLimit: "integrationsLimit";
206
+ automationV2Limit: "automationV2Limit";
207
+ integrationFigmaLimit: "integrationFigmaLimit";
208
+ aiAssistantTeamSpendingLimitDollars: "aiAssistantTeamSpendingLimitDollars";
209
+ aiAssistantUserSpendingLimitDollars: "aiAssistantUserSpendingLimitDollars";
210
+ }>;
211
+ source: z.ZodEnum<{
212
+ expert: "expert";
213
+ autopilot: "autopilot";
214
+ all: "all";
215
+ }>;
216
+ currentValue: z.ZodNullable<z.ZodNumber>;
217
+ limitValue: z.ZodNullable<z.ZodNumber>;
218
+ metricStatus: z.ZodCatch<z.ZodEnum<{
219
+ OK: "OK";
220
+ NEAR_LIMIT: "NEAR_LIMIT";
221
+ LIMIT_REACHED: "LIMIT_REACHED";
222
+ EXCEEDED: "EXCEEDED";
223
+ UNLIMITED: "UNLIMITED";
224
+ UPGRADE_REQUIRED: "UPGRADE_REQUIRED";
225
+ UNKNOWN: "UNKNOWN";
226
+ }>>;
227
+ metricPeriod: z.ZodNullable<z.ZodEnum<{
228
+ monthly: "monthly";
229
+ yearly: "yearly";
230
+ }>>;
231
+ retrievedAt: z.ZodNullable<z.ZodISODateTime>;
232
+ upgradeCapability: z.ZodEnum<{
233
+ NONE: "NONE";
234
+ PLAN_UPGRADE_REQUIRED: "PLAN_UPGRADE_REQUIRED";
235
+ BUNDLE_AVAILABLE: "BUNDLE_AVAILABLE";
236
+ }>;
237
+ }, z.core.$strip>>;
238
+ meta: z.ZodObject<{
239
+ count: z.ZodNumber;
240
+ retrievedAt: z.ZodISODateTime;
241
+ }, z.core.$strip>;
242
+ }, z.core.$strip>;
243
+ export type GetBillingMetricsResponse = z.infer<typeof GET_BILLING_METRICS_RESPONSE_SCHEMA>;
@@ -1,5 +1,110 @@
1
- import z from 'zod/v4';
1
+ import { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@lokalise/common-api-schemas';
2
+ import { z } from 'zod/v4';
2
3
  export const GET_CURRENT_SUBSCRIPTION_PARAMS_SCHEMA = z.object({
3
4
  projectId: z.guid(),
4
5
  });
6
+ export const BILLING_METRICS_API_BASE_HEADER_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA.describe('Headers accepted by the API2 billing metrics endpoint. Vantage calls this with the authenticated API2 bearer token and plugin headers.');
7
+ export const BILLING_METRIC_STATUS_SCHEMA = z
8
+ .enum([
9
+ 'OK',
10
+ 'NEAR_LIMIT',
11
+ 'LIMIT_REACHED',
12
+ 'EXCEEDED',
13
+ 'UNLIMITED',
14
+ 'UPGRADE_REQUIRED',
15
+ 'UNKNOWN',
16
+ ])
17
+ .describe('Billing metric status calculated by the backend from currentValue and limitValue. OK means below threshold, NEAR_LIMIT means the usage reached the backend near-limit threshold, LIMIT_REACHED means currentValue equals limitValue, EXCEEDED means currentValue is above limitValue, UNLIMITED means there is no effective cap, UPGRADE_REQUIRED means a zero/no-allowance limit requires a plan or bundle change, and UNKNOWN means the backend cannot calculate usage for that metric.');
18
+ export const TEAM_PLAN_ENTITLEMENT_SCHEMA = z
19
+ .enum([
20
+ 'keyLimit',
21
+ 'projectLimit',
22
+ 'contributorLimit',
23
+ 'glossaryLimit',
24
+ 'mauLimit',
25
+ 'automationLimit',
26
+ 'automationLimitMtChars',
27
+ 'maxNumberOfProjectLevelWebhookHandlers',
28
+ 'maxNumberOfTeamWebhookLevelHandlers',
29
+ 'otaTrafficLimit',
30
+ 'otaTrafficLimitInGb',
31
+ 'otaTrafficLimitInBytes',
32
+ 'aiUsageWordsLimit',
33
+ 'workflowsNumberLimit',
34
+ 'workflowsTemplateGateLevel',
35
+ 'processedWordsLimit',
36
+ 'hostedWordsLimit',
37
+ 'advancedSeatsLimit',
38
+ 'proAiTranslationsLimit',
39
+ 'languagesLimit',
40
+ 'apiCallsRateLimit',
41
+ 'integrationsLimit',
42
+ 'automationV2Limit',
43
+ 'integrationFigmaLimit',
44
+ 'aiAssistantTeamSpendingLimitDollars',
45
+ 'aiAssistantUserSpendingLimitDollars',
46
+ ])
47
+ .describe('Camel-case TeamPlanEntitlementsEnum limit code accepted by filter-metricCode[] and returned as metricCode. Vantage currently requests processedWordsLimit and proAiTranslationsLimit.');
48
+ export const BILLING_METRIC_SOURCE_SCHEMA = z
49
+ .enum(['expert', 'autopilot', 'all'])
50
+ .describe('Billing metric usage source. If source[] is omitted, the backend defaults to expert and may resolve selected source-aware metrics such as processedWordsLimit, aiUsageWordsLimit, and proAiTranslationsLimit to all when the team plan and feature flag require it.');
51
+ export const BILLING_METRIC_UPGRADE_CAPABILITY_SCHEMA = z
52
+ .enum(['NONE', 'PLAN_UPGRADE_REQUIRED', 'BUNDLE_AVAILABLE'])
53
+ .describe('Upgrade path calculated by the backend allowance service. NONE means no upgrade action is available, PLAN_UPGRADE_REQUIRED means the plan must change, and BUNDLE_AVAILABLE means more allowance can be purchased through an add-on or bundle.');
54
+ export const BILLING_METRIC_PERIOD_SCHEMA = z
55
+ .enum(['monthly', 'yearly'])
56
+ .describe('Usage window for the metric. Spectre-backed metrics return their own period, AI usage falls back to the plan period when Spectre is not used, OTA traffic is monthly, and metrics without a period return null.');
57
+ const BILLING_METRICS_ATOM_DATETIME_SCHEMA = z.iso
58
+ .datetime({ offset: true })
59
+ .describe('ISO 8601 datetime with timezone offset as serialized by PHP DateTimeInterface::ATOM.');
60
+ export const BILLING_METRIC_INFO_SCHEMA = z.object({
61
+ metricCode: TEAM_PLAN_ENTITLEMENT_SCHEMA.describe('Returned entitlement code, for example processedWordsLimit or proAiTranslationsLimit.'),
62
+ source: BILLING_METRIC_SOURCE_SCHEMA.describe('Resolved source used for this returned metric. When source[] is omitted, source-aware V2 metrics may return all while non-overridden metrics return expert.'),
63
+ currentValue: z
64
+ .number()
65
+ .int()
66
+ .nonnegative()
67
+ .nullable()
68
+ .describe('Current usage for the metric and source. It is null when the backend cannot determine the usage, for example a non-tracked or unavailable metric.'),
69
+ limitValue: z
70
+ .number()
71
+ .int()
72
+ .nonnegative()
73
+ .nullable()
74
+ .describe('Plan allowance for the metric. It can be null or the backend infinity sentinel for unlimited metrics; realistic examples include 4000 for proAiTranslationsLimit and 25000 for processedWordsLimit.'),
75
+ metricStatus: BILLING_METRIC_STATUS_SCHEMA.catch('UNKNOWN').describe('Calculated status for the metric. Unknown future enum values are treated as UNKNOWN by this consumer contract.'),
76
+ metricPeriod: BILLING_METRIC_PERIOD_SCHEMA.nullable().describe('Metric period, usually monthly or yearly. It is null for metrics where the backend has no period context.'),
77
+ retrievedAt: BILLING_METRICS_ATOM_DATETIME_SCHEMA.nullable().describe('Timestamp for the underlying usage data. Spectre-backed metrics use the usage service timestamp; fallback metrics use request time; legacy unknown values can be null.'),
78
+ upgradeCapability: BILLING_METRIC_UPGRADE_CAPABILITY_SCHEMA.describe('Backend-calculated upgrade option for increasing this metric allowance.'),
79
+ });
80
+ export const GET_BILLING_METRICS_PATH_PARAMS_SCHEMA = z.object({
81
+ teamId: z
82
+ .union([z.guid(), z.coerce.number().int().positive()])
83
+ .describe('Team identifier accepted by API2. The controller resolves a UUID such as fac13916-e637-40ed-9dc3-a8f174859f3c or a numeric team id such as 250126.'),
84
+ });
85
+ export const GET_BILLING_METRICS_QUERY_SCHEMA = z.object({
86
+ 'filter-metricCode[]': z
87
+ .array(TEAM_PLAN_ENTITLEMENT_SCHEMA)
88
+ .optional()
89
+ .describe('Optional repeated filter-metricCode[] query parameter. If omitted, the backend returns all TeamPlanEntitlementsEnum limit metrics except features. Vantage sends processedWordsLimit and proAiTranslationsLimit.'),
90
+ 'source[]': z
91
+ .array(BILLING_METRIC_SOURCE_SCHEMA)
92
+ .optional()
93
+ .describe('Optional repeated source[] query parameter. If omitted, the backend resolves the source per team plan and feature flags; Vantage intentionally omits this so billing metrics are resolved by the backend.'),
94
+ });
95
+ export const GET_BILLING_METRICS_RESPONSE_SCHEMA = z.object({
96
+ data: z
97
+ .array(BILLING_METRIC_INFO_SCHEMA)
98
+ .describe('Returned billing metrics. There is usually one item per requested entitlement after backend source resolution; explicit multiple source[] values can return multiple rows for source-aware entitlements.'),
99
+ meta: z
100
+ .object({
101
+ count: z
102
+ .number()
103
+ .int()
104
+ .nonnegative()
105
+ .describe('Number of billing metric rows returned in data.'),
106
+ retrievedAt: BILLING_METRICS_ATOM_DATETIME_SCHEMA.describe('Response retrieval timestamp from the backend billing metrics response meta.'),
107
+ })
108
+ .describe('Response metadata returned by the backend BillingMetricsMeta DTO.'),
109
+ });
5
110
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/schemas/billing/api.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7D,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/schemas/billing/api.ts"],"names":[],"mappings":"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"}
@@ -108,6 +108,63 @@ export declare const getContributorDataContract: import("@lokalise/api-contracts
108
108
  }, z.core.$strip>;
109
109
  }, z.core.$strip>;
110
110
  }>;
111
+ export declare const getAuthenticatedContributorContract: import("@lokalise/api-contracts").GetRouteDefinition<z.ZodObject<{
112
+ project_id: z.ZodString;
113
+ project_uuid: z.ZodGUID;
114
+ contributor: z.ZodObject<{
115
+ user_id: z.ZodNumber;
116
+ user_uuid: z.ZodGUID;
117
+ email: z.ZodString;
118
+ fullname: z.ZodString;
119
+ is_admin: z.ZodBoolean;
120
+ is_reviewer: z.ZodBoolean;
121
+ is_owner: z.ZodBoolean;
122
+ is_pending: z.ZodBoolean;
123
+ is_reinvited: z.ZodBoolean;
124
+ role_id: z.ZodNullable<z.ZodNumber>;
125
+ languages: z.ZodArray<z.ZodObject<{
126
+ lang_id: z.ZodNumber;
127
+ lang_iso: z.ZodString;
128
+ lang_name: z.ZodString;
129
+ is_writable: z.ZodBoolean;
130
+ }, z.core.$strip>>;
131
+ admin_rights: z.ZodArray<z.ZodString>;
132
+ permissions: z.ZodArray<z.ZodString>;
133
+ }, z.core.$strip>;
134
+ }, z.core.$strip>, z.ZodObject<{
135
+ projectId: z.ZodString;
136
+ }, z.core.$strip>, undefined, z.ZodUnion<readonly [z.ZodObject<{
137
+ Authorization: z.ZodString;
138
+ 'Content-Type': z.ZodLiteral<"application/json">;
139
+ }, z.core.$strip>, z.ZodObject<{
140
+ authorization: z.ZodString;
141
+ 'content-type': z.ZodLiteral<"application/json">;
142
+ }, z.core.$strip>]>, undefined, false, false, {
143
+ 200: z.ZodObject<{
144
+ project_id: z.ZodString;
145
+ project_uuid: z.ZodGUID;
146
+ contributor: z.ZodObject<{
147
+ user_id: z.ZodNumber;
148
+ user_uuid: z.ZodGUID;
149
+ email: z.ZodString;
150
+ fullname: z.ZodString;
151
+ is_admin: z.ZodBoolean;
152
+ is_reviewer: z.ZodBoolean;
153
+ is_owner: z.ZodBoolean;
154
+ is_pending: z.ZodBoolean;
155
+ is_reinvited: z.ZodBoolean;
156
+ role_id: z.ZodNullable<z.ZodNumber>;
157
+ languages: z.ZodArray<z.ZodObject<{
158
+ lang_id: z.ZodNumber;
159
+ lang_iso: z.ZodString;
160
+ lang_name: z.ZodString;
161
+ is_writable: z.ZodBoolean;
162
+ }, z.core.$strip>>;
163
+ admin_rights: z.ZodArray<z.ZodString>;
164
+ permissions: z.ZodArray<z.ZodString>;
165
+ }, z.core.$strip>;
166
+ }, z.core.$strip>;
167
+ }>;
111
168
  export declare const GET_EXPERT_CONTRIBUTORS_LIST_RESPONSE_SCHEMA: z.ZodObject<{
112
169
  project_id: z.ZodString;
113
170
  project_uuid: z.ZodGUID;
@@ -45,6 +45,19 @@ export const getContributorDataContract = buildGetRoute({
45
45
  requestHeaderSchema: EXPERT_AUTHORIZATION_HEADER_SCHEMA,
46
46
  });
47
47
  // ---------------------------------------------------
48
+ // GET /api2/projects/:projectId/contributors/me
49
+ // ---------------------------------------------------
50
+ export const getAuthenticatedContributorContract = buildGetRoute({
51
+ pathResolver: (params) => `/api2/projects/${params.projectId}/contributors/me`,
52
+ description: 'Retrieve the authenticated user as a project contributor',
53
+ requestPathParamsSchema: PROJECT_ID_REQUEST_PARAM_SCHEMA,
54
+ successResponseBodySchema: GET_EXPERT_CONTRIBUTOR_RESPONSE_SCHEMA,
55
+ responseSchemasByStatusCode: {
56
+ 200: GET_EXPERT_CONTRIBUTOR_RESPONSE_SCHEMA,
57
+ },
58
+ requestHeaderSchema: EXPERT_AUTHORIZATION_HEADER_SCHEMA,
59
+ });
60
+ // ---------------------------------------------------
48
61
  // GET /api2/projects/:projectId/contributors
49
62
  // ---------------------------------------------------
50
63
  export const GET_EXPERT_CONTRIBUTORS_LIST_RESPONSE_SCHEMA = z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"contributors.js","sourceRoot":"","sources":["../../../src/schemas/expert/contributors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contributors.js","sourceRoot":"","sources":["../../../src/schemas/expert/contributors.ts"],"names":[],"mappings":"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"}
@@ -263,7 +263,7 @@ export declare const GET_REVIEWERS_FOR_TRANSLATION_JOB_REQUEST_PARAMS_SCHEMA: z.
263
263
  }, z.core.$strip>;
264
264
  export type GetReviewersForTranslationJobParams = z.infer<typeof GET_REVIEWERS_FOR_TRANSLATION_JOB_REQUEST_PARAMS_SCHEMA>;
265
265
  export declare const GET_REVIEWERS_FOR_TRANSLATION_JOB_QUERY_PARAMS_SCHEMA: z.ZodObject<{
266
- targetLanguageIds: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodArray<z.ZodGUID>>;
266
+ targetLanguageIds: z.ZodPreprocess<z.ZodArray<z.ZodGUID>>;
267
267
  }, z.core.$strip>;
268
268
  export type GetReviewersForTranslationJobQuery = z.infer<typeof GET_REVIEWERS_FOR_TRANSLATION_JOB_QUERY_PARAMS_SCHEMA>;
269
269
  export declare const GET_REVIEWERS_FOR_TRANSLATION_JOB_RESPONSE_SCHEMA: z.ZodObject<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lokalise/workspaces-api-schemas",
3
- "version": "5.14.0",
3
+ "version": "5.16.0",
4
4
  "files": [
5
5
  "dist"
6
6
  ],