@hexclave/shared 1.0.34 → 1.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/unified-prompts/reminders.js +2 -2
- package/dist/ai/unified-prompts/reminders.js.map +1 -1
- package/dist/config/schema.d.ts +112 -112
- package/dist/esm/ai/unified-prompts/reminders.js +2 -2
- package/dist/esm/ai/unified-prompts/reminders.js.map +1 -1
- package/dist/esm/config/schema.d.ts +112 -112
- package/dist/esm/helpers/init-prompt.js +1 -1
- package/dist/esm/helpers/init-prompt.js.map +1 -1
- package/dist/esm/interface/admin-metrics.d.ts +17 -17
- package/dist/esm/interface/conversations.d.ts +31 -31
- package/dist/esm/interface/crud/current-user.d.ts +14 -14
- package/dist/esm/interface/crud/email-outbox.d.ts +138 -138
- package/dist/esm/interface/crud/products.d.ts +23 -23
- package/dist/esm/interface/crud/products.d.ts.map +1 -1
- package/dist/esm/interface/crud/project-api-keys.d.ts +2 -2
- package/dist/esm/interface/crud/projects.d.ts +7 -7
- package/dist/esm/interface/crud/team-member-profiles.d.ts +24 -24
- package/dist/esm/interface/crud/transactions.d.ts +25 -25
- package/dist/esm/interface/crud/transactions.d.ts.map +1 -1
- package/dist/esm/interface/crud/users.d.ts +16 -16
- package/dist/esm/interface/plan-usage.d.ts +2 -2
- package/dist/esm/interface/webhooks.d.ts +2 -2
- package/dist/esm/known-errors.d.ts +6 -6
- package/dist/esm/schema-fields.d.ts +17 -17
- package/dist/esm/sessions.d.ts +8 -8
- package/dist/helpers/init-prompt.js +1 -1
- package/dist/helpers/init-prompt.js.map +1 -1
- package/dist/interface/admin-metrics.d.ts +17 -17
- package/dist/interface/conversations.d.ts +31 -31
- package/dist/interface/crud/current-user.d.ts +14 -14
- package/dist/interface/crud/email-outbox.d.ts +138 -138
- package/dist/interface/crud/products.d.ts +23 -23
- package/dist/interface/crud/products.d.ts.map +1 -1
- package/dist/interface/crud/project-api-keys.d.ts +2 -2
- package/dist/interface/crud/projects.d.ts +7 -7
- package/dist/interface/crud/team-member-profiles.d.ts +24 -24
- package/dist/interface/crud/transactions.d.ts +25 -25
- package/dist/interface/crud/transactions.d.ts.map +1 -1
- package/dist/interface/crud/users.d.ts +16 -16
- package/dist/interface/plan-usage.d.ts +2 -2
- package/dist/interface/webhooks.d.ts +2 -2
- package/dist/known-errors.d.ts +6 -6
- package/dist/schema-fields.d.ts +17 -17
- package/dist/sessions.d.ts +8 -8
- package/package.json +1 -1
- package/src/ai/unified-prompts/reminders.ts +1 -1
- package/src/helpers/init-prompt.ts +1 -1
package/dist/known-errors.d.ts
CHANGED
|
@@ -98,7 +98,7 @@ declare const KnownErrors: {
|
|
|
98
98
|
};
|
|
99
99
|
AccessTypeWithoutProjectId: KnownErrorConstructor<KnownError & KnownErrorBrand<"PROJECT_AUTHENTICATION_ERROR"> & {
|
|
100
100
|
constructorArgs: [statusCode: number, humanReadableMessage: string, details?: Json | undefined];
|
|
101
|
-
} & KnownErrorBrand<"INVALID_PROJECT_AUTHENTICATION"> & KnownErrorBrand<"ACCESS_TYPE_WITHOUT_PROJECT_ID">, [accessType: "
|
|
101
|
+
} & KnownErrorBrand<"INVALID_PROJECT_AUTHENTICATION"> & KnownErrorBrand<"ACCESS_TYPE_WITHOUT_PROJECT_ID">, [accessType: "client" | "server" | "admin"]> & {
|
|
102
102
|
errorCode: "ACCESS_TYPE_WITHOUT_PROJECT_ID";
|
|
103
103
|
};
|
|
104
104
|
AccessTypeRequired: KnownErrorConstructor<KnownError & KnownErrorBrand<"PROJECT_AUTHENTICATION_ERROR"> & {
|
|
@@ -111,7 +111,7 @@ declare const KnownErrors: {
|
|
|
111
111
|
};
|
|
112
112
|
InsufficientAccessType: KnownErrorConstructor<KnownError & KnownErrorBrand<"PROJECT_AUTHENTICATION_ERROR"> & {
|
|
113
113
|
constructorArgs: [statusCode: number, humanReadableMessage: string, details?: Json | undefined];
|
|
114
|
-
} & KnownErrorBrand<"INVALID_PROJECT_AUTHENTICATION"> & KnownErrorBrand<"INSUFFICIENT_ACCESS_TYPE">, [actualAccessType: "
|
|
114
|
+
} & KnownErrorBrand<"INVALID_PROJECT_AUTHENTICATION"> & KnownErrorBrand<"INSUFFICIENT_ACCESS_TYPE">, [actualAccessType: "client" | "server" | "admin", allowedAccessTypes: ("client" | "server" | "admin")[]]> & {
|
|
115
115
|
errorCode: "INSUFFICIENT_ACCESS_TYPE";
|
|
116
116
|
};
|
|
117
117
|
InvalidPublishableClientKey: KnownErrorConstructor<KnownError & KnownErrorBrand<"PROJECT_AUTHENTICATION_ERROR"> & {
|
|
@@ -369,7 +369,7 @@ declare const KnownErrors: {
|
|
|
369
369
|
PermissionNotFound: KnownErrorConstructor<KnownError & KnownErrorBrand<"PERMISSION_NOT_FOUND">, [permissionId: string]> & {
|
|
370
370
|
errorCode: "PERMISSION_NOT_FOUND";
|
|
371
371
|
};
|
|
372
|
-
PermissionScopeMismatch: KnownErrorConstructor<KnownError & KnownErrorBrand<"WRONG_PERMISSION_SCOPE">, [permissionId: string, expectedScope: "
|
|
372
|
+
PermissionScopeMismatch: KnownErrorConstructor<KnownError & KnownErrorBrand<"WRONG_PERMISSION_SCOPE">, [permissionId: string, expectedScope: "team" | "project", actualScope: "team" | "project" | null]> & {
|
|
373
373
|
errorCode: "WRONG_PERMISSION_SCOPE";
|
|
374
374
|
};
|
|
375
375
|
ContainedPermissionNotFound: KnownErrorConstructor<KnownError & KnownErrorBrand<"CONTAINED_PERMISSION_NOT_FOUND">, [permissionId: string]> & {
|
|
@@ -512,7 +512,7 @@ declare const KnownErrors: {
|
|
|
512
512
|
ItemNotFound: KnownErrorConstructor<KnownError & KnownErrorBrand<"ITEM_NOT_FOUND">, [itemId: string]> & {
|
|
513
513
|
errorCode: "ITEM_NOT_FOUND";
|
|
514
514
|
};
|
|
515
|
-
ItemCustomerTypeDoesNotMatch: KnownErrorConstructor<KnownError & KnownErrorBrand<"ITEM_CUSTOMER_TYPE_DOES_NOT_MATCH">, [itemId: string, customerId: string, itemCustomerType: "
|
|
515
|
+
ItemCustomerTypeDoesNotMatch: KnownErrorConstructor<KnownError & KnownErrorBrand<"ITEM_CUSTOMER_TYPE_DOES_NOT_MATCH">, [itemId: string, customerId: string, itemCustomerType: "team" | "user" | "custom" | undefined, actualCustomerType: "team" | "user" | "custom"]> & {
|
|
516
516
|
errorCode: "ITEM_CUSTOMER_TYPE_DOES_NOT_MATCH";
|
|
517
517
|
};
|
|
518
518
|
CustomerDoesNotExist: KnownErrorConstructor<KnownError & KnownErrorBrand<"CUSTOMER_DOES_NOT_EXIST">, [customerId: string]> & {
|
|
@@ -521,7 +521,7 @@ declare const KnownErrors: {
|
|
|
521
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
|
-
ProductCustomerTypeDoesNotMatch: KnownErrorConstructor<KnownError & KnownErrorBrand<"PRODUCT_CUSTOMER_TYPE_DOES_NOT_MATCH">, [productId: string | undefined, customerId: string, productCustomerType: "
|
|
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"]> & {
|
|
525
525
|
errorCode: "PRODUCT_CUSTOMER_TYPE_DOES_NOT_MATCH";
|
|
526
526
|
};
|
|
527
527
|
ProductAlreadyGranted: KnownErrorConstructor<KnownError & KnownErrorBrand<"PRODUCT_ALREADY_GRANTED">, [productId: string, customerId: string]> & {
|
|
@@ -548,7 +548,7 @@ declare const KnownErrors: {
|
|
|
548
548
|
StripeAccountInfoNotFound: KnownErrorConstructor<KnownError & KnownErrorBrand<"STRIPE_ACCOUNT_INFO_NOT_FOUND">, []> & {
|
|
549
549
|
errorCode: "STRIPE_ACCOUNT_INFO_NOT_FOUND";
|
|
550
550
|
};
|
|
551
|
-
DefaultPaymentMethodRequired: KnownErrorConstructor<KnownError & KnownErrorBrand<"DEFAULT_PAYMENT_METHOD_REQUIRED">, [customerType: "
|
|
551
|
+
DefaultPaymentMethodRequired: KnownErrorConstructor<KnownError & KnownErrorBrand<"DEFAULT_PAYMENT_METHOD_REQUIRED">, [customerType: "team" | "user", customerId: string]> & {
|
|
552
552
|
errorCode: "DEFAULT_PAYMENT_METHOD_REQUIRED";
|
|
553
553
|
};
|
|
554
554
|
NewPurchasesBlocked: KnownErrorConstructor<KnownError & KnownErrorBrand<"NEW_PURCHASES_BLOCKED">, []> & {
|
package/dist/schema-fields.d.ts
CHANGED
|
@@ -113,7 +113,7 @@ declare const moneyAmountSchema: (currency: Currency) => yup$1.StringSchema<stri
|
|
|
113
113
|
*/
|
|
114
114
|
declare const strictEmailSchema: (message: string | undefined) => yup$1.StringSchema<string | undefined, yup$1.AnyObject, undefined, "">;
|
|
115
115
|
declare const emailSchema: yup$1.StringSchema<string | undefined, yup$1.AnyObject, undefined, "">;
|
|
116
|
-
declare const clientOrHigherAuthTypeSchema: yup$1.StringSchema<"
|
|
116
|
+
declare const clientOrHigherAuthTypeSchema: yup$1.StringSchema<"client" | "server" | "admin", yup$1.AnyObject, undefined, "">;
|
|
117
117
|
declare const serverOrHigherAuthTypeSchema: yup$1.StringSchema<"server" | "admin", yup$1.AnyObject, undefined, "">;
|
|
118
118
|
declare const adminAuthTypeSchema: yup$1.StringSchema<"admin", yup$1.AnyObject, undefined, "">;
|
|
119
119
|
declare const projectIdSchema: yup$1.StringSchema<string | undefined, yup$1.AnyObject, undefined, "">;
|
|
@@ -174,7 +174,7 @@ declare const customDashboardsSchema: yup$1.MixedSchema<Record<string, {
|
|
|
174
174
|
displayName: string;
|
|
175
175
|
tsxSource: string;
|
|
176
176
|
}>, yup$1.AnyObject, undefined, "">;
|
|
177
|
-
declare const customerTypeSchema: yup$1.StringSchema<"
|
|
177
|
+
declare const customerTypeSchema: yup$1.StringSchema<"team" | "user" | "custom" | undefined, yup$1.AnyObject, undefined, "">;
|
|
178
178
|
/**
|
|
179
179
|
* Schema for a single product price. Each currency field (USD, EUR, etc.) is a decimal string
|
|
180
180
|
* like `"9.99"` or `"1000"` — never cent integers. See `MoneyAmount` for the exact format.
|
|
@@ -203,9 +203,6 @@ declare const productPriceSchema: yup$1.ObjectSchema<{
|
|
|
203
203
|
CAD: undefined;
|
|
204
204
|
}, "">;
|
|
205
205
|
declare const pricesSchema: yup$1.MixedSchema<Record<string, {
|
|
206
|
-
interval?: DayInterval | undefined;
|
|
207
|
-
freeTrial?: DayInterval | undefined;
|
|
208
|
-
serverOnly?: boolean | undefined;
|
|
209
206
|
USD?: string | undefined;
|
|
210
207
|
EUR?: string | undefined;
|
|
211
208
|
GBP?: string | undefined;
|
|
@@ -213,19 +210,19 @@ declare const pricesSchema: yup$1.MixedSchema<Record<string, {
|
|
|
213
210
|
INR?: string | undefined;
|
|
214
211
|
AUD?: string | undefined;
|
|
215
212
|
CAD?: string | undefined;
|
|
213
|
+
interval?: DayInterval | undefined;
|
|
214
|
+
serverOnly?: boolean | undefined;
|
|
215
|
+
freeTrial?: DayInterval | undefined;
|
|
216
216
|
}>, yup$1.AnyObject, undefined, "">;
|
|
217
217
|
declare const productSchema: yup$1.ObjectSchema<{
|
|
218
218
|
displayName: string | undefined;
|
|
219
219
|
productLineId: string | undefined;
|
|
220
220
|
isAddOnTo: false | Record<string, true> | undefined;
|
|
221
|
-
customerType: "
|
|
221
|
+
customerType: "team" | "user" | "custom";
|
|
222
222
|
freeTrial: DayInterval | undefined;
|
|
223
223
|
serverOnly: boolean | undefined;
|
|
224
224
|
stackable: boolean | undefined;
|
|
225
225
|
prices: Record<string, {
|
|
226
|
-
interval?: DayInterval | undefined;
|
|
227
|
-
freeTrial?: DayInterval | undefined;
|
|
228
|
-
serverOnly?: boolean | undefined;
|
|
229
226
|
USD?: string | undefined;
|
|
230
227
|
EUR?: string | undefined;
|
|
231
228
|
GBP?: string | undefined;
|
|
@@ -233,6 +230,9 @@ declare const productSchema: yup$1.ObjectSchema<{
|
|
|
233
230
|
INR?: string | undefined;
|
|
234
231
|
AUD?: string | undefined;
|
|
235
232
|
CAD?: string | undefined;
|
|
233
|
+
interval?: DayInterval | undefined;
|
|
234
|
+
serverOnly?: boolean | undefined;
|
|
235
|
+
freeTrial?: DayInterval | undefined;
|
|
236
236
|
}>;
|
|
237
237
|
includedItems: Record<string, {
|
|
238
238
|
repeat?: "never" | DayInterval | undefined;
|
|
@@ -257,14 +257,11 @@ declare const productSchemaWithMetadata: yup$1.ObjectSchema<{
|
|
|
257
257
|
displayName: string | undefined;
|
|
258
258
|
productLineId: string | undefined;
|
|
259
259
|
isAddOnTo: false | Record<string, true> | undefined;
|
|
260
|
-
customerType: "
|
|
260
|
+
customerType: "team" | "user" | "custom";
|
|
261
261
|
freeTrial: DayInterval | undefined;
|
|
262
262
|
serverOnly: boolean | undefined;
|
|
263
263
|
stackable: boolean | undefined;
|
|
264
264
|
prices: Record<string, {
|
|
265
|
-
interval?: DayInterval | undefined;
|
|
266
|
-
freeTrial?: DayInterval | undefined;
|
|
267
|
-
serverOnly?: boolean | undefined;
|
|
268
265
|
USD?: string | undefined;
|
|
269
266
|
EUR?: string | undefined;
|
|
270
267
|
GBP?: string | undefined;
|
|
@@ -272,6 +269,9 @@ declare const productSchemaWithMetadata: yup$1.ObjectSchema<{
|
|
|
272
269
|
INR?: string | undefined;
|
|
273
270
|
AUD?: string | undefined;
|
|
274
271
|
CAD?: string | undefined;
|
|
272
|
+
interval?: DayInterval | undefined;
|
|
273
|
+
serverOnly?: boolean | undefined;
|
|
274
|
+
freeTrial?: DayInterval | undefined;
|
|
275
275
|
}>;
|
|
276
276
|
includedItems: Record<string, {
|
|
277
277
|
repeat?: "never" | DayInterval | undefined;
|
|
@@ -298,12 +298,11 @@ declare const productSchemaWithMetadata: yup$1.ObjectSchema<{
|
|
|
298
298
|
}, "">;
|
|
299
299
|
declare const inlineProductSchema: yup$1.ObjectSchema<{
|
|
300
300
|
display_name: string;
|
|
301
|
-
customer_type: "
|
|
301
|
+
customer_type: "team" | "user" | "custom";
|
|
302
302
|
free_trial: DayInterval | undefined;
|
|
303
303
|
server_only: boolean;
|
|
304
304
|
stackable: boolean;
|
|
305
305
|
prices: Record<string, {
|
|
306
|
-
interval?: DayInterval | undefined;
|
|
307
306
|
USD?: string | undefined;
|
|
308
307
|
EUR?: string | undefined;
|
|
309
308
|
GBP?: string | undefined;
|
|
@@ -311,11 +310,12 @@ declare const inlineProductSchema: yup$1.ObjectSchema<{
|
|
|
311
310
|
INR?: string | undefined;
|
|
312
311
|
AUD?: string | undefined;
|
|
313
312
|
CAD?: string | undefined;
|
|
313
|
+
interval?: DayInterval | undefined;
|
|
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;
|
|
@@ -469,10 +469,10 @@ declare function yupDefinedWhen<S extends yup$1.AnyObject>(schema: S, triggers:
|
|
|
469
469
|
declare function yupDefinedAndNonEmptyWhen<S extends yup$1.StringSchema>(schema: S, triggers: Record<string, any>): S;
|
|
470
470
|
declare const branchConfigSourceSchema: yup$1.MixedSchema<{
|
|
471
471
|
workflow_path?: string | undefined;
|
|
472
|
-
branch: string;
|
|
473
472
|
type: "pushed-from-github";
|
|
474
473
|
owner: string;
|
|
475
474
|
repo: string;
|
|
475
|
+
branch: string;
|
|
476
476
|
commit_hash: string;
|
|
477
477
|
config_file_path: string;
|
|
478
478
|
} | {
|
package/dist/sessions.d.ts
CHANGED
|
@@ -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
|
-
name: string | null;
|
|
14
20
|
iat: number;
|
|
15
21
|
iss: string;
|
|
16
22
|
aud: string;
|
|
17
|
-
project_id: string;
|
|
18
|
-
branch_id: string;
|
|
19
|
-
refresh_token_id: string;
|
|
20
23
|
role: "authenticated";
|
|
21
|
-
|
|
24
|
+
name: 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;
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@ export const remindersPrompt = deindent`
|
|
|
5
5
|
Below are some reminders on Hexclave and how to learn more about it. If you're summarizing this, always try to return the entirety of the reminders verbatim, or keep as much information as possible.
|
|
6
6
|
|
|
7
7
|
- Hexclave has multiple sources of documentation optimized for LLMs. For the canonical, always-fresh instructions for every Hexclave surface, always prefer these sources over information that may be outdated or stale. Do not rely on training data or memory.
|
|
8
|
-
- [Highest priority] If you have a specific question, ask the Hexclave skill assistant at https://skill.hexclave.com/ask. Add \`?question=<...>\` (the exact question you're looking to answer) and \`?context=<...>\` (the higher-level task that you or the user is trying to accomplish). The endpoint already returns a concise answer, so fetch it without summarization tools if possible; if your normal web fetch path would summarize it, use something like \`curl -sSL "https://skill.hexclave.com/ask?question=<...>&context=<...>"\` instead. If the Hexclave MCP is available, the \`ask_hexclave\` tool is equivalent to this endpoint and can be used for the same purpose.
|
|
8
|
+
- [Highest priority] If you have a specific question, ask the Hexclave skill assistant at https://skill.hexclave.com/ask. Add \`?question=<...>\` (the exact question you're looking to answer) and \`?context=<...>\` (the higher-level task that you or the user is trying to accomplish). The endpoint already returns a concise answer, so fetch it without summarization tools if possible; if your normal web fetch path would summarize it, use something like \`curl -sSL "https://skill.hexclave.com/ask?question=<...>&context=<...>"\` instead. If the Hexclave MCP is available, the \`ask_hexclave\` tool is equivalent to this endpoint and can be used for the same purpose. If your request times out or returns an empty response, also use curl.
|
|
9
9
|
- [High priority] If you need broad baseline context instead of a specific answer, fetch the latest full skill documentation from https://skill.hexclave.com/full. Fetch the entire page, not just a summary. You can either use a web fetch tool, or call it using curl: \`curl -sSL https://skill.hexclave.com/full\`. Treat this as a fallback after https://skill.hexclave.com/ask or the equivalent \`ask_hexclave\` tool.
|
|
10
10
|
- [Medium priority] If you are looking to implement something with the JS SDK specifically, the package (which you can probably find in \`node_modules\`) actually contains the source code for the installed version of the SDK. For the interfaces in particular, you can find most of them in the \`src/lib/hexclave-app\` folder of your SDK package.
|
|
11
11
|
- [Low priority] If you're looking for information that's not in the skill documentation, and the \`ask_hexclave\` tool or https://skill.hexclave.com/ask isn't available (or failed to answer your question), you can also fetch the human documentation from https://docs.hexclave.com (it may also be available as a tool). This is especially useful when you're looking to answer conceptual questions.
|
|
@@ -9,7 +9,7 @@ The Hexclave CLI already created or linked this project to a local Hexclave deve
|
|
|
9
9
|
${configPath}
|
|
10
10
|
\`\`\`
|
|
11
11
|
|
|
12
|
-
Do not create or link another Hexclave project. When the SDK setup instructions mention creating \`
|
|
12
|
+
Do not create or link another Hexclave project. When the SDK setup instructions mention creating \`hexclave.config.ts\` or wrapping the dev script with \`hexclave dev --config-file\`, use the config file path above.
|
|
13
13
|
`;
|
|
14
14
|
}
|
|
15
15
|
|