@hexclave/shared 1.0.25 → 1.0.26
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/config/schema.d.ts +140 -140
- package/dist/config-authoring.d.ts +3 -0
- package/dist/config-authoring.d.ts.map +1 -1
- package/dist/config-authoring.js +3 -0
- package/dist/config-authoring.js.map +1 -1
- package/dist/esm/config/schema.d.ts +140 -140
- package/dist/esm/config-authoring.d.ts +3 -0
- package/dist/esm/config-authoring.d.ts.map +1 -1
- package/dist/esm/config-authoring.js +3 -0
- package/dist/esm/config-authoring.js.map +1 -1
- package/dist/esm/interface/admin-interface.d.ts +3 -1
- package/dist/esm/interface/admin-interface.d.ts.map +1 -1
- package/dist/esm/interface/admin-interface.js +3 -0
- package/dist/esm/interface/admin-interface.js.map +1 -1
- package/dist/esm/interface/admin-metrics.d.ts +10 -10
- package/dist/esm/interface/conversations.d.ts +6 -6
- package/dist/esm/interface/crud/current-user.d.ts +5 -5
- package/dist/esm/interface/crud/email-outbox.d.ts +206 -206
- package/dist/esm/interface/crud/products.d.ts +15 -15
- 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 +43 -43
- package/dist/esm/interface/crud/team-member-profiles.d.ts +8 -8
- package/dist/esm/interface/crud/transactions.d.ts +20 -20
- package/dist/esm/interface/crud/transactions.d.ts.map +1 -1
- package/dist/esm/interface/crud/users.d.ts +4 -4
- package/dist/esm/interface/plan-usage.d.ts +57 -0
- package/dist/esm/interface/plan-usage.d.ts.map +1 -0
- package/dist/esm/interface/plan-usage.js +35 -0
- package/dist/esm/interface/plan-usage.js.map +1 -0
- package/dist/esm/known-errors.d.ts +1 -1
- package/dist/esm/schema-fields.d.ts +1 -1
- package/dist/esm/sessions.d.ts +7 -7
- package/dist/{index-fQbeILq7.d.ts → index-nCRuFJTF.d.ts} +1 -1
- package/dist/{index-fQbeILq7.d.ts.map → index-nCRuFJTF.d.ts.map} +1 -1
- package/dist/interface/admin-interface.d.ts +3 -1
- package/dist/interface/admin-interface.d.ts.map +1 -1
- package/dist/interface/admin-interface.js +3 -0
- package/dist/interface/admin-interface.js.map +1 -1
- package/dist/interface/admin-metrics.d.ts +10 -10
- package/dist/interface/client-interface.d.ts +1 -1
- package/dist/interface/conversations.d.ts +6 -6
- package/dist/interface/crud/current-user.d.ts +5 -5
- package/dist/interface/crud/email-outbox.d.ts +206 -206
- package/dist/interface/crud/products.d.ts +15 -15
- 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 +43 -43
- package/dist/interface/crud/team-member-profiles.d.ts +8 -8
- package/dist/interface/crud/transactions.d.ts +20 -20
- package/dist/interface/crud/transactions.d.ts.map +1 -1
- package/dist/interface/crud/users.d.ts +4 -4
- package/dist/interface/plan-usage.d.ts +57 -0
- package/dist/interface/plan-usage.d.ts.map +1 -0
- package/dist/interface/plan-usage.js +39 -0
- package/dist/interface/plan-usage.js.map +1 -0
- package/dist/known-errors.d.ts +1 -1
- package/dist/schema-fields.d.ts +1 -1
- package/dist/sessions.d.ts +7 -7
- package/dist/utils/passkey.d.ts +1 -1
- package/package.json +1 -1
- package/src/config-authoring.ts +3 -1
- package/src/interface/admin-interface.ts +14 -0
- package/src/interface/plan-usage.ts +34 -0
|
@@ -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"}
|
package/dist/known-errors.d.ts
CHANGED
|
@@ -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: "
|
|
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"]> & {
|
package/dist/schema-fields.d.ts
CHANGED
|
@@ -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;
|
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
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;
|
package/dist/utils/passkey.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as RegistrationResponseJSON, i as PublicKeyCredentialRequestOptionsJSON, n as AuthenticatorAttestationResponseJSON, r as PublicKeyCredentialCreationOptionsJSON, t as AuthenticationResponseJSON } from "../index-
|
|
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
package/src/config-authoring.ts
CHANGED
|
@@ -31,7 +31,9 @@ export function defineStackConfig(config: StrictStackConfig<StackConfig>): Stack
|
|
|
31
31
|
return config;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
|
|
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>;
|