@hexclave/shared 1.0.25 → 1.0.27

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 (66) hide show
  1. package/dist/config/schema.d.ts +69 -69
  2. package/dist/config-authoring.d.ts +3 -0
  3. package/dist/config-authoring.d.ts.map +1 -1
  4. package/dist/config-authoring.js +3 -0
  5. package/dist/config-authoring.js.map +1 -1
  6. package/dist/esm/config/schema.d.ts +69 -69
  7. package/dist/esm/config-authoring.d.ts +3 -0
  8. package/dist/esm/config-authoring.d.ts.map +1 -1
  9. package/dist/esm/config-authoring.js +3 -0
  10. package/dist/esm/config-authoring.js.map +1 -1
  11. package/dist/esm/interface/admin-interface.d.ts +3 -1
  12. package/dist/esm/interface/admin-interface.d.ts.map +1 -1
  13. package/dist/esm/interface/admin-interface.js +3 -0
  14. package/dist/esm/interface/admin-interface.js.map +1 -1
  15. package/dist/esm/interface/admin-metrics.d.ts +15 -15
  16. package/dist/esm/interface/conversations.d.ts +36 -36
  17. package/dist/esm/interface/crud/current-user.d.ts +12 -12
  18. package/dist/esm/interface/crud/email-outbox.d.ts +62 -62
  19. package/dist/esm/interface/crud/invoices.d.ts +2 -2
  20. package/dist/esm/interface/crud/products.d.ts +12 -12
  21. package/dist/esm/interface/crud/products.d.ts.map +1 -1
  22. package/dist/esm/interface/crud/project-api-keys.d.ts +4 -4
  23. package/dist/esm/interface/crud/projects.d.ts +35 -35
  24. package/dist/esm/interface/crud/team-member-profiles.d.ts +24 -24
  25. package/dist/esm/interface/crud/transactions.d.ts +18 -18
  26. package/dist/esm/interface/crud/transactions.d.ts.map +1 -1
  27. package/dist/esm/interface/crud/users.d.ts +18 -18
  28. package/dist/esm/interface/plan-usage.d.ts +57 -0
  29. package/dist/esm/interface/plan-usage.d.ts.map +1 -0
  30. package/dist/esm/interface/plan-usage.js +35 -0
  31. package/dist/esm/interface/plan-usage.js.map +1 -0
  32. package/dist/esm/interface/webhooks.d.ts +4 -4
  33. package/dist/esm/known-errors.d.ts +1 -1
  34. package/dist/esm/sessions.d.ts +9 -9
  35. package/dist/{index-fQbeILq7.d.ts → index-nCRuFJTF.d.ts} +1 -1
  36. package/dist/{index-fQbeILq7.d.ts.map → index-nCRuFJTF.d.ts.map} +1 -1
  37. package/dist/interface/admin-interface.d.ts +3 -1
  38. package/dist/interface/admin-interface.d.ts.map +1 -1
  39. package/dist/interface/admin-interface.js +3 -0
  40. package/dist/interface/admin-interface.js.map +1 -1
  41. package/dist/interface/admin-metrics.d.ts +15 -15
  42. package/dist/interface/client-interface.d.ts +1 -1
  43. package/dist/interface/conversations.d.ts +36 -36
  44. package/dist/interface/crud/current-user.d.ts +12 -12
  45. package/dist/interface/crud/email-outbox.d.ts +62 -62
  46. package/dist/interface/crud/invoices.d.ts +2 -2
  47. package/dist/interface/crud/products.d.ts +12 -12
  48. package/dist/interface/crud/products.d.ts.map +1 -1
  49. package/dist/interface/crud/project-api-keys.d.ts +4 -4
  50. package/dist/interface/crud/projects.d.ts +35 -35
  51. package/dist/interface/crud/team-member-profiles.d.ts +24 -24
  52. package/dist/interface/crud/transactions.d.ts +18 -18
  53. package/dist/interface/crud/transactions.d.ts.map +1 -1
  54. package/dist/interface/crud/users.d.ts +18 -18
  55. package/dist/interface/plan-usage.d.ts +57 -0
  56. package/dist/interface/plan-usage.d.ts.map +1 -0
  57. package/dist/interface/plan-usage.js +39 -0
  58. package/dist/interface/plan-usage.js.map +1 -0
  59. package/dist/interface/webhooks.d.ts +4 -4
  60. package/dist/known-errors.d.ts +1 -1
  61. package/dist/sessions.d.ts +9 -9
  62. package/dist/utils/passkey.d.ts +1 -1
  63. package/package.json +1 -1
  64. package/src/config-authoring.ts +3 -1
  65. package/src/interface/admin-interface.ts +14 -0
  66. package/src/interface/plan-usage.ts +34 -0
@@ -20,40 +20,40 @@ declare const teamMemberProfilesCrudServerReadSchema: yup$1.ObjectSchema<{
20
20
  profile_image_url: string | null;
21
21
  } & {
22
22
  user: {
23
- selected_team_id: string | null;
24
- is_anonymous: boolean;
25
- is_restricted: boolean;
23
+ id: string;
26
24
  restricted_reason: {
27
25
  type: "anonymous" | "email_not_verified" | "restricted_by_administrator";
28
26
  } | null;
29
- requires_totp_mfa: boolean;
27
+ primary_email: string | null;
30
28
  display_name: string | null;
31
29
  client_metadata: {} | null;
32
30
  client_read_only_metadata: {} | null;
33
31
  server_metadata: {} | null;
34
- id: string;
35
- primary_email: string | null;
32
+ selected_team_id: string | null;
33
+ is_anonymous: boolean;
34
+ is_restricted: boolean;
35
+ requires_totp_mfa: boolean;
36
+ country_code: string | null;
37
+ profile_image_url: string | null;
38
+ signed_up_at_millis: number;
39
+ last_active_at_millis: number;
36
40
  primary_email_verified: boolean;
37
41
  primary_email_auth_enabled: boolean;
38
- profile_image_url: string | null;
39
42
  selected_team: {
40
43
  client_metadata?: {} | null | undefined;
41
44
  client_read_only_metadata?: {} | null | undefined;
42
45
  server_metadata?: {} | null | undefined;
43
- display_name: string;
44
46
  id: string;
45
- profile_image_url: string | null;
47
+ display_name: string;
46
48
  created_at_millis: number;
49
+ profile_image_url: string | null;
47
50
  } | null;
48
- signed_up_at_millis: number;
49
51
  has_password: boolean;
50
52
  otp_auth_enabled: boolean;
51
53
  passkey_auth_enabled: boolean;
52
- last_active_at_millis: number;
53
54
  restricted_by_admin: boolean;
54
55
  restricted_by_admin_reason: string | null;
55
56
  restricted_by_admin_private_details: string | null;
56
- country_code: string | null;
57
57
  risk_scores: {
58
58
  sign_up: {
59
59
  bot: number;
@@ -143,40 +143,40 @@ declare const teamMemberProfilesCrud: CrudSchemaFromOptions<{
143
143
  profile_image_url: string | null;
144
144
  } & {
145
145
  user: {
146
- selected_team_id: string | null;
147
- is_anonymous: boolean;
148
- is_restricted: boolean;
146
+ id: string;
149
147
  restricted_reason: {
150
148
  type: "anonymous" | "email_not_verified" | "restricted_by_administrator";
151
149
  } | null;
152
- requires_totp_mfa: boolean;
150
+ primary_email: string | null;
153
151
  display_name: string | null;
154
152
  client_metadata: {} | null;
155
153
  client_read_only_metadata: {} | null;
156
154
  server_metadata: {} | null;
157
- id: string;
158
- primary_email: string | null;
155
+ selected_team_id: string | null;
156
+ is_anonymous: boolean;
157
+ is_restricted: boolean;
158
+ requires_totp_mfa: boolean;
159
+ country_code: string | null;
160
+ profile_image_url: string | null;
161
+ signed_up_at_millis: number;
162
+ last_active_at_millis: number;
159
163
  primary_email_verified: boolean;
160
164
  primary_email_auth_enabled: boolean;
161
- profile_image_url: string | null;
162
165
  selected_team: {
163
166
  client_metadata?: {} | null | undefined;
164
167
  client_read_only_metadata?: {} | null | undefined;
165
168
  server_metadata?: {} | null | undefined;
166
- display_name: string;
167
169
  id: string;
168
- profile_image_url: string | null;
170
+ display_name: string;
169
171
  created_at_millis: number;
172
+ profile_image_url: string | null;
170
173
  } | null;
171
- signed_up_at_millis: number;
172
174
  has_password: boolean;
173
175
  otp_auth_enabled: boolean;
174
176
  passkey_auth_enabled: boolean;
175
- last_active_at_millis: number;
176
177
  restricted_by_admin: boolean;
177
178
  restricted_by_admin_reason: string | null;
178
179
  restricted_by_admin_private_details: string | null;
179
- country_code: string | null;
180
180
  risk_scores: {
181
181
  sign_up: {
182
182
  bot: number;
@@ -5,8 +5,8 @@ import { InferType } from "yup";
5
5
  //#region src/interface/crud/transactions.d.ts
6
6
  declare const transactionEntrySchema: yup$1.MixedSchema<{
7
7
  type: "money_transfer";
8
- customer_type: "team" | "user" | "custom";
9
8
  customer_id: string;
9
+ customer_type: "team" | "user" | "custom";
10
10
  charged_amount: {
11
11
  USD?: string | undefined;
12
12
  EUR?: string | undefined;
@@ -23,21 +23,27 @@ declare const transactionEntrySchema: yup$1.MixedSchema<{
23
23
  adjusted_entry_index: number | null;
24
24
  } | {
25
25
  type: "item_quantity_change";
26
- quantity: number;
27
- customer_type: "team" | "user" | "custom";
28
26
  item_id: string;
29
27
  customer_id: string;
28
+ quantity: number;
29
+ customer_type: "team" | "user" | "custom";
30
30
  adjusted_transaction_id: string | null;
31
31
  adjusted_entry_index: number | null;
32
32
  } | {
33
33
  one_time_purchase_id?: string | undefined;
34
34
  subscription_id?: string | undefined;
35
35
  type: "product_grant";
36
+ customer_id: string;
37
+ product_id: string | null;
38
+ quantity: number;
39
+ customer_type: "team" | "user" | "custom";
36
40
  product: {
37
41
  free_trial?: DayInterval | undefined;
38
42
  client_metadata?: {} | null | undefined;
39
43
  client_read_only_metadata?: {} | null | undefined;
40
44
  server_metadata?: {} | null | undefined;
45
+ server_only: boolean;
46
+ customer_type: "team" | "user" | "custom";
41
47
  stackable: boolean;
42
48
  prices: Record<string, {
43
49
  USD?: string | undefined;
@@ -51,18 +57,12 @@ declare const transactionEntrySchema: yup$1.MixedSchema<{
51
57
  free_trial?: DayInterval | undefined;
52
58
  }>;
53
59
  display_name: string;
54
- customer_type: "team" | "user" | "custom";
55
- server_only: boolean;
56
60
  included_items: Record<string, {
57
61
  repeat?: "never" | DayInterval | undefined;
58
62
  quantity?: number | undefined;
59
63
  expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
60
64
  }>;
61
65
  };
62
- quantity: number;
63
- customer_type: "team" | "user" | "custom";
64
- customer_id: string;
65
- product_id: string | null;
66
66
  adjusted_transaction_id: string | null;
67
67
  adjusted_entry_index: number | null;
68
68
  price_id: string | null;
@@ -89,8 +89,8 @@ declare const transactionSchema: yup$1.ObjectSchema<{
89
89
  customer_id: string;
90
90
  entries: ({
91
91
  type: "money_transfer";
92
- customer_type: "team" | "user" | "custom";
93
92
  customer_id: string;
93
+ customer_type: "team" | "user" | "custom";
94
94
  charged_amount: {
95
95
  USD?: string | undefined;
96
96
  EUR?: string | undefined;
@@ -107,21 +107,27 @@ declare const transactionSchema: yup$1.ObjectSchema<{
107
107
  adjusted_entry_index: number | null;
108
108
  } | {
109
109
  type: "item_quantity_change";
110
- quantity: number;
111
- customer_type: "team" | "user" | "custom";
112
110
  item_id: string;
113
111
  customer_id: string;
112
+ quantity: number;
113
+ customer_type: "team" | "user" | "custom";
114
114
  adjusted_transaction_id: string | null;
115
115
  adjusted_entry_index: number | null;
116
116
  } | {
117
117
  one_time_purchase_id?: string | undefined;
118
118
  subscription_id?: string | undefined;
119
119
  type: "product_grant";
120
+ customer_id: string;
121
+ product_id: string | null;
122
+ quantity: number;
123
+ customer_type: "team" | "user" | "custom";
120
124
  product: {
121
125
  free_trial?: DayInterval | undefined;
122
126
  client_metadata?: {} | null | undefined;
123
127
  client_read_only_metadata?: {} | null | undefined;
124
128
  server_metadata?: {} | null | undefined;
129
+ server_only: boolean;
130
+ customer_type: "team" | "user" | "custom";
125
131
  stackable: boolean;
126
132
  prices: Record<string, {
127
133
  USD?: string | undefined;
@@ -135,18 +141,12 @@ declare const transactionSchema: yup$1.ObjectSchema<{
135
141
  free_trial?: DayInterval | undefined;
136
142
  }>;
137
143
  display_name: string;
138
- customer_type: "team" | "user" | "custom";
139
- server_only: boolean;
140
144
  included_items: Record<string, {
141
145
  repeat?: "never" | DayInterval | undefined;
142
146
  quantity?: number | undefined;
143
147
  expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
144
148
  }>;
145
149
  };
146
- quantity: number;
147
- customer_type: "team" | "user" | "custom";
148
- customer_id: string;
149
- product_id: string | null;
150
150
  adjusted_transaction_id: string | null;
151
151
  adjusted_entry_index: number | null;
152
152
  price_id: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.d.ts","names":[],"sources":["../../../src/interface/crud/transactions.ts"],"mappings":";;;;;cAwFa,sBAAA,QAAsB,WAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMxB,WAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEC,gBAAA,GAAmB,SAAA,QAAiB,sBAAA;AAAA,cAEnC,iBAAA;AAAA,KAUD,eAAA,WAA0B,iBAAA;AAAA,cAEzB,iBAAA,QAAiB,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAkBlB,WAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEA,WAAA,GAAc,SAAA,QAAiB,iBAAA"}
1
+ {"version":3,"file":"transactions.d.ts","names":[],"sources":["../../../src/interface/crud/transactions.ts"],"mappings":";;;;;cAwFa,sBAAA,QAAsB,WAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMxB,WAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEC,gBAAA,GAAmB,SAAA,QAAiB,sBAAA;AAAA,cAEnC,iBAAA;AAAA,KAUD,eAAA,WAA0B,iBAAA;AAAA,cAEzB,iBAAA,QAAiB,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAkBlB,WAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEA,WAAA,GAAc,SAAA,QAAiB,iBAAA"}
@@ -80,10 +80,10 @@ declare const usersCrudServerReadSchema: yup$1.ObjectSchema<{
80
80
  client_metadata?: {} | null | undefined;
81
81
  client_read_only_metadata?: {} | null | undefined;
82
82
  server_metadata?: {} | null | undefined;
83
- display_name: string;
84
83
  id: string;
85
- profile_image_url: string | null;
84
+ display_name: string;
86
85
  created_at_millis: number;
86
+ profile_image_url: string | null;
87
87
  } | null;
88
88
  selected_team_id: string | null;
89
89
  profile_image_url: string | null;
@@ -162,22 +162,22 @@ declare const usersCrudServerReadSchema: yup$1.ObjectSchema<{
162
162
  requires_totp_mfa: undefined;
163
163
  }, "">;
164
164
  declare const usersCrudServerCreateSchema: yup$1.ObjectSchema<{
165
- is_anonymous: boolean | undefined;
165
+ primary_email: string | null | undefined;
166
166
  display_name: string | null | undefined;
167
167
  client_metadata: {} | null | undefined;
168
168
  client_read_only_metadata: {} | null | undefined;
169
169
  server_metadata: {} | null | undefined;
170
- primary_email: string | null | undefined;
170
+ is_anonymous: boolean | undefined;
171
171
  password: string | null | undefined;
172
+ country_code: string | null | undefined;
173
+ profile_image_url: string | null | undefined;
172
174
  primary_email_verified: boolean | undefined;
173
175
  primary_email_auth_enabled: boolean | undefined;
174
- profile_image_url: string | null | undefined;
175
176
  otp_auth_enabled: boolean | undefined;
176
177
  passkey_auth_enabled: boolean | undefined;
177
178
  restricted_by_admin: boolean | undefined;
178
179
  restricted_by_admin_reason: string | null | undefined;
179
180
  restricted_by_admin_private_details: string | null | undefined;
180
- country_code: string | null | undefined;
181
181
  risk_scores: {
182
182
  sign_up: {
183
183
  bot: number;
@@ -188,8 +188,8 @@ declare const usersCrudServerCreateSchema: yup$1.ObjectSchema<{
188
188
  totp_secret_base64: string | null | undefined;
189
189
  } & {
190
190
  oauth_providers: {
191
- email: string | null;
192
191
  id: string;
192
+ email: string | null;
193
193
  account_id: string;
194
194
  }[] | undefined;
195
195
  is_anonymous: boolean | undefined;
@@ -233,10 +233,10 @@ declare const usersCrud: CrudSchemaFromOptions<{
233
233
  client_metadata?: {} | null | undefined;
234
234
  client_read_only_metadata?: {} | null | undefined;
235
235
  server_metadata?: {} | null | undefined;
236
- display_name: string;
237
236
  id: string;
238
- profile_image_url: string | null;
237
+ display_name: string;
239
238
  created_at_millis: number;
239
+ profile_image_url: string | null;
240
240
  } | null;
241
241
  selected_team_id: string | null;
242
242
  profile_image_url: string | null;
@@ -368,22 +368,22 @@ declare const usersCrud: CrudSchemaFromOptions<{
368
368
  };
369
369
  }, "">;
370
370
  serverCreateSchema: yup$1.ObjectSchema<{
371
- is_anonymous: boolean | undefined;
371
+ primary_email: string | null | undefined;
372
372
  display_name: string | null | undefined;
373
373
  client_metadata: {} | null | undefined;
374
374
  client_read_only_metadata: {} | null | undefined;
375
375
  server_metadata: {} | null | undefined;
376
- primary_email: string | null | undefined;
376
+ is_anonymous: boolean | undefined;
377
377
  password: string | null | undefined;
378
+ country_code: string | null | undefined;
379
+ profile_image_url: string | null | undefined;
378
380
  primary_email_verified: boolean | undefined;
379
381
  primary_email_auth_enabled: boolean | undefined;
380
- profile_image_url: string | null | undefined;
381
382
  otp_auth_enabled: boolean | undefined;
382
383
  passkey_auth_enabled: boolean | undefined;
383
384
  restricted_by_admin: boolean | undefined;
384
385
  restricted_by_admin_reason: string | null | undefined;
385
386
  restricted_by_admin_private_details: string | null | undefined;
386
- country_code: string | null | undefined;
387
387
  risk_scores: {
388
388
  sign_up: {
389
389
  bot: number;
@@ -394,8 +394,8 @@ declare const usersCrud: CrudSchemaFromOptions<{
394
394
  totp_secret_base64: string | null | undefined;
395
395
  } & {
396
396
  oauth_providers: {
397
- email: string | null;
398
397
  id: string;
398
+ email: string | null;
399
399
  account_id: string;
400
400
  }[] | undefined;
401
401
  is_anonymous: boolean | undefined;
@@ -467,10 +467,10 @@ declare const userCreatedWebhookEvent: WebhookEvent<yup$1.ObjectSchema<{
467
467
  client_metadata?: {} | null | undefined;
468
468
  client_read_only_metadata?: {} | null | undefined;
469
469
  server_metadata?: {} | null | undefined;
470
- display_name: string;
471
470
  id: string;
472
- profile_image_url: string | null;
471
+ display_name: string;
473
472
  created_at_millis: number;
473
+ profile_image_url: string | null;
474
474
  } | null;
475
475
  selected_team_id: string | null;
476
476
  profile_image_url: string | null;
@@ -558,10 +558,10 @@ declare const userUpdatedWebhookEvent: WebhookEvent<yup$1.ObjectSchema<{
558
558
  client_metadata?: {} | null | undefined;
559
559
  client_read_only_metadata?: {} | null | undefined;
560
560
  server_metadata?: {} | null | undefined;
561
- display_name: string;
562
561
  id: string;
563
- profile_image_url: string | null;
562
+ display_name: string;
564
563
  created_at_millis: number;
564
+ profile_image_url: string | null;
565
565
  } | null;
566
566
  selected_team_id: string | null;
567
567
  profile_image_url: string | null;
@@ -0,0 +1,57 @@
1
+ import * as yup$1 from "yup";
2
+
3
+ //#region src/interface/plan-usage.d.ts
4
+ declare const planUsageKindSchema: yup$1.StringSchema<"current" | "metered" | "capability", yup$1.AnyObject, undefined, "">;
5
+ declare const planUsageRowSchema: yup$1.ObjectSchema<{
6
+ item_id: "dashboard_admins" | "auth_users" | "emails_per_month" | "analytics_timeout_seconds" | "analytics_events" | "session_replays" | "onboarding_call";
7
+ display_name: string;
8
+ kind: "current" | "metered" | "capability";
9
+ used: number | null;
10
+ limit: number | null;
11
+ remaining: number | null;
12
+ overage: number | null;
13
+ is_unlimited: boolean;
14
+ }, yup$1.AnyObject, {
15
+ item_id: undefined;
16
+ display_name: undefined;
17
+ kind: undefined;
18
+ used: undefined;
19
+ limit: undefined;
20
+ remaining: undefined;
21
+ overage: undefined;
22
+ is_unlimited: undefined;
23
+ }, "">;
24
+ declare const planUsageResponseSchema: yup$1.ObjectSchema<{
25
+ owner_team_id: string;
26
+ owner_team_display_name: string;
27
+ plan_id: "team" | "free" | "growth";
28
+ plan_display_name: string;
29
+ period_start_millis: number;
30
+ period_end_millis: number;
31
+ next_plan_id: "team" | "growth" | null;
32
+ rows: {
33
+ item_id: "dashboard_admins" | "auth_users" | "emails_per_month" | "analytics_timeout_seconds" | "analytics_events" | "session_replays" | "onboarding_call";
34
+ display_name: string;
35
+ kind: "current" | "metered" | "capability";
36
+ used: number | null;
37
+ limit: number | null;
38
+ remaining: number | null;
39
+ overage: number | null;
40
+ is_unlimited: boolean;
41
+ }[];
42
+ }, yup$1.AnyObject, {
43
+ owner_team_id: undefined;
44
+ owner_team_display_name: undefined;
45
+ plan_id: undefined;
46
+ plan_display_name: undefined;
47
+ period_start_millis: undefined;
48
+ period_end_millis: undefined;
49
+ next_plan_id: undefined;
50
+ rows: undefined;
51
+ }, "">;
52
+ type PlanUsageKind = yup$1.InferType<typeof planUsageKindSchema>;
53
+ type PlanUsageRow = yup$1.InferType<typeof planUsageRowSchema>;
54
+ type PlanUsageResponse = yup$1.InferType<typeof planUsageResponseSchema>;
55
+ //#endregion
56
+ export { PlanUsageKind, PlanUsageResponse, PlanUsageRow, planUsageKindSchema, planUsageResponseSchema, planUsageRowSchema };
57
+ //# sourceMappingURL=plan-usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-usage.d.ts","names":[],"sources":["../../src/interface/plan-usage.ts"],"mappings":";;;cAOa,mBAAA,EAAmB,KAAA,CAAA,YAAA,uCAAA,KAAA,CAAA,SAAA;AAAA,cAEnB,kBAAA,EAAkB,KAAA,CAAA,YAAA;;;;;;;;;GASnB,KAAA,CAAA,SAAA;;;;;;;;;;cAEC,uBAAA,EAAuB,KAAA,CAAA,YAAA;;;;;;;;;;;;;;;;;;GASxB,KAAA,CAAA,SAAA;;;;;;;;;;KAEA,aAAA,GAAgB,KAAA,CAAI,SAAA,QAAiB,mBAAA;AAAA,KACrC,YAAA,GAAe,KAAA,CAAI,SAAA,QAAiB,kBAAA;AAAA,KACpC,iBAAA,GAAoB,KAAA,CAAI,SAAA,QAAiB,uBAAA"}
@@ -0,0 +1,39 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_chunk = require('../chunk-BE-pF4vm.js');
3
+ let ___schema_fields_js = require("../schema-fields.js");
4
+ let ___plans_js = require("../plans.js");
5
+
6
+ //#region src/interface/plan-usage.ts
7
+ const PLAN_IDS = Object.keys(___plans_js.PLAN_LIMITS);
8
+ const UPGRADE_PLAN_IDS = PLAN_IDS.filter((id) => id !== "free");
9
+ const planUsageKindSchema = (0, ___schema_fields_js.yupString)().oneOf([
10
+ "current",
11
+ "metered",
12
+ "capability"
13
+ ]).defined();
14
+ const planUsageRowSchema = (0, ___schema_fields_js.yupObject)({
15
+ item_id: (0, ___schema_fields_js.yupString)().oneOf(Object.values(___plans_js.ITEM_IDS)).defined(),
16
+ display_name: (0, ___schema_fields_js.yupString)().defined(),
17
+ kind: planUsageKindSchema,
18
+ used: (0, ___schema_fields_js.yupNumber)().integer().nullable().defined(),
19
+ limit: (0, ___schema_fields_js.yupNumber)().integer().nullable().defined(),
20
+ remaining: (0, ___schema_fields_js.yupNumber)().integer().nullable().defined(),
21
+ overage: (0, ___schema_fields_js.yupNumber)().integer().nullable().defined(),
22
+ is_unlimited: (0, ___schema_fields_js.yupBoolean)().defined()
23
+ }).defined();
24
+ const planUsageResponseSchema = (0, ___schema_fields_js.yupObject)({
25
+ owner_team_id: (0, ___schema_fields_js.yupString)().uuid().defined(),
26
+ owner_team_display_name: (0, ___schema_fields_js.yupString)().defined(),
27
+ plan_id: (0, ___schema_fields_js.yupString)().oneOf(PLAN_IDS).defined(),
28
+ plan_display_name: (0, ___schema_fields_js.yupString)().defined(),
29
+ period_start_millis: (0, ___schema_fields_js.yupNumber)().integer().defined(),
30
+ period_end_millis: (0, ___schema_fields_js.yupNumber)().integer().defined(),
31
+ next_plan_id: (0, ___schema_fields_js.yupString)().oneOf(UPGRADE_PLAN_IDS).nullable().defined(),
32
+ rows: (0, ___schema_fields_js.yupArray)(planUsageRowSchema).defined()
33
+ }).defined();
34
+
35
+ //#endregion
36
+ exports.planUsageKindSchema = planUsageKindSchema;
37
+ exports.planUsageResponseSchema = planUsageResponseSchema;
38
+ exports.planUsageRowSchema = planUsageRowSchema;
39
+ //# sourceMappingURL=plan-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-usage.js","names":["PLAN_LIMITS","ITEM_IDS"],"sources":["../../src/interface/plan-usage.ts"],"sourcesContent":["import * as yup from \"yup\";\nimport { ITEM_IDS, PLAN_LIMITS } from \"../plans\";\nimport { yupArray, yupBoolean, yupNumber, yupObject, yupString } from \"../schema-fields\";\n\nconst PLAN_IDS = Object.keys(PLAN_LIMITS) as (keyof typeof PLAN_LIMITS)[];\nconst UPGRADE_PLAN_IDS = PLAN_IDS.filter((id): id is Exclude<keyof typeof PLAN_LIMITS, \"free\"> => id !== \"free\");\n\nexport const planUsageKindSchema = yupString().oneOf([\"current\", \"metered\", \"capability\"]).defined();\n\nexport const planUsageRowSchema = yupObject({\n item_id: yupString().oneOf(Object.values(ITEM_IDS)).defined(),\n display_name: yupString().defined(),\n kind: planUsageKindSchema,\n used: yupNumber().integer().nullable().defined(),\n limit: yupNumber().integer().nullable().defined(),\n remaining: yupNumber().integer().nullable().defined(),\n overage: yupNumber().integer().nullable().defined(),\n is_unlimited: yupBoolean().defined(),\n}).defined();\n\nexport const planUsageResponseSchema = yupObject({\n owner_team_id: yupString().uuid().defined(),\n owner_team_display_name: yupString().defined(),\n plan_id: yupString().oneOf(PLAN_IDS).defined(),\n plan_display_name: yupString().defined(),\n period_start_millis: yupNumber().integer().defined(),\n period_end_millis: yupNumber().integer().defined(),\n next_plan_id: yupString().oneOf(UPGRADE_PLAN_IDS).nullable().defined(),\n rows: yupArray(planUsageRowSchema).defined(),\n}).defined();\n\nexport type PlanUsageKind = yup.InferType<typeof planUsageKindSchema>;\nexport type PlanUsageRow = yup.InferType<typeof planUsageRowSchema>;\nexport type PlanUsageResponse = yup.InferType<typeof planUsageResponseSchema>;\n"],"mappings":";;;;;;AAIA,MAAM,WAAW,OAAO,KAAKA,wBAAY;AACzC,MAAM,mBAAmB,SAAS,QAAQ,OAAwD,OAAO,OAAO;AAEhH,MAAa,0DAAiC,CAAC,MAAM;CAAC;CAAW;CAAW;CAAa,CAAC,CAAC,SAAS;AAEpG,MAAa,wDAA+B;CAC1C,6CAAoB,CAAC,MAAM,OAAO,OAAOC,qBAAS,CAAC,CAAC,SAAS;CAC7D,kDAAyB,CAAC,SAAS;CACnC,MAAM;CACN,0CAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS;CAChD,2CAAkB,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS;CACjD,+CAAsB,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS;CACrD,6CAAoB,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS;CACnD,mDAA0B,CAAC,SAAS;CACrC,CAAC,CAAC,SAAS;AAEZ,MAAa,6DAAoC;CAC/C,mDAA0B,CAAC,MAAM,CAAC,SAAS;CAC3C,6DAAoC,CAAC,SAAS;CAC9C,6CAAoB,CAAC,MAAM,SAAS,CAAC,SAAS;CAC9C,uDAA8B,CAAC,SAAS;CACxC,yDAAgC,CAAC,SAAS,CAAC,SAAS;CACpD,uDAA8B,CAAC,SAAS,CAAC,SAAS;CAClD,kDAAyB,CAAC,MAAM,iBAAiB,CAAC,UAAU,CAAC,SAAS;CACtE,wCAAe,mBAAmB,CAAC,SAAS;CAC7C,CAAC,CAAC,SAAS"}
@@ -20,10 +20,10 @@ declare const webhookEvents: readonly [WebhookEvent<yup$1.ObjectSchema<{
20
20
  client_metadata?: {} | null | undefined;
21
21
  client_read_only_metadata?: {} | null | undefined;
22
22
  server_metadata?: {} | null | undefined;
23
- display_name: string;
24
23
  id: string;
25
- profile_image_url: string | null;
24
+ display_name: string;
26
25
  created_at_millis: number;
26
+ profile_image_url: string | null;
27
27
  } | null;
28
28
  selected_team_id: string | null;
29
29
  profile_image_url: string | null;
@@ -110,10 +110,10 @@ declare const webhookEvents: readonly [WebhookEvent<yup$1.ObjectSchema<{
110
110
  client_metadata?: {} | null | undefined;
111
111
  client_read_only_metadata?: {} | null | undefined;
112
112
  server_metadata?: {} | null | undefined;
113
- display_name: string;
114
113
  id: string;
115
- profile_image_url: string | null;
114
+ display_name: string;
116
115
  created_at_millis: number;
116
+ profile_image_url: string | null;
117
117
  } | null;
118
118
  selected_team_id: string | null;
119
119
  profile_image_url: string | null;
@@ -518,7 +518,7 @@ declare const KnownErrors: {
518
518
  CustomerDoesNotExist: KnownErrorConstructor<KnownError & KnownErrorBrand<"CUSTOMER_DOES_NOT_EXIST">, [customerId: string]> & {
519
519
  errorCode: "CUSTOMER_DOES_NOT_EXIST";
520
520
  };
521
- ProductDoesNotExist: KnownErrorConstructor<KnownError & KnownErrorBrand<"PRODUCT_DOES_NOT_EXIST">, [productId: string, context: "server_only" | "item_exists" | null]> & {
521
+ ProductDoesNotExist: KnownErrorConstructor<KnownError & KnownErrorBrand<"PRODUCT_DOES_NOT_EXIST">, [productId: string, context: "item_exists" | "server_only" | null]> & {
522
522
  errorCode: "PRODUCT_DOES_NOT_EXIST";
523
523
  };
524
524
  ProductCustomerTypeDoesNotMatch: KnownErrorConstructor<KnownError & KnownErrorBrand<"PRODUCT_CUSTOMER_TYPE_DOES_NOT_MATCH">, [productId: string | undefined, customerId: string, productCustomerType: "team" | "user" | "custom" | undefined, actualCustomerType: "team" | "user" | "custom"]> & {
@@ -9,24 +9,24 @@ declare class AccessToken {
9
9
  private constructor();
10
10
  get payload(): {
11
11
  exp?: number | undefined;
12
+ name: string | null;
13
+ role: "authenticated";
12
14
  sub: string;
13
- iat: number;
14
- iss: string;
15
- aud: string;
16
15
  project_id: string;
17
- branch_id: string;
18
16
  refresh_token_id: string;
19
- role: "authenticated";
20
- name: string | null;
21
17
  email: string | null;
18
+ restricted_reason: {
19
+ type: "anonymous" | "email_not_verified" | "restricted_by_administrator";
20
+ } | null;
21
+ branch_id: string;
22
+ iat: number;
23
+ iss: string;
24
+ aud: string;
22
25
  email_verified: boolean;
23
26
  selected_team_id: string | null;
24
27
  signed_up_at: number;
25
28
  is_anonymous: boolean;
26
29
  is_restricted: boolean;
27
- restricted_reason: {
28
- type: "anonymous" | "email_not_verified" | "restricted_by_administrator";
29
- } | null;
30
30
  requires_totp_mfa: boolean;
31
31
  };
32
32
  get expiresAt(): Date;
@@ -1,2 +1,2 @@
1
- import { a as RegistrationResponseJSON, i as PublicKeyCredentialRequestOptionsJSON, n as AuthenticatorAttestationResponseJSON, r as PublicKeyCredentialCreationOptionsJSON, t as AuthenticationResponseJSON } from "../index-fQbeILq7.js";
1
+ import { a as RegistrationResponseJSON, i as PublicKeyCredentialRequestOptionsJSON, n as AuthenticatorAttestationResponseJSON, r as PublicKeyCredentialCreationOptionsJSON, t as AuthenticationResponseJSON } from "../index-nCRuFJTF.js";
2
2
  export { type AuthenticationResponseJSON, type AuthenticatorAttestationResponseJSON, type PublicKeyCredentialCreationOptionsJSON, type PublicKeyCredentialRequestOptionsJSON, type RegistrationResponseJSON };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hexclave/shared",
3
- "version": "1.0.25",
3
+ "version": "1.0.27",
4
4
  "repository": "https://github.com/hexclave/hexclave",
5
5
  "files": [
6
6
  "README.md",
@@ -31,7 +31,9 @@ export function defineStackConfig(config: StrictStackConfig<StackConfig>): Stack
31
31
  return config;
32
32
  }
33
33
 
34
- // Hexclave alias — separate function so it does not inherit the deprecation tag.
34
+ /**
35
+ * Defines a Hexclave project configuration as code. See the documentation at https://skill.hexclave.com for more information.
36
+ */
35
37
  export function defineHexclaveConfig(config: StrictStackConfig<HexclaveConfig>): HexclaveConfig {
36
38
  return config;
37
39
  }
@@ -6,6 +6,7 @@ import type { MoneyAmount } from "../utils/currency-constants";
6
6
  import type { Json } from "../utils/json";
7
7
  import { Result } from "../utils/results";
8
8
  import { urlString } from "../utils/urls";
9
+ import type { PlanUsageResponse } from "./plan-usage";
9
10
  import type { AnalyticsClickmapDevice, AnalyticsClickmapKind, AnalyticsClickmapResponse, AnalyticsClickmapTokenResponse, MetricsResponse, MetricsUserCounts, UserActivityResponse } from "./admin-metrics";
10
11
  import type { AnalyticsQueryOptions, AnalyticsQueryResponse } from "./crud/analytics";
11
12
  import { EmailOutboxCrud } from "./crud/email-outbox";
@@ -27,6 +28,8 @@ import { TeamPermissionDefinitionsCrud } from "./crud/team-permissions";
27
28
  import type { Transaction, TransactionType } from "./crud/transactions";
28
29
  import { ServerAuthApplicationOptions, HexclaveServerInterface } from "./server-interface";
29
30
 
31
+ export type { PlanUsageResponse } from "./plan-usage";
32
+
30
33
  type BranchConfigSourceApi = yup.InferType<typeof branchConfigSourceSchema>;
31
34
 
32
35
  export type ChatContent = Array<
@@ -424,6 +427,17 @@ export class HexclaveAdminInterface extends HexclaveServerInterface {
424
427
  };
425
428
  }
426
429
 
430
+ async getPlanUsage(): Promise<PlanUsageResponse> {
431
+ const response = await this.sendAdminRequest(
432
+ "/internal/plan-usage",
433
+ {
434
+ method: "GET",
435
+ },
436
+ null,
437
+ );
438
+ return await response.json();
439
+ }
440
+
427
441
  async getUserActivity(userId: string): Promise<UserActivityResponse> {
428
442
  const response = await this.sendAdminRequest(
429
443
  urlString`/internal/user-activity?user_id=${userId}`,
@@ -0,0 +1,34 @@
1
+ import * as yup from "yup";
2
+ import { ITEM_IDS, PLAN_LIMITS } from "../plans";
3
+ import { yupArray, yupBoolean, yupNumber, yupObject, yupString } from "../schema-fields";
4
+
5
+ const PLAN_IDS = Object.keys(PLAN_LIMITS) as (keyof typeof PLAN_LIMITS)[];
6
+ const UPGRADE_PLAN_IDS = PLAN_IDS.filter((id): id is Exclude<keyof typeof PLAN_LIMITS, "free"> => id !== "free");
7
+
8
+ export const planUsageKindSchema = yupString().oneOf(["current", "metered", "capability"]).defined();
9
+
10
+ export const planUsageRowSchema = yupObject({
11
+ item_id: yupString().oneOf(Object.values(ITEM_IDS)).defined(),
12
+ display_name: yupString().defined(),
13
+ kind: planUsageKindSchema,
14
+ used: yupNumber().integer().nullable().defined(),
15
+ limit: yupNumber().integer().nullable().defined(),
16
+ remaining: yupNumber().integer().nullable().defined(),
17
+ overage: yupNumber().integer().nullable().defined(),
18
+ is_unlimited: yupBoolean().defined(),
19
+ }).defined();
20
+
21
+ export const planUsageResponseSchema = yupObject({
22
+ owner_team_id: yupString().uuid().defined(),
23
+ owner_team_display_name: yupString().defined(),
24
+ plan_id: yupString().oneOf(PLAN_IDS).defined(),
25
+ plan_display_name: yupString().defined(),
26
+ period_start_millis: yupNumber().integer().defined(),
27
+ period_end_millis: yupNumber().integer().defined(),
28
+ next_plan_id: yupString().oneOf(UPGRADE_PLAN_IDS).nullable().defined(),
29
+ rows: yupArray(planUsageRowSchema).defined(),
30
+ }).defined();
31
+
32
+ export type PlanUsageKind = yup.InferType<typeof planUsageKindSchema>;
33
+ export type PlanUsageRow = yup.InferType<typeof planUsageRowSchema>;
34
+ export type PlanUsageResponse = yup.InferType<typeof planUsageResponseSchema>;