@hexclave/shared 1.0.51 → 1.0.52

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 (119) hide show
  1. package/dist/{admin-interface-CoReEE6d.d.ts → admin-interface-D9wMduWc.d.ts} +10 -10
  2. package/dist/{admin-interface-CoReEE6d.d.ts.map → admin-interface-D9wMduWc.d.ts.map} +1 -1
  3. package/dist/{admin-metrics-mSeJUgs_.d.ts → admin-metrics-bsOkw4YQ.d.ts} +11 -11
  4. package/dist/{admin-metrics-mSeJUgs_.d.ts.map → admin-metrics-bsOkw4YQ.d.ts.map} +1 -1
  5. package/dist/ai/unified-prompts/reminders.js +1 -0
  6. package/dist/ai/unified-prompts/reminders.js.map +1 -1
  7. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -1
  8. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +11 -2
  9. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -1
  10. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.d.ts +5 -4
  11. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js +5 -2
  12. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js.map +1 -1
  13. package/dist/apps/apps-config.d.ts +6 -0
  14. package/dist/apps/apps-config.d.ts.map +1 -1
  15. package/dist/apps/apps-config.js +6 -0
  16. package/dist/apps/apps-config.js.map +1 -1
  17. package/dist/{client-interface-Dq3rFlfp.d.ts → client-interface-BQz4jNAC.d.ts} +8 -8
  18. package/dist/{client-interface-Dq3rFlfp.d.ts.map → client-interface-BQz4jNAC.d.ts.map} +1 -1
  19. package/dist/config/schema.d.ts +1 -1
  20. package/dist/config-authoring.d.ts +1 -1
  21. package/dist/{current-user-yKG-BuFC.d.ts → current-user-BBoN3hsn.d.ts} +6 -6
  22. package/dist/{current-user-yKG-BuFC.d.ts.map → current-user-BBoN3hsn.d.ts.map} +1 -1
  23. package/dist/{email-outbox-szT3xGTQ.d.ts → email-outbox-B1wmVPRG.d.ts} +95 -95
  24. package/dist/{email-outbox-szT3xGTQ.d.ts.map → email-outbox-B1wmVPRG.d.ts.map} +1 -1
  25. package/dist/esm/ai/unified-prompts/reminders.js +1 -0
  26. package/dist/esm/ai/unified-prompts/reminders.js.map +1 -1
  27. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -1
  28. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +11 -2
  29. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -1
  30. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.d.ts +5 -4
  31. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js +5 -2
  32. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js.map +1 -1
  33. package/dist/esm/apps/apps-config.d.ts +6 -0
  34. package/dist/esm/apps/apps-config.d.ts.map +1 -1
  35. package/dist/esm/apps/apps-config.js +6 -0
  36. package/dist/esm/apps/apps-config.js.map +1 -1
  37. package/dist/esm/config/schema.d.ts +5 -5
  38. package/dist/esm/interface/admin-interface.js +1 -1
  39. package/dist/esm/interface/admin-metrics.d.ts +10 -10
  40. package/dist/esm/interface/client-interface.js +1 -1
  41. package/dist/esm/interface/conversations.d.ts +32 -32
  42. package/dist/esm/interface/crud/current-user.d.ts +5 -5
  43. package/dist/esm/interface/crud/email-outbox.d.ts +94 -94
  44. package/dist/esm/interface/crud/products.d.ts +15 -15
  45. package/dist/esm/interface/crud/project-api-keys.d.ts +2 -2
  46. package/dist/esm/interface/crud/team-member-profiles.d.ts +8 -8
  47. package/dist/esm/interface/crud/transactions.d.ts +20 -20
  48. package/dist/esm/interface/crud/transactions.d.ts.map +1 -1
  49. package/dist/esm/interface/crud/users.d.ts +6 -6
  50. package/dist/esm/interface/plan-usage.d.ts +2 -2
  51. package/dist/esm/interface/server-interface.js +1 -1
  52. package/dist/esm/known-errors.d.ts +1 -1
  53. package/dist/esm/schema-fields.d.ts +2 -2
  54. package/dist/esm/sessions.d.ts +7 -7
  55. package/dist/esm/utils/esbuild.d.ts.map +1 -1
  56. package/dist/esm/utils/esbuild.js +8 -3
  57. package/dist/esm/utils/esbuild.js.map +1 -1
  58. package/dist/esm/utils/promises.d.ts +3 -1
  59. package/dist/esm/utils/promises.d.ts.map +1 -1
  60. package/dist/esm/utils/promises.js +5 -2
  61. package/dist/esm/utils/promises.js.map +1 -1
  62. package/dist/helpers/password.d.ts +1 -1
  63. package/dist/index.d.ts +4 -4
  64. package/dist/interface/admin-interface.d.ts +2 -2
  65. package/dist/interface/admin-interface.js +1 -1
  66. package/dist/interface/admin-metrics.d.ts +1 -1
  67. package/dist/interface/client-interface.d.ts +1 -1
  68. package/dist/interface/client-interface.js +1 -1
  69. package/dist/interface/conversations.d.ts +32 -32
  70. package/dist/interface/crud/current-user.d.ts +1 -1
  71. package/dist/interface/crud/email-outbox.d.ts +1 -1
  72. package/dist/interface/crud/products.d.ts +1 -1
  73. package/dist/interface/crud/project-api-keys.d.ts +1 -1
  74. package/dist/interface/crud/team-member-profiles.d.ts +1 -1
  75. package/dist/interface/crud/transactions.d.ts +1 -1
  76. package/dist/interface/crud/users.d.ts +1 -1
  77. package/dist/interface/plan-usage.d.ts +1 -1
  78. package/dist/interface/server-interface.d.ts +1 -1
  79. package/dist/interface/server-interface.js +1 -1
  80. package/dist/{known-errors-BFf8SVm8.d.ts → known-errors-Bm4a61wL.d.ts} +2 -2
  81. package/dist/{known-errors-BFf8SVm8.d.ts.map → known-errors-Bm4a61wL.d.ts.map} +1 -1
  82. package/dist/known-errors.d.ts +1 -1
  83. package/dist/{plan-usage-CFwV688o.d.ts → plan-usage-BaDxcLZ1.d.ts} +3 -3
  84. package/dist/{plan-usage-CFwV688o.d.ts.map → plan-usage-BaDxcLZ1.d.ts.map} +1 -1
  85. package/dist/{products-DzedG6oU.d.ts → products-D4o8A2W0.d.ts} +16 -16
  86. package/dist/{products-DzedG6oU.d.ts.map → products-D4o8A2W0.d.ts.map} +1 -1
  87. package/dist/{project-api-keys-Di2ENRam.d.ts → project-api-keys--7V5X_UW.d.ts} +3 -3
  88. package/dist/{project-api-keys-Di2ENRam.d.ts.map → project-api-keys--7V5X_UW.d.ts.map} +1 -1
  89. package/dist/{schema-Hy94hCXp.d.ts → schema-DV0SQUbY.d.ts} +6 -6
  90. package/dist/{schema-Hy94hCXp.d.ts.map → schema-DV0SQUbY.d.ts.map} +1 -1
  91. package/dist/{schema-fields-DhryPaD4.d.ts → schema-fields-DZtDQEEO.d.ts} +3 -3
  92. package/dist/{schema-fields-DhryPaD4.d.ts.map → schema-fields-DZtDQEEO.d.ts.map} +1 -1
  93. package/dist/schema-fields.d.ts +1 -1
  94. package/dist/{server-interface-CCkVoW9E.d.ts → server-interface-BjY-eS4Q.d.ts} +8 -8
  95. package/dist/{server-interface-CCkVoW9E.d.ts.map → server-interface-BjY-eS4Q.d.ts.map} +1 -1
  96. package/dist/{sessions-CKNkS48M.d.ts → sessions-CI-0TBQb.d.ts} +9 -9
  97. package/dist/{sessions-CKNkS48M.d.ts.map → sessions-CI-0TBQb.d.ts.map} +1 -1
  98. package/dist/sessions.d.ts +1 -1
  99. package/dist/{team-member-profiles-jSNAduek.d.ts → team-member-profiles-BoDEqx-0.d.ts} +9 -9
  100. package/dist/{team-member-profiles-jSNAduek.d.ts.map → team-member-profiles-BoDEqx-0.d.ts.map} +1 -1
  101. package/dist/{transactions-icyjJzs-.d.ts → transactions-CHNUJ42J.d.ts} +21 -21
  102. package/dist/transactions-CHNUJ42J.d.ts.map +1 -0
  103. package/dist/{users-CCg66YDE.d.ts → users-DHNRwoSz.d.ts} +7 -7
  104. package/dist/{users-CCg66YDE.d.ts.map → users-DHNRwoSz.d.ts.map} +1 -1
  105. package/dist/utils/esbuild.d.ts.map +1 -1
  106. package/dist/utils/esbuild.js +8 -3
  107. package/dist/utils/esbuild.js.map +1 -1
  108. package/dist/utils/promises.d.ts +3 -1
  109. package/dist/utils/promises.d.ts.map +1 -1
  110. package/dist/utils/promises.js +5 -2
  111. package/dist/utils/promises.js.map +1 -1
  112. package/package.json +1 -1
  113. package/src/ai/unified-prompts/reminders.ts +1 -0
  114. package/src/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.ts +41 -2
  115. package/src/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.ts +7 -4
  116. package/src/apps/apps-config.ts +6 -0
  117. package/src/utils/esbuild.tsx +18 -3
  118. package/src/utils/promises.tsx +9 -2
  119. package/dist/transactions-icyjJzs-.d.ts.map +0 -1
@@ -9,6 +9,8 @@ declare const customerProductReadSchema: yup$1.ObjectSchema<{
9
9
  client_metadata?: {} | null | undefined;
10
10
  client_read_only_metadata?: {} | null | undefined;
11
11
  server_metadata?: {} | null | undefined;
12
+ server_only: boolean;
13
+ customer_type: "team" | "user" | "custom";
12
14
  stackable: boolean;
13
15
  prices: Record<string, {
14
16
  USD?: string | undefined;
@@ -22,11 +24,9 @@ declare const customerProductReadSchema: yup$1.ObjectSchema<{
22
24
  free_trial?: import("../../utils/dates").DayInterval | undefined;
23
25
  }>;
24
26
  display_name: string;
25
- customer_type: "team" | "user" | "custom";
26
- server_only: boolean;
27
27
  included_items: Record<string, {
28
- repeat?: "never" | import("../../utils/dates").DayInterval | undefined;
29
28
  quantity?: number | undefined;
29
+ repeat?: "never" | import("../../utils/dates").DayInterval | undefined;
30
30
  expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
31
31
  }>;
32
32
  };
@@ -38,11 +38,14 @@ declare const customerProductReadSchema: yup$1.ObjectSchema<{
38
38
  is_cancelable: boolean;
39
39
  } | null | undefined;
40
40
  switch_options: {
41
+ product_id: string;
41
42
  product: {
42
43
  free_trial?: import("../../utils/dates").DayInterval | undefined;
43
44
  client_metadata?: {} | null | undefined;
44
45
  client_read_only_metadata?: {} | null | undefined;
45
46
  server_metadata?: {} | null | undefined;
47
+ server_only: boolean;
48
+ customer_type: "team" | "user" | "custom";
46
49
  stackable: boolean;
47
50
  prices: Record<string, {
48
51
  USD?: string | undefined;
@@ -56,15 +59,12 @@ declare const customerProductReadSchema: yup$1.ObjectSchema<{
56
59
  free_trial?: import("../../utils/dates").DayInterval | undefined;
57
60
  }>;
58
61
  display_name: string;
59
- customer_type: "team" | "user" | "custom";
60
- server_only: boolean;
61
62
  included_items: Record<string, {
62
- repeat?: "never" | import("../../utils/dates").DayInterval | undefined;
63
63
  quantity?: number | undefined;
64
+ repeat?: "never" | import("../../utils/dates").DayInterval | undefined;
64
65
  expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
65
66
  }>;
66
67
  };
67
- product_id: string;
68
68
  }[] | undefined;
69
69
  }, yup$1.AnyObject, {
70
70
  id: undefined;
@@ -101,11 +101,14 @@ declare const customerProductsListResponseSchema: yup$1.ObjectSchema<{
101
101
  is_cancelable: boolean;
102
102
  } | null | undefined;
103
103
  switch_options?: {
104
+ product_id: string;
104
105
  product: {
105
106
  free_trial?: import("../../utils/dates").DayInterval | undefined;
106
107
  client_metadata?: {} | null | undefined;
107
108
  client_read_only_metadata?: {} | null | undefined;
108
109
  server_metadata?: {} | null | undefined;
110
+ server_only: boolean;
111
+ customer_type: "team" | "user" | "custom";
109
112
  stackable: boolean;
110
113
  prices: Record<string, {
111
114
  USD?: string | undefined;
@@ -119,21 +122,21 @@ declare const customerProductsListResponseSchema: yup$1.ObjectSchema<{
119
122
  free_trial?: import("../../utils/dates").DayInterval | undefined;
120
123
  }>;
121
124
  display_name: string;
122
- customer_type: "team" | "user" | "custom";
123
- server_only: boolean;
124
125
  included_items: Record<string, {
125
- repeat?: "never" | import("../../utils/dates").DayInterval | undefined;
126
126
  quantity?: number | undefined;
127
+ repeat?: "never" | import("../../utils/dates").DayInterval | undefined;
127
128
  expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
128
129
  }>;
129
130
  };
130
- product_id: string;
131
131
  }[] | undefined;
132
+ quantity: number;
132
133
  product: {
133
134
  free_trial?: import("../../utils/dates").DayInterval | undefined;
134
135
  client_metadata?: {} | null | undefined;
135
136
  client_read_only_metadata?: {} | null | undefined;
136
137
  server_metadata?: {} | null | undefined;
138
+ server_only: boolean;
139
+ customer_type: "team" | "user" | "custom";
137
140
  stackable: boolean;
138
141
  prices: Record<string, {
139
142
  USD?: string | undefined;
@@ -147,15 +150,12 @@ declare const customerProductsListResponseSchema: yup$1.ObjectSchema<{
147
150
  free_trial?: import("../../utils/dates").DayInterval | undefined;
148
151
  }>;
149
152
  display_name: string;
150
- customer_type: "team" | "user" | "custom";
151
- server_only: boolean;
152
153
  included_items: Record<string, {
153
- repeat?: "never" | import("../../utils/dates").DayInterval | undefined;
154
154
  quantity?: number | undefined;
155
+ repeat?: "never" | import("../../utils/dates").DayInterval | undefined;
155
156
  expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
156
157
  }>;
157
158
  };
158
- quantity: number;
159
159
  id: string | null;
160
160
  }[];
161
161
  is_paginated: boolean;
@@ -78,10 +78,10 @@ declare const userApiKeysCrud: import("../../crud").CrudSchemaFromOptions<{
78
78
  is_public: undefined;
79
79
  user_id: undefined;
80
80
  }, "">, userApiKeysCreateOutputSchema: yup$1.ObjectSchema<{
81
+ user_id: string;
81
82
  type: "user";
82
83
  description: string;
83
84
  id: string;
84
- user_id: string;
85
85
  created_at_millis: number;
86
86
  expires_at_millis: number | undefined;
87
87
  manually_revoked_at_millis: number | undefined;
@@ -177,9 +177,9 @@ declare const teamApiKeysCrud: import("../../crud").CrudSchemaFromOptions<{
177
177
  team_id: undefined;
178
178
  }, "">, teamApiKeysCreateOutputSchema: yup$1.ObjectSchema<{
179
179
  type: "team";
180
+ team_id: string;
180
181
  description: string;
181
182
  id: string;
182
- team_id: string;
183
183
  created_at_millis: number;
184
184
  expires_at_millis: number | undefined;
185
185
  manually_revoked_at_millis: number | undefined;
@@ -19,6 +19,10 @@ declare const teamMemberProfilesCrudServerReadSchema: import("yup").ObjectSchema
19
19
  profile_image_url: string | null;
20
20
  } & {
21
21
  user: {
22
+ restricted_reason: {
23
+ type: "anonymous" | "email_not_verified" | "restricted_by_administrator";
24
+ } | null;
25
+ primary_email: string | null;
22
26
  display_name: string | null;
23
27
  client_metadata: {} | null;
24
28
  client_read_only_metadata: {} | null;
@@ -27,11 +31,7 @@ declare const teamMemberProfilesCrudServerReadSchema: import("yup").ObjectSchema
27
31
  selected_team_id: string | null;
28
32
  is_anonymous: boolean;
29
33
  is_restricted: boolean;
30
- restricted_reason: {
31
- type: "anonymous" | "email_not_verified" | "restricted_by_administrator";
32
- } | null;
33
34
  requires_totp_mfa: boolean;
34
- primary_email: string | null;
35
35
  country_code: string | null;
36
36
  profile_image_url: string | null;
37
37
  signed_up_at_millis: number;
@@ -142,6 +142,10 @@ declare const teamMemberProfilesCrud: import("../../crud").CrudSchemaFromOptions
142
142
  profile_image_url: string | null;
143
143
  } & {
144
144
  user: {
145
+ restricted_reason: {
146
+ type: "anonymous" | "email_not_verified" | "restricted_by_administrator";
147
+ } | null;
148
+ primary_email: string | null;
145
149
  display_name: string | null;
146
150
  client_metadata: {} | null;
147
151
  client_read_only_metadata: {} | null;
@@ -150,11 +154,7 @@ declare const teamMemberProfilesCrud: import("../../crud").CrudSchemaFromOptions
150
154
  selected_team_id: string | null;
151
155
  is_anonymous: boolean;
152
156
  is_restricted: boolean;
153
- restricted_reason: {
154
- type: "anonymous" | "email_not_verified" | "restricted_by_administrator";
155
- } | null;
156
157
  requires_totp_mfa: boolean;
157
- primary_email: string | null;
158
158
  country_code: string | null;
159
159
  profile_image_url: string | null;
160
160
  signed_up_at_millis: number;
@@ -3,8 +3,8 @@ import { InferType } from "yup";
3
3
  //#region src/interface/crud/transactions.d.ts
4
4
  declare const transactionEntrySchema: import("yup").MixedSchema<{
5
5
  type: "money_transfer";
6
- customer_type: "team" | "user" | "custom";
7
6
  customer_id: string;
7
+ customer_type: "team" | "user" | "custom";
8
8
  charged_amount: {
9
9
  USD?: string | undefined;
10
10
  EUR?: string | undefined;
@@ -21,21 +21,27 @@ declare const transactionEntrySchema: import("yup").MixedSchema<{
21
21
  adjusted_entry_index: number | null;
22
22
  } | {
23
23
  type: "item_quantity_change";
24
- quantity: number;
25
- customer_type: "team" | "user" | "custom";
26
24
  item_id: string;
27
25
  customer_id: string;
26
+ quantity: number;
27
+ customer_type: "team" | "user" | "custom";
28
28
  adjusted_transaction_id: string | null;
29
29
  adjusted_entry_index: number | null;
30
30
  } | {
31
31
  one_time_purchase_id?: string | undefined;
32
32
  subscription_id?: string | undefined;
33
33
  type: "product_grant";
34
+ customer_id: string;
35
+ product_id: string | null;
36
+ quantity: number;
37
+ customer_type: "team" | "user" | "custom";
34
38
  product: {
35
39
  free_trial?: import("../../utils/dates").DayInterval | undefined;
36
40
  client_metadata?: {} | null | undefined;
37
41
  client_read_only_metadata?: {} | null | undefined;
38
42
  server_metadata?: {} | null | undefined;
43
+ server_only: boolean;
44
+ customer_type: "team" | "user" | "custom";
39
45
  stackable: boolean;
40
46
  prices: Record<string, {
41
47
  USD?: string | undefined;
@@ -49,18 +55,12 @@ declare const transactionEntrySchema: import("yup").MixedSchema<{
49
55
  free_trial?: import("../../utils/dates").DayInterval | undefined;
50
56
  }>;
51
57
  display_name: string;
52
- customer_type: "team" | "user" | "custom";
53
- server_only: boolean;
54
58
  included_items: Record<string, {
55
- repeat?: "never" | import("../../utils/dates").DayInterval | undefined;
56
59
  quantity?: number | undefined;
60
+ repeat?: "never" | import("../../utils/dates").DayInterval | undefined;
57
61
  expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
58
62
  }>;
59
63
  };
60
- quantity: number;
61
- customer_type: "team" | "user" | "custom";
62
- customer_id: string;
63
- product_id: string | null;
64
64
  adjusted_transaction_id: string | null;
65
65
  adjusted_entry_index: number | null;
66
66
  price_id: string | null;
@@ -87,8 +87,8 @@ declare const transactionSchema: import("yup").ObjectSchema<{
87
87
  customer_id: string;
88
88
  entries: ({
89
89
  type: "money_transfer";
90
- customer_type: "team" | "user" | "custom";
91
90
  customer_id: string;
91
+ customer_type: "team" | "user" | "custom";
92
92
  charged_amount: {
93
93
  USD?: string | undefined;
94
94
  EUR?: string | undefined;
@@ -105,21 +105,27 @@ declare const transactionSchema: import("yup").ObjectSchema<{
105
105
  adjusted_entry_index: number | null;
106
106
  } | {
107
107
  type: "item_quantity_change";
108
- quantity: number;
109
- customer_type: "team" | "user" | "custom";
110
108
  item_id: string;
111
109
  customer_id: string;
110
+ quantity: number;
111
+ customer_type: "team" | "user" | "custom";
112
112
  adjusted_transaction_id: string | null;
113
113
  adjusted_entry_index: number | null;
114
114
  } | {
115
115
  one_time_purchase_id?: string | undefined;
116
116
  subscription_id?: string | undefined;
117
117
  type: "product_grant";
118
+ customer_id: string;
119
+ product_id: string | null;
120
+ quantity: number;
121
+ customer_type: "team" | "user" | "custom";
118
122
  product: {
119
123
  free_trial?: import("../../utils/dates").DayInterval | undefined;
120
124
  client_metadata?: {} | null | undefined;
121
125
  client_read_only_metadata?: {} | null | undefined;
122
126
  server_metadata?: {} | null | undefined;
127
+ server_only: boolean;
128
+ customer_type: "team" | "user" | "custom";
123
129
  stackable: boolean;
124
130
  prices: Record<string, {
125
131
  USD?: string | undefined;
@@ -133,18 +139,12 @@ declare const transactionSchema: import("yup").ObjectSchema<{
133
139
  free_trial?: import("../../utils/dates").DayInterval | undefined;
134
140
  }>;
135
141
  display_name: string;
136
- customer_type: "team" | "user" | "custom";
137
- server_only: boolean;
138
142
  included_items: Record<string, {
139
- repeat?: "never" | import("../../utils/dates").DayInterval | undefined;
140
143
  quantity?: number | undefined;
144
+ repeat?: "never" | import("../../utils/dates").DayInterval | undefined;
141
145
  expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
142
146
  }>;
143
147
  };
144
- quantity: number;
145
- customer_type: "team" | "user" | "custom";
146
- customer_id: string;
147
- product_id: string | null;
148
148
  adjusted_transaction_id: string | null;
149
149
  adjusted_entry_index: number | null;
150
150
  price_id: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.d.ts","names":[],"sources":["../../../../src/interface/crud/transactions.ts"],"mappings":";;;cAwFa,sBAAA,gBAAsB,WAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAMxB,MAAA;;;;;;;;;;;;;;oBAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;KAEC,gBAAA,GAAmB,SAAS,QAAQ,sBAAA;AAAA,cAEnC,iBAAA;AAAA,KAUD,eAAA,WAA0B,iBAAiB;AAAA,cAE1C,iBAAA,gBAAiB,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkBlB,MAAA;;;;;;;;;;;;;;sBAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEA,WAAA,GAAc,SAAS,QAAQ,iBAAA"}
1
+ {"version":3,"file":"transactions.d.ts","names":[],"sources":["../../../../src/interface/crud/transactions.ts"],"mappings":";;;cAwFa,sBAAA,gBAAsB,WAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAMxB,MAAA;;;;;;;;;;;;oBAAA,MAAA;;;;;;;;;;;;;;;;;;;;KAEC,gBAAA,GAAmB,SAAS,QAAQ,sBAAA;AAAA,cAEnC,iBAAA;AAAA,KAUD,eAAA,WAA0B,iBAAiB;AAAA,cAE1C,iBAAA,gBAAiB,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkBlB,MAAA;;;;;;;;;;;;sBAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEA,WAAA,GAAc,SAAS,QAAQ,iBAAA"}
@@ -162,15 +162,15 @@ declare const usersCrudServerReadSchema: yup$1.ObjectSchema<{
162
162
  requires_totp_mfa: undefined;
163
163
  }, "">;
164
164
  declare const usersCrudServerCreateSchema: yup$1.ObjectSchema<{
165
+ primary_email: string | null | undefined;
165
166
  display_name: string | null | undefined;
166
167
  client_metadata: {} | null | undefined;
167
168
  client_read_only_metadata: {} | null | undefined;
168
169
  server_metadata: {} | null | undefined;
169
170
  is_anonymous: boolean | undefined;
170
- primary_email: string | null | undefined;
171
+ password: string | null | undefined;
171
172
  country_code: string | null | undefined;
172
173
  profile_image_url: string | null | undefined;
173
- password: string | null | undefined;
174
174
  primary_email_verified: boolean | undefined;
175
175
  primary_email_auth_enabled: boolean | undefined;
176
176
  otp_auth_enabled: boolean | undefined;
@@ -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
- id: string;
192
191
  email: string | null;
192
+ id: string;
193
193
  account_id: string;
194
194
  }[] | undefined;
195
195
  is_anonymous: boolean | undefined;
@@ -368,15 +368,15 @@ declare const usersCrud: import("../../crud").CrudSchemaFromOptions<{
368
368
  };
369
369
  }, "">;
370
370
  serverCreateSchema: yup$1.ObjectSchema<{
371
+ primary_email: string | null | undefined;
371
372
  display_name: string | null | undefined;
372
373
  client_metadata: {} | null | undefined;
373
374
  client_read_only_metadata: {} | null | undefined;
374
375
  server_metadata: {} | null | undefined;
375
376
  is_anonymous: boolean | undefined;
376
- primary_email: string | null | undefined;
377
+ password: string | null | undefined;
377
378
  country_code: string | null | undefined;
378
379
  profile_image_url: string | null | undefined;
379
- password: string | null | undefined;
380
380
  primary_email_verified: boolean | undefined;
381
381
  primary_email_auth_enabled: boolean | undefined;
382
382
  otp_auth_enabled: boolean | undefined;
@@ -394,8 +394,8 @@ declare const usersCrud: import("../../crud").CrudSchemaFromOptions<{
394
394
  totp_secret_base64: string | null | undefined;
395
395
  } & {
396
396
  oauth_providers: {
397
- id: string;
398
397
  email: string | null;
398
+ id: string;
399
399
  account_id: string;
400
400
  }[] | undefined;
401
401
  is_anonymous: boolean | undefined;
@@ -24,15 +24,15 @@ declare const planUsageRowSchema: yup$1.ObjectSchema<{
24
24
  declare const planUsageResponseSchema: yup$1.ObjectSchema<{
25
25
  owner_team_id: string;
26
26
  owner_team_display_name: string;
27
- plan_id: "free" | "team" | "growth";
27
+ plan_id: "team" | "free" | "growth";
28
28
  plan_display_name: string;
29
29
  period_start_millis: number;
30
30
  period_end_millis: number;
31
31
  next_plan_id: "team" | "growth" | null;
32
32
  are_plan_limits_enforced: boolean;
33
33
  rows: {
34
- display_name: string;
35
34
  item_id: "dashboard_admins" | "auth_users" | "emails_per_month" | "analytics_timeout_seconds" | "analytics_events" | "session_replays" | "onboarding_call";
35
+ display_name: string;
36
36
  kind: "current" | "metered" | "capability";
37
37
  used: number | null;
38
38
  limit: number | null;
@@ -1,8 +1,8 @@
1
1
  import { HexclaveAssertionError } from "../utils/errors.js";
2
2
  import { filterUndefined } from "../utils/objects.js";
3
3
  import { Result } from "../utils/results.js";
4
- import { KnownErrors } from "../known-errors.js";
5
4
  import { urlString } from "../utils/urls.js";
5
+ import { KnownErrors } from "../known-errors.js";
6
6
  import { InternalSession } from "../sessions.js";
7
7
  import { HexclaveClientInterface } from "./client-interface.js";
8
8
  import { decryptValue, encryptValue, hashKey } from "../helpers/vault/client-side.js";
@@ -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"]> & {
@@ -314,8 +314,8 @@ declare const inlineProductSchema: yup$1.ObjectSchema<{
314
314
  free_trial?: DayInterval | undefined;
315
315
  }>;
316
316
  included_items: Record<string, {
317
- repeat?: "never" | DayInterval | undefined;
318
317
  quantity?: number | undefined;
318
+ repeat?: "never" | DayInterval | undefined;
319
319
  expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
320
320
  }>;
321
321
  client_metadata: {} | null | undefined;
@@ -491,7 +491,7 @@ declare const branchConfigSourceSchema: yup$1.MixedSchema<{
491
491
  */
492
492
  declare const configAgentRunSchema: yup$1.ObjectSchema<{
493
493
  id: string;
494
- status: "running" | "awaiting_review" | "success" | "no-change" | "error" | "cancelled";
494
+ status: "error" | "running" | "awaiting_review" | "success" | "no-change" | "cancelled";
495
495
  started_at: number;
496
496
  finished_at: number | undefined;
497
497
  commit_url: string | undefined;
@@ -9,24 +9,24 @@ declare class AccessToken {
9
9
  private constructor();
10
10
  get payload(): {
11
11
  exp?: number | undefined;
12
+ project_id: string;
13
+ refresh_token_id: string;
14
+ email: string | null;
15
+ restricted_reason: {
16
+ type: "anonymous" | "email_not_verified" | "restricted_by_administrator";
17
+ } | null;
18
+ branch_id: string;
12
19
  sub: string;
13
20
  iat: number;
14
21
  iss: string;
15
22
  aud: string;
16
- project_id: string;
17
- branch_id: string;
18
- refresh_token_id: string;
19
23
  role: "authenticated";
20
24
  name: string | null;
21
- email: string | null;
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 +1 @@
1
- {"version":3,"file":"esbuild.d.ts","names":[],"sources":["../../../src/utils/esbuild.tsx"],"mappings":";;;iBA0BgB,iBAAA,IAAqB,OAAO;AAAA,iBAgDtB,gBAAA,CAAiB,WAAA,EAAa,MAAA;EAA2B,WAAA;AAAA,GAAuB,OAAA;EACpG,MAAA;EACA,gBAAA,GAAmB,MAAA;EACnB,aAAA;EACA,SAAA;EACA,gBAAA;AAAA,IACO,OAAA,CAAQ,MAAA"}
1
+ {"version":3,"file":"esbuild.d.ts","names":[],"sources":["../../../src/utils/esbuild.tsx"],"mappings":";;;iBAyCgB,iBAAA,IAAqB,OAAO;AAAA,iBAgDtB,gBAAA,CAAiB,WAAA,EAAa,MAAA;EAA2B,WAAA;AAAA,GAAuB,OAAA;EACpG,MAAA;EACA,gBAAA,GAAmB,MAAA;EACnB,aAAA;EACA,SAAA;EACA,gBAAA;AAAA,IACO,OAAA,CAAQ,MAAA"}
@@ -7,6 +7,11 @@ import { Result } from "./results.js";
7
7
  import * as esbuild from "esbuild-wasm/lib/browser.js";
8
8
  import { traceSpan, withTraceSpan } from "./telemetry.js";
9
9
  //#region src/utils/esbuild.tsx
10
+ const esbuildModule = esbuild;
11
+ function getEsbuildApi(module) {
12
+ return module.version == null && module.default != null ? module.default : esbuild;
13
+ }
14
+ const esbuildApi = getEsbuildApi(esbuildModule);
10
15
  globalThis.self ??= globalThis;
11
16
  let esbuildInitializePromise = null;
12
17
  if (typeof process !== "undefined" && typeof process.exit === "function" && getProcessEnv("NODE_ENV") === "development") runAsynchronously(async () => {
@@ -17,7 +22,7 @@ if (typeof process !== "undefined" && typeof process.exit === "function" && getP
17
22
  }
18
23
  });
19
24
  function initializeEsbuild() {
20
- const esbuildWasmUrl = `https://unpkg.com/esbuild-wasm@${esbuild.version}/esbuild.wasm`;
25
+ const esbuildWasmUrl = `https://unpkg.com/esbuild-wasm@${esbuildApi.version}/esbuild.wasm`;
21
26
  if (esbuildInitializePromise == null) {
22
27
  esbuildInitializePromise = withTraceSpan("initializeEsbuild", async () => {
23
28
  try {
@@ -35,7 +40,7 @@ function initializeEsbuild() {
35
40
  worker: false
36
41
  };
37
42
  try {
38
- await esbuild.initialize(initOptions);
43
+ await esbuildApi.initialize(initOptions);
39
44
  } catch (e) {
40
45
  if (e instanceof Error && e.message === "Cannot call \"initialize\" more than once") {} else throw e;
41
46
  }
@@ -64,7 +69,7 @@ async function bundleJavaScript(sourceFiles, options = {}) {
64
69
  ]);
65
70
  let result;
66
71
  try {
67
- result = await traceSpan("bundleJavaScript", async () => await esbuild.build({
72
+ result = await traceSpan("bundleJavaScript", async () => await esbuildApi.build({
68
73
  entryPoints: ["/entry.js"],
69
74
  bundle: true,
70
75
  write: false,
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild.js","names":[],"sources":["../../../src/utils/esbuild.tsx"],"sourcesContent":["import * as esbuild from 'esbuild-wasm/lib/browser.js';\nimport { join } from 'path';\nimport { getProcessEnv, isBrowserLike } from './env';\nimport { captureError, HexclaveAssertionError, throwErr } from \"./errors\";\nimport { createGlobalAsync } from './globals';\nimport { ignoreUnhandledRejection, runAsynchronously } from './promises';\nimport { Result } from \"./results\";\nimport { traceSpan, withTraceSpan } from './telemetry';\n\n\n// esbuild requires self property to be set, and it is not set by default in nodejs\n(globalThis.self as any) ??= globalThis as any;\n\nlet esbuildInitializePromise: Promise<void> | null = null;\n\nif (typeof process !== \"undefined\" && typeof process.exit === \"function\" && getProcessEnv(\"NODE_ENV\") === 'development') {\n // On development Node.js servers, initialize ESBuild as soon as the module is imported so we have to wait less on the first request\n runAsynchronously(async () => {\n try {\n await initializeEsbuild();\n } catch (e) {\n captureError(\"initialize-esbuild-in-dev\", e);\n }\n });\n}\n\nexport function initializeEsbuild(): Promise<void> {\n const esbuildWasmUrl = `https://unpkg.com/esbuild-wasm@${esbuild.version}/esbuild.wasm`;\n if (esbuildInitializePromise == null) {\n esbuildInitializePromise = withTraceSpan('initializeEsbuild', async () => {\n try {\n let initOptions;\n if (isBrowserLike()) {\n initOptions = {\n wasmURL: esbuildWasmUrl,\n };\n } else {\n const esbuildWasmModule = await createGlobalAsync('esbuildWasmModule', async () => {\n const esbuildWasmResponse = await fetch(esbuildWasmUrl);\n if (!esbuildWasmResponse.ok) {\n throw new HexclaveAssertionError(`Failed to fetch esbuild.wasm: ${esbuildWasmResponse.status} ${esbuildWasmResponse.statusText}: ${await esbuildWasmResponse.text()}`);\n }\n const esbuildWasm = await esbuildWasmResponse.arrayBuffer();\n const esbuildWasmArray = new Uint8Array(esbuildWasm);\n if (esbuildWasmArray[0] !== 0x00 || esbuildWasmArray[1] !== 0x61 || esbuildWasmArray[2] !== 0x73 || esbuildWasmArray[3] !== 0x6d) {\n throw new HexclaveAssertionError(`Invalid esbuild.wasm file: ${new TextDecoder().decode(esbuildWasmArray)}`);\n }\n return new WebAssembly.Module(esbuildWasm);\n });\n initOptions = {\n wasmModule: esbuildWasmModule,\n worker: false,\n };\n }\n try {\n await esbuild.initialize(initOptions);\n } catch (e) {\n if (e instanceof Error && e.message === 'Cannot call \"initialize\" more than once') {\n // this happens especially in local development, just ignore\n } else {\n throw e;\n }\n }\n } catch (e) {\n esbuildInitializePromise = null;\n throw new HexclaveAssertionError(\"Failed to initialize ESBuild\", { cause: e });\n }\n })();\n ignoreUnhandledRejection(esbuildInitializePromise);\n }\n\n return esbuildInitializePromise;\n}\n\nexport async function bundleJavaScript(sourceFiles: Record<string, string> & { '/entry.js': string }, options: {\n format?: 'iife' | 'esm' | 'cjs',\n externalPackages?: Record<string, string>,\n keepAsImports?: string[],\n sourcemap?: false | 'inline',\n allowHttpImports?: boolean,\n} = {}): Promise<Result<string, string>> {\n await initializeEsbuild();\n\n const sourceFilesMap = new Map(Object.entries(sourceFiles));\n const externalPackagesMap = new Map(Object.entries(options.externalPackages ?? {}));\n const keepAsImports = options.keepAsImports ?? [];\n\n const httpImportCache = new Map<string, { contents: string, loader: esbuild.Loader, resolveDir: string }>();\n\n const extToLoader: Map<string, esbuild.Loader> = new Map([\n ['tsx', 'tsx'],\n ['ts', 'ts'],\n ['js', 'js'],\n ['jsx', 'jsx'],\n ['json', 'json'],\n ['css', 'css'],\n ]);\n let result;\n try {\n result = await traceSpan('bundleJavaScript', async () => await esbuild.build({\n entryPoints: ['/entry.js'],\n bundle: true,\n write: false,\n format: options.format ?? 'iife',\n platform: 'browser',\n target: 'es2015',\n jsx: 'automatic',\n sourcemap: options.sourcemap ?? 'inline',\n external: keepAsImports,\n plugins: [\n ...options.allowHttpImports ? [{\n name: \"esm-sh-only\",\n setup(build: esbuild.PluginBuild) {\n // Handle absolute URLs and relative imports from esm.sh modules.\n build.onResolve({ filter: /.*/ }, (args) => {\n // Only touch absolute http(s) specifiers or children of our own namespace\n const isHttp = args.path.startsWith(\"http://\") || args.path.startsWith(\"https://\");\n const fromEsmNs = args.namespace === \"esm-sh\";\n\n if (!isHttp && !fromEsmNs) return null; // Let other plugins handle bare/relative/local\n\n // Resolve relative URLs inside esm.sh-fetched modules\n const url = new URL(args.path, fromEsmNs ? args.importer : undefined);\n\n if (url.protocol !== \"https:\" || url.host !== \"esm.sh\") {\n throw new Error(`Blocked non-esm.sh URL import: ${url.href}`);\n }\n\n return { path: url.href, namespace: \"esm-sh\" };\n });\n\n build.onLoad({ filter: /.*/, namespace: \"esm-sh\" }, async (args) => {\n if (httpImportCache.has(args.path)) return httpImportCache.get(args.path)!;\n\n const res = await fetch(args.path, { redirect: \"follow\" });\n if (!res.ok) throw new Error(`Fetch ${res.status} ${res.statusText} for ${args.path}`);\n const finalUrl = new URL(res.url);\n // Defensive: follow shouldn’t leave esm.sh, but re-check.\n if (finalUrl.host !== \"esm.sh\") {\n throw new Error(`Redirect escaped esm.sh: ${finalUrl.href}`);\n }\n\n const ct = (res.headers.get(\"content-type\") || \"\").toLowerCase();\n let loader: esbuild.Loader =\n ct.includes(\"css\") ? \"css\" :\n ct.includes(\"json\") ? \"json\" :\n ct.includes(\"typescript\") ? \"ts\" :\n ct.includes(\"jsx\") ? \"jsx\" :\n ct.includes(\"tsx\") ? \"tsx\" :\n \"js\";\n\n // Fallback by extension (esm.sh sometimes omits CT)\n const p = finalUrl.pathname;\n if (p.endsWith(\".css\")) loader = \"css\";\n else if (p.endsWith(\".json\")) loader = \"json\";\n else if (p.endsWith(\".ts\")) loader = \"ts\";\n else if (p.endsWith(\".tsx\")) loader = \"tsx\";\n else if (p.endsWith(\".jsx\")) loader = \"jsx\";\n\n const contents = await res.text();\n const result = {\n contents,\n loader,\n // Ensures relative imports inside that module resolve against the file’s URL\n resolveDir: new URL(\".\", finalUrl.href).toString(),\n watchFiles: [finalUrl.href],\n };\n httpImportCache.set(args.path, result);\n return result;\n });\n },\n } as esbuild.Plugin] : [],\n {\n name: 'replace-packages-with-globals',\n setup(build) {\n build.onResolve({ filter: /.*/ }, args => {\n // Skip packages that should remain external (not be shimmed)\n if (keepAsImports.includes(args.path)) {\n return undefined;\n }\n if (externalPackagesMap.has(args.path)) {\n return { path: args.path, namespace: 'package-shim' };\n }\n return undefined;\n });\n\n build.onLoad({ filter: /.*/, namespace: 'package-shim' }, (args) => {\n const contents = externalPackagesMap.get(args.path);\n if (contents == null) throw new HexclaveAssertionError(`esbuild requested file ${args.path} that is not in the virtual file system`);\n\n return { contents, loader: 'ts' };\n });\n },\n },\n {\n name: 'virtual-fs',\n setup(build) {\n build.onResolve({ filter: /.*/ }, args => {\n const absolutePath = join(\"/\", args.path);\n if (sourceFilesMap.has(absolutePath)) {\n return { path: absolutePath, namespace: 'virtual' };\n }\n return undefined;\n });\n\n /* 2️⃣ Load the module from the map */\n build.onLoad({ filter: /.*/, namespace: 'virtual' }, args => {\n const contents = sourceFilesMap.get(args.path);\n if (contents == null) throw new HexclaveAssertionError(`esbuild requested file ${args.path} that is not in the virtual file system`);\n\n const ext = args.path.split('.').pop() ?? '';\n const loader = extToLoader.get(ext) ?? throwErr(`esbuild requested file ${args.path} with unknown extension ${ext}`);\n\n return { contents, loader };\n });\n },\n },\n ],\n }));\n } catch (e) {\n if (e instanceof Error && e.message.startsWith(\"Build failed with \")) {\n return Result.error(e.message);\n }\n throw e;\n }\n\n if (result.errors.length > 0) {\n return Result.error(result.errors.map(e => e.text).join('\\n'));\n }\n\n if (result.outputFiles.length > 0) {\n return Result.ok(result.outputFiles[0].text);\n }\n return throwErr(\"No output generated??\");\n}\n"],"mappings":";;;;;;;;;AAWA,WAAY,SAAiB;AAE7B,IAAI,2BAAiD;AAErD,IAAI,OAAO,YAAY,eAAe,OAAO,QAAQ,SAAS,cAAc,cAAc,UAAU,MAAM,eAExG,kBAAkB,YAAY;CAC5B,IAAI;EACF,MAAM,kBAAkB;CAC1B,SAAS,GAAG;EACV,aAAa,6BAA6B,CAAC;CAC7C;AACF,CAAC;AAGH,SAAgB,oBAAmC;CACjD,MAAM,iBAAiB,kCAAkC,QAAQ,QAAQ;CACzE,IAAI,4BAA4B,MAAM;EACpC,2BAA2B,cAAc,qBAAqB,YAAY;GACxE,IAAI;IACF,IAAI;IACJ,IAAI,cAAc,GAChB,cAAc,EACZ,SAAS,eACX;SAcA,cAAc;KACZ,YAAY,MAbkB,kBAAkB,qBAAqB,YAAY;MACjF,MAAM,sBAAsB,MAAM,MAAM,cAAc;MACtD,IAAI,CAAC,oBAAoB,IACvB,MAAM,IAAI,uBAAuB,iCAAiC,oBAAoB,OAAO,GAAG,oBAAoB,WAAW,IAAI,MAAM,oBAAoB,KAAK,GAAG;MAEvK,MAAM,cAAc,MAAM,oBAAoB,YAAY;MAC1D,MAAM,mBAAmB,IAAI,WAAW,WAAW;MACnD,IAAI,iBAAiB,OAAO,KAAQ,iBAAiB,OAAO,MAAQ,iBAAiB,OAAO,OAAQ,iBAAiB,OAAO,KAC1H,MAAM,IAAI,uBAAuB,8BAA8B,IAAI,YAAY,CAAC,CAAC,OAAO,gBAAgB,GAAG;MAE7G,OAAO,IAAI,YAAY,OAAO,WAAW;KAC3C,CAAC;KAGC,QAAQ;IACV;IAEF,IAAI;KACF,MAAM,QAAQ,WAAW,WAAW;IACtC,SAAS,GAAG;KACV,IAAI,aAAa,SAAS,EAAE,YAAY,6CAA2C,CAEnF,OACE,MAAM;IAEV;GACF,SAAS,GAAG;IACV,2BAA2B;IAC3B,MAAM,IAAI,uBAAuB,gCAAgC,EAAE,OAAO,EAAE,CAAC;GAC/E;EACF,CAAC,CAAC,CAAC;EACH,yBAAyB,wBAAwB;CACnD;CAEA,OAAO;AACT;AAEA,eAAsB,iBAAiB,aAA+D,UAMlG,CAAC,GAAoC;CACvC,MAAM,kBAAkB;CAExB,MAAM,iBAAiB,IAAI,IAAI,OAAO,QAAQ,WAAW,CAAC;CAC1D,MAAM,sBAAsB,IAAI,IAAI,OAAO,QAAQ,QAAQ,oBAAoB,CAAC,CAAC,CAAC;CAClF,MAAM,gBAAgB,QAAQ,iBAAiB,CAAC;CAEhD,MAAM,kCAAkB,IAAI,IAA8E;CAE1G,MAAM,8BAA2C,IAAI,IAAI;EACvD,CAAC,OAAO,KAAK;EACb,CAAC,MAAM,IAAI;EACX,CAAC,MAAM,IAAI;EACX,CAAC,OAAO,KAAK;EACb,CAAC,QAAQ,MAAM;EACf,CAAC,OAAO,KAAK;CACf,CAAC;CACD,IAAI;CACJ,IAAI;EACF,SAAS,MAAM,UAAU,oBAAoB,YAAY,MAAM,QAAQ,MAAM;GAC3E,aAAa,CAAC,WAAW;GACzB,QAAQ;GACR,OAAO;GACP,QAAQ,QAAQ,UAAU;GAC1B,UAAU;GACV,QAAQ;GACR,KAAK;GACL,WAAW,QAAQ,aAAa;GAChC,UAAU;GACV,SAAS;IACP,GAAG,QAAQ,mBAAmB,CAAC;KAC7B,MAAM;KACN,MAAM,OAA4B;MAEhC,MAAM,UAAU,EAAE,QAAQ,KAAK,IAAI,SAAS;OAE1C,MAAM,SAAS,KAAK,KAAK,WAAW,SAAS,KAAK,KAAK,KAAK,WAAW,UAAU;OACjF,MAAM,YAAY,KAAK,cAAc;OAErC,IAAI,CAAC,UAAU,CAAC,WAAW,OAAO;OAGlC,MAAM,MAAM,IAAI,IAAI,KAAK,MAAM,YAAY,KAAK,WAAW,KAAA,CAAS;OAEpE,IAAI,IAAI,aAAa,YAAY,IAAI,SAAS,UAC5C,MAAM,IAAI,MAAM,kCAAkC,IAAI,MAAM;OAG9D,OAAO;QAAE,MAAM,IAAI;QAAM,WAAW;OAAS;MAC/C,CAAC;MAED,MAAM,OAAO;OAAE,QAAQ;OAAM,WAAW;MAAS,GAAG,OAAO,SAAS;OAClE,IAAI,gBAAgB,IAAI,KAAK,IAAI,GAAG,OAAO,gBAAgB,IAAI,KAAK,IAAI;OAExE,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,EAAE,UAAU,SAAS,CAAC;OACzD,IAAI,CAAC,IAAI,IAAI,MAAM,IAAI,MAAM,SAAS,IAAI,OAAO,GAAG,IAAI,WAAW,OAAO,KAAK,MAAM;OACrF,MAAM,WAAW,IAAI,IAAI,IAAI,GAAG;OAEhC,IAAI,SAAS,SAAS,UACpB,MAAM,IAAI,MAAM,4BAA4B,SAAS,MAAM;OAG7D,MAAM,MAAM,IAAI,QAAQ,IAAI,cAAc,KAAK,GAAA,CAAI,YAAY;OAC/D,IAAI,SACF,GAAG,SAAS,KAAK,IAAI,QACrB,GAAG,SAAS,MAAM,IAAI,SACtB,GAAG,SAAS,YAAY,IAAI,OAC5B,GAAG,SAAS,KAAK,IAAI,QACrB,GAAG,SAAS,KAAK,IAAI,QACnB;OAGJ,MAAM,IAAI,SAAS;OACnB,IAAI,EAAE,SAAS,MAAM,GAAG,SAAS;YAC5B,IAAI,EAAE,SAAS,OAAO,GAAG,SAAS;YAClC,IAAI,EAAE,SAAS,KAAK,GAAG,SAAS;YAChC,IAAI,EAAE,SAAS,MAAM,GAAG,SAAS;YACjC,IAAI,EAAE,SAAS,MAAM,GAAG,SAAS;OAGtC,MAAM,SAAS;QACb,UAAA,MAFqB,IAAI,KAAK;QAG9B;QAEA,YAAY,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS;QACjD,YAAY,CAAC,SAAS,IAAI;OAC5B;OACA,gBAAgB,IAAI,KAAK,MAAM,MAAM;OACrC,OAAO;MACT,CAAC;KACH;IACF,CAAmB,IAAI,CAAC;IACxB;KACE,MAAM;KACN,MAAM,OAAO;MACX,MAAM,UAAU,EAAE,QAAQ,KAAK,IAAG,SAAQ;OAExC,IAAI,cAAc,SAAS,KAAK,IAAI,GAClC;OAEF,IAAI,oBAAoB,IAAI,KAAK,IAAI,GACnC,OAAO;QAAE,MAAM,KAAK;QAAM,WAAW;OAAe;MAGxD,CAAC;MAED,MAAM,OAAO;OAAE,QAAQ;OAAM,WAAW;MAAe,IAAI,SAAS;OAClE,MAAM,WAAW,oBAAoB,IAAI,KAAK,IAAI;OAClD,IAAI,YAAY,MAAM,MAAM,IAAI,uBAAuB,0BAA0B,KAAK,KAAK,wCAAwC;OAEnI,OAAO;QAAE;QAAU,QAAQ;OAAK;MAClC,CAAC;KACH;IACF;IACA;KACE,MAAM;KACN,MAAM,OAAO;MACX,MAAM,UAAU,EAAE,QAAQ,KAAK,IAAG,SAAQ;OACxC,MAAM,eAAe,KAAK,KAAK,KAAK,IAAI;OACxC,IAAI,eAAe,IAAI,YAAY,GACjC,OAAO;QAAE,MAAM;QAAc,WAAW;OAAU;MAGtD,CAAC;MAGD,MAAM,OAAO;OAAE,QAAQ;OAAM,WAAW;MAAU,IAAG,SAAQ;OAC3D,MAAM,WAAW,eAAe,IAAI,KAAK,IAAI;OAC7C,IAAI,YAAY,MAAM,MAAM,IAAI,uBAAuB,0BAA0B,KAAK,KAAK,wCAAwC;OAEnI,MAAM,MAAM,KAAK,KAAK,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK;OAG1C,OAAO;QAAE;QAAU,QAFJ,YAAY,IAAI,GAAG,KAAK,SAAS,0BAA0B,KAAK,KAAK,0BAA0B,KAAK;OAEzF;MAC5B,CAAC;KACH;IACF;GACF;EACF,CAAC,CAAC;CACJ,SAAS,GAAG;EACV,IAAI,aAAa,SAAS,EAAE,QAAQ,WAAW,oBAAoB,GACjE,OAAO,OAAO,MAAM,EAAE,OAAO;EAE/B,MAAM;CACR;CAEA,IAAI,OAAO,OAAO,SAAS,GACzB,OAAO,OAAO,MAAM,OAAO,OAAO,KAAI,MAAK,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC;CAG/D,IAAI,OAAO,YAAY,SAAS,GAC9B,OAAO,OAAO,GAAG,OAAO,YAAY,EAAE,CAAC,IAAI;CAE7C,OAAO,SAAS,uBAAuB;AACzC"}
1
+ {"version":3,"file":"esbuild.js","names":[],"sources":["../../../src/utils/esbuild.tsx"],"sourcesContent":["import * as esbuild from 'esbuild-wasm/lib/browser.js';\nimport { join } from 'path';\nimport { getProcessEnv, isBrowserLike } from './env';\nimport { captureError, HexclaveAssertionError, throwErr } from \"./errors\";\nimport { createGlobalAsync } from './globals';\nimport { ignoreUnhandledRejection, runAsynchronously } from './promises';\nimport { Result } from \"./results\";\nimport { traceSpan, withTraceSpan } from './telemetry';\n\ntype EsbuildBrowserRuntimeModule = Partial<typeof esbuild> & {\n default?: typeof esbuild,\n};\n\n// The built ESM package can import esbuild-wasm's CJS browser entry as a\n// default-only namespace under Node. Normalize once so both tsx source runs and\n// built dist runs see the same API surface.\nconst esbuildModule: EsbuildBrowserRuntimeModule = esbuild;\nfunction getEsbuildApi(module: EsbuildBrowserRuntimeModule): typeof esbuild {\n return module.version == null && module.default != null\n ? module.default\n : esbuild;\n}\nconst esbuildApi = getEsbuildApi(esbuildModule);\n\n\n// esbuild requires self property to be set, and it is not set by default in nodejs\n(globalThis.self as any) ??= globalThis as any;\n\nlet esbuildInitializePromise: Promise<void> | null = null;\n\nif (typeof process !== \"undefined\" && typeof process.exit === \"function\" && getProcessEnv(\"NODE_ENV\") === 'development') {\n // On development Node.js servers, initialize ESBuild as soon as the module is imported so we have to wait less on the first request\n runAsynchronously(async () => {\n try {\n await initializeEsbuild();\n } catch (e) {\n captureError(\"initialize-esbuild-in-dev\", e);\n }\n });\n}\n\nexport function initializeEsbuild(): Promise<void> {\n const esbuildWasmUrl = `https://unpkg.com/esbuild-wasm@${esbuildApi.version}/esbuild.wasm`;\n if (esbuildInitializePromise == null) {\n esbuildInitializePromise = withTraceSpan('initializeEsbuild', async () => {\n try {\n let initOptions;\n if (isBrowserLike()) {\n initOptions = {\n wasmURL: esbuildWasmUrl,\n };\n } else {\n const esbuildWasmModule = await createGlobalAsync('esbuildWasmModule', async () => {\n const esbuildWasmResponse = await fetch(esbuildWasmUrl);\n if (!esbuildWasmResponse.ok) {\n throw new HexclaveAssertionError(`Failed to fetch esbuild.wasm: ${esbuildWasmResponse.status} ${esbuildWasmResponse.statusText}: ${await esbuildWasmResponse.text()}`);\n }\n const esbuildWasm = await esbuildWasmResponse.arrayBuffer();\n const esbuildWasmArray = new Uint8Array(esbuildWasm);\n if (esbuildWasmArray[0] !== 0x00 || esbuildWasmArray[1] !== 0x61 || esbuildWasmArray[2] !== 0x73 || esbuildWasmArray[3] !== 0x6d) {\n throw new HexclaveAssertionError(`Invalid esbuild.wasm file: ${new TextDecoder().decode(esbuildWasmArray)}`);\n }\n return new WebAssembly.Module(esbuildWasm);\n });\n initOptions = {\n wasmModule: esbuildWasmModule,\n worker: false,\n };\n }\n try {\n await esbuildApi.initialize(initOptions);\n } catch (e) {\n if (e instanceof Error && e.message === 'Cannot call \"initialize\" more than once') {\n // this happens especially in local development, just ignore\n } else {\n throw e;\n }\n }\n } catch (e) {\n esbuildInitializePromise = null;\n throw new HexclaveAssertionError(\"Failed to initialize ESBuild\", { cause: e });\n }\n })();\n ignoreUnhandledRejection(esbuildInitializePromise);\n }\n\n return esbuildInitializePromise;\n}\n\nexport async function bundleJavaScript(sourceFiles: Record<string, string> & { '/entry.js': string }, options: {\n format?: 'iife' | 'esm' | 'cjs',\n externalPackages?: Record<string, string>,\n keepAsImports?: string[],\n sourcemap?: false | 'inline',\n allowHttpImports?: boolean,\n} = {}): Promise<Result<string, string>> {\n await initializeEsbuild();\n\n const sourceFilesMap = new Map(Object.entries(sourceFiles));\n const externalPackagesMap = new Map(Object.entries(options.externalPackages ?? {}));\n const keepAsImports = options.keepAsImports ?? [];\n\n const httpImportCache = new Map<string, { contents: string, loader: esbuild.Loader, resolveDir: string }>();\n\n const extToLoader: Map<string, esbuild.Loader> = new Map([\n ['tsx', 'tsx'],\n ['ts', 'ts'],\n ['js', 'js'],\n ['jsx', 'jsx'],\n ['json', 'json'],\n ['css', 'css'],\n ]);\n let result;\n try {\n result = await traceSpan('bundleJavaScript', async () => await esbuildApi.build({\n entryPoints: ['/entry.js'],\n bundle: true,\n write: false,\n format: options.format ?? 'iife',\n platform: 'browser',\n target: 'es2015',\n jsx: 'automatic',\n sourcemap: options.sourcemap ?? 'inline',\n external: keepAsImports,\n plugins: [\n ...options.allowHttpImports ? [{\n name: \"esm-sh-only\",\n setup(build: esbuild.PluginBuild) {\n // Handle absolute URLs and relative imports from esm.sh modules.\n build.onResolve({ filter: /.*/ }, (args) => {\n // Only touch absolute http(s) specifiers or children of our own namespace\n const isHttp = args.path.startsWith(\"http://\") || args.path.startsWith(\"https://\");\n const fromEsmNs = args.namespace === \"esm-sh\";\n\n if (!isHttp && !fromEsmNs) return null; // Let other plugins handle bare/relative/local\n\n // Resolve relative URLs inside esm.sh-fetched modules\n const url = new URL(args.path, fromEsmNs ? args.importer : undefined);\n\n if (url.protocol !== \"https:\" || url.host !== \"esm.sh\") {\n throw new Error(`Blocked non-esm.sh URL import: ${url.href}`);\n }\n\n return { path: url.href, namespace: \"esm-sh\" };\n });\n\n build.onLoad({ filter: /.*/, namespace: \"esm-sh\" }, async (args) => {\n if (httpImportCache.has(args.path)) return httpImportCache.get(args.path)!;\n\n const res = await fetch(args.path, { redirect: \"follow\" });\n if (!res.ok) throw new Error(`Fetch ${res.status} ${res.statusText} for ${args.path}`);\n const finalUrl = new URL(res.url);\n // Defensive: follow shouldn’t leave esm.sh, but re-check.\n if (finalUrl.host !== \"esm.sh\") {\n throw new Error(`Redirect escaped esm.sh: ${finalUrl.href}`);\n }\n\n const ct = (res.headers.get(\"content-type\") || \"\").toLowerCase();\n let loader: esbuild.Loader =\n ct.includes(\"css\") ? \"css\" :\n ct.includes(\"json\") ? \"json\" :\n ct.includes(\"typescript\") ? \"ts\" :\n ct.includes(\"jsx\") ? \"jsx\" :\n ct.includes(\"tsx\") ? \"tsx\" :\n \"js\";\n\n // Fallback by extension (esm.sh sometimes omits CT)\n const p = finalUrl.pathname;\n if (p.endsWith(\".css\")) loader = \"css\";\n else if (p.endsWith(\".json\")) loader = \"json\";\n else if (p.endsWith(\".ts\")) loader = \"ts\";\n else if (p.endsWith(\".tsx\")) loader = \"tsx\";\n else if (p.endsWith(\".jsx\")) loader = \"jsx\";\n\n const contents = await res.text();\n const result = {\n contents,\n loader,\n // Ensures relative imports inside that module resolve against the file’s URL\n resolveDir: new URL(\".\", finalUrl.href).toString(),\n watchFiles: [finalUrl.href],\n };\n httpImportCache.set(args.path, result);\n return result;\n });\n },\n } as esbuild.Plugin] : [],\n {\n name: 'replace-packages-with-globals',\n setup(build) {\n build.onResolve({ filter: /.*/ }, args => {\n // Skip packages that should remain external (not be shimmed)\n if (keepAsImports.includes(args.path)) {\n return undefined;\n }\n if (externalPackagesMap.has(args.path)) {\n return { path: args.path, namespace: 'package-shim' };\n }\n return undefined;\n });\n\n build.onLoad({ filter: /.*/, namespace: 'package-shim' }, (args) => {\n const contents = externalPackagesMap.get(args.path);\n if (contents == null) throw new HexclaveAssertionError(`esbuild requested file ${args.path} that is not in the virtual file system`);\n\n return { contents, loader: 'ts' };\n });\n },\n },\n {\n name: 'virtual-fs',\n setup(build) {\n build.onResolve({ filter: /.*/ }, args => {\n const absolutePath = join(\"/\", args.path);\n if (sourceFilesMap.has(absolutePath)) {\n return { path: absolutePath, namespace: 'virtual' };\n }\n return undefined;\n });\n\n /* 2️⃣ Load the module from the map */\n build.onLoad({ filter: /.*/, namespace: 'virtual' }, args => {\n const contents = sourceFilesMap.get(args.path);\n if (contents == null) throw new HexclaveAssertionError(`esbuild requested file ${args.path} that is not in the virtual file system`);\n\n const ext = args.path.split('.').pop() ?? '';\n const loader = extToLoader.get(ext) ?? throwErr(`esbuild requested file ${args.path} with unknown extension ${ext}`);\n\n return { contents, loader };\n });\n },\n },\n ],\n }));\n } catch (e) {\n if (e instanceof Error && e.message.startsWith(\"Build failed with \")) {\n return Result.error(e.message);\n }\n throw e;\n }\n\n if (result.errors.length > 0) {\n return Result.error(result.errors.map(e => e.text).join('\\n'));\n }\n\n if (result.outputFiles.length > 0) {\n return Result.ok(result.outputFiles[0].text);\n }\n return throwErr(\"No output generated??\");\n}\n"],"mappings":"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"}
@@ -38,7 +38,9 @@ declare function ignoreUnhandledRejection<T extends Promise<any>>(promise: T): v
38
38
  * See concatStacktraces for more information.
39
39
  */
40
40
  declare function concatStacktracesIfRejected<T>(promise: Promise<T>): void;
41
- declare function wait(ms: number): Promise<void>;
41
+ declare function wait(ms: number, options?: {
42
+ unref?: boolean;
43
+ }): Promise<void>;
42
44
  declare function waitUntil(date: Date): Promise<void>;
43
45
  declare function runAsynchronouslyWithAlert(...args: Parameters<typeof runAsynchronously>): void;
44
46
  declare function runAsynchronously(promiseOrFunc: void | Promise<unknown> | (() => void | Promise<unknown>) | undefined, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"promises.d.ts","names":[],"sources":["../../../src/utils/promises.tsx"],"mappings":";;;KAQY,YAAA,MAAkB,OAAA,CAAQ,CAAA;EAChC,MAAA;EAAoB,MAAA;AAAA;EACpB,MAAA;EAAqB,KAAA,EAAO,CAAA;AAAA;EAC5B,MAAA;AAAA;AAAA,KAGD,OAAA,OAAc,KAAA,EAAO,CAAC;AAAA,KACtB,MAAA,IAAU,MAAe;AAAA,iBACd,aAAA,IAAiB,QAAA,GAAW,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,MAAA,EAAQ,MAAA,YAAkB,YAAA,CAAa,CAAA;;;;;iBAwExF,QAAA,IAAY,KAAA,EAAO,CAAA,GAAI,YAAA,CAAa,CAAA;;;;AA7ExC;iBAuHI,QAAA,IAAY,MAAA,YAAkB,YAAY,CAAC,CAAA;AAAA,iBA6C3C,YAAA,IAAgB,YAAY;AAAA,iBAc5B,OAAA,IAAW,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,OAAA;EAAW,oBAAA;AAAA,IAAwC,YAAA,CAAa,CAAA;;;;AA/KrF;AAAA;;iBAuNX,wBAAA,WAAmC,OAAA,OAAc,OAAA,EAAS,CAAC;;AAtN7C;AAC9B;iBA0OgB,2BAAA,IAA+B,OAAA,EAAS,OAAO,CAAC,CAAA;AAAA,iBAW1C,IAAA,CAAK,EAAA,WAAU,OAAA;AAAA,iBAgCf,SAAA,CAAU,IAAA,EAAM,IAAA,GAAI,OAAA;AAAA,iBAsB1B,0BAAA,IAA8B,IAAA,EAAM,UAAU,QAAQ,iBAAA;AAAA,iBAgCtD,iBAAA,CACd,aAAA,SAAsB,OAAA,0BAAiC,OAAA,wBACvD,OAAA;EACE,cAAA;EACA,OAAA,IAAW,KAAA,EAAO,KAAA;AAAA;AAAA,cAoChB,YAAA,SAAqB,KAAK;EAAA,SACF,EAAA;cAAA,EAAA;AAAA;AAAA,iBAMR,OAAA,IAAW,aAAA,EAAe,OAAA,CAAQ,CAAA,WAAY,OAAA,CAAQ,CAAA,IAAK,EAAA,WAAa,OAAA,CAAQ,MAAA,CAAO,CAAA,EAAG,YAAA;AAAA,iBA0B1F,YAAA,IAAgB,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,EAAA,WAAa,OAAA,CAAQ,CAAA;;;;;;AApZyB;AAwEzG;;;;iBAsWsB,kBAAA,OACpB,KAAA,WAAgB,CAAA,IAChB,WAAA,UACA,EAAA,GAAK,IAAA,EAAM,CAAA,EAAG,KAAA,aAAkB,OAAA,CAAQ,CAAA,IACvC,OAAA,CAAQ,CAAA;AAAA,KAmDC,gBAAA;EA7ZuC;;;EAiajD,WAAA;EAja0B;;;EAsa1B,UAAA;EAtamD;AA0CrD;;EAiYE,UAAA;EAjYwD;;;EAsYxD,KAAA;EAtYyD;;AAAC;EA2Y1D,UAAA;AAAA;AAAA,iBAGc,WAAA,IACd,IAAA,QAAY,OAAA,CAAQ,CAAA,GACpB,OAAA,EAAS,gBAAA,SACF,OAAA,CAAQ,CAAA;AAAA,iBA0DD,SAAA,qBAA8B,IAAA,MAAU,IAAA,EAAM,CAAA,KAAM,OAAA,CAAQ,CAAA,GAAI,OAAA,eAAsB,IAAA,EAAM,CAAA,KAAM,OAAA,CAAQ,CAAA"}
1
+ {"version":3,"file":"promises.d.ts","names":[],"sources":["../../../src/utils/promises.tsx"],"mappings":";;;KAQY,YAAA,MAAkB,OAAA,CAAQ,CAAA;EAChC,MAAA;EAAoB,MAAA;AAAA;EACpB,MAAA;EAAqB,KAAA,EAAO,CAAA;AAAA;EAC5B,MAAA;AAAA;AAAA,KAGD,OAAA,OAAc,KAAA,EAAO,CAAC;AAAA,KACtB,MAAA,IAAU,MAAe;AAAA,iBACd,aAAA,IAAiB,QAAA,GAAW,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,MAAA,EAAQ,MAAA,YAAkB,YAAA,CAAa,CAAA;;;;;iBAwExF,QAAA,IAAY,KAAA,EAAO,CAAA,GAAI,YAAA,CAAa,CAAA;;;;AA7ExC;iBAuHI,QAAA,IAAY,MAAA,YAAkB,YAAY,CAAC,CAAA;AAAA,iBA6C3C,YAAA,IAAgB,YAAY;AAAA,iBAc5B,OAAA,IAAW,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,OAAA;EAAW,oBAAA;AAAA,IAAwC,YAAA,CAAa,CAAA;;;;AA/KrF;AAAA;;iBAuNX,wBAAA,WAAmC,OAAA,OAAc,OAAA,EAAS,CAAC;;AAtN7C;AAC9B;iBA0OgB,2BAAA,IAA+B,OAAA,EAAS,OAAO,CAAC,CAAA;AAAA,iBAW1C,IAAA,CAAK,EAAA,UAAY,OAAA;EAAY,KAAA;AAAA,IAAiB,OAAA;AAAA,iBAuC9C,SAAA,CAAU,IAAA,EAAM,IAAA,GAAI,OAAA;AAAA,iBAsB1B,0BAAA,IAA8B,IAAA,EAAM,UAAU,QAAQ,iBAAA;AAAA,iBAgCtD,iBAAA,CACd,aAAA,SAAsB,OAAA,0BAAiC,OAAA,wBACvD,OAAA;EACE,cAAA;EACA,OAAA,IAAW,KAAA,EAAO,KAAA;AAAA;AAAA,cAoChB,YAAA,SAAqB,KAAK;EAAA,SACF,EAAA;cAAA,EAAA;AAAA;AAAA,iBAMR,OAAA,IAAW,aAAA,EAAe,OAAA,CAAQ,CAAA,WAAY,OAAA,CAAQ,CAAA,IAAK,EAAA,WAAa,OAAA,CAAQ,MAAA,CAAO,CAAA,EAAG,YAAA;AAAA,iBA0B1F,YAAA,IAAgB,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,EAAA,WAAa,OAAA,CAAQ,CAAA;;;;AA3ZyB;AAwEzG;;;;;;iBA6WsB,kBAAA,OACpB,KAAA,WAAgB,CAAA,IAChB,WAAA,UACA,EAAA,GAAK,IAAA,EAAM,CAAA,EAAG,KAAA,aAAkB,OAAA,CAAQ,CAAA,IACvC,OAAA,CAAQ,CAAA;AAAA,KAmDC,gBAAA;EApaa;;;EAwavB,WAAA;EAxakD;;AAAC;EA6anD,UAAA;EAnYsB;;;EAwYtB,UAAA;EAxY0B;;;EA6Y1B,KAAA;EA7Y0D;AA6C5D;;EAqWE,UAAA;AAAA;AAAA,iBAGc,WAAA,IACd,IAAA,QAAY,OAAA,CAAQ,CAAA,GACpB,OAAA,EAAS,gBAAA,SACF,OAAA,CAAQ,CAAA;AAAA,iBA0DD,SAAA,qBAA8B,IAAA,MAAU,IAAA,EAAM,CAAA,KAAM,OAAA,CAAQ,CAAA,GAAI,OAAA,eAAsB,IAAA,EAAM,CAAA,KAAM,OAAA,CAAQ,CAAA"}
@@ -99,14 +99,17 @@ function concatStacktracesIfRejected(promise) {
99
99
  if (error instanceof Error) concatStacktraces(error, currentError);
100
100
  });
101
101
  }
102
- async function wait(ms) {
102
+ async function wait(ms, options) {
103
103
  if (!Number.isFinite(ms) || ms < 0) throw new HexclaveAssertionError(`wait() requires a non-negative integer number of milliseconds to wait. (found: ${ms}ms)`);
104
104
  if (ms >= 2 ** 31) throw new HexclaveAssertionError("The maximum timeout for wait() is 2147483647ms (2**31 - 1). (found: ${ms}ms)");
105
105
  return await traceSpan({
106
106
  description: "wait(...)",
107
107
  attributes: { "stack.wait.ms": ms }
108
108
  }, async (span) => {
109
- return await new Promise((resolve) => setTimeout(resolve, ms));
109
+ return await new Promise((resolve) => {
110
+ const timeout = setTimeout(resolve, ms);
111
+ if (options?.unref === true && typeof timeout === "object") timeout.unref();
112
+ });
110
113
  });
111
114
  }
112
115
  async function waitUntil(date) {