@hexabot-ai/types 3.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +120 -0
- package/README.md +172 -0
- package/dist/cjs/analytics/index.js +18 -0
- package/dist/cjs/analytics/integration-health.js +30 -0
- package/dist/cjs/analytics/stats.js +32 -0
- package/dist/cjs/attachment/attachment.js +53 -0
- package/dist/cjs/attachment/index.js +16 -0
- package/dist/cjs/audit/audit-log.js +33 -0
- package/dist/cjs/audit/index.js +11 -0
- package/dist/cjs/channel/channel-metadata.js +15 -0
- package/dist/cjs/channel/index.js +15 -0
- package/dist/cjs/channel/source-full.js +16 -0
- package/dist/cjs/channel/source.js +25 -0
- package/dist/cjs/chat/attachment.js +32 -0
- package/dist/cjs/chat/button.js +70 -0
- package/dist/cjs/chat/index.js +87 -0
- package/dist/cjs/chat/label-group.js +22 -0
- package/dist/cjs/chat/label.js +37 -0
- package/dist/cjs/chat/message-contract.js +183 -0
- package/dist/cjs/chat/message.js +107 -0
- package/dist/cjs/chat/options.js +122 -0
- package/dist/cjs/chat/quick-reply.js +35 -0
- package/dist/cjs/chat/subscriber.js +36 -0
- package/dist/cjs/chat/thread.js +36 -0
- package/dist/cjs/cms/content-type.js +17 -0
- package/dist/cjs/cms/content.js +29 -0
- package/dist/cjs/cms/index.js +21 -0
- package/dist/cjs/cms/menu.js +36 -0
- package/dist/cjs/dummy/dummy.js +18 -0
- package/dist/cjs/dummy/index.js +12 -0
- package/dist/cjs/i18n/index.js +16 -0
- package/dist/cjs/i18n/language.js +19 -0
- package/dist/cjs/i18n/translation.js +17 -0
- package/dist/cjs/index.js +32 -0
- package/dist/cjs/setting/index.js +18 -0
- package/dist/cjs/setting/metadata.js +17 -0
- package/dist/cjs/setting/setting.js +36 -0
- package/dist/cjs/shared/aliases.js +41 -0
- package/dist/cjs/shared/base.js +14 -0
- package/dist/cjs/shared/object.js +19 -0
- package/dist/cjs/shared/preprocess.js +13 -0
- package/dist/cjs/shared/profile.js +33 -0
- package/dist/cjs/user/credential.js +26 -0
- package/dist/cjs/user/domain.js +56 -0
- package/dist/cjs/user/index.js +39 -0
- package/dist/cjs/user/model.js +24 -0
- package/dist/cjs/user/permission.js +32 -0
- package/dist/cjs/user/role.js +24 -0
- package/dist/cjs/user/user-profile-assigned.js +38 -0
- package/dist/cjs/user/user-profile.js +12 -0
- package/dist/cjs/user/user.js +44 -0
- package/dist/cjs/workflow/domain.js +44 -0
- package/dist/cjs/workflow/helpers.js +35 -0
- package/dist/cjs/workflow/index.js +40 -0
- package/dist/cjs/workflow/mcp-server.js +33 -0
- package/dist/cjs/workflow/memory-definition.js +21 -0
- package/dist/cjs/workflow/memory-record.js +44 -0
- package/dist/cjs/workflow/workflow-run.js +100 -0
- package/dist/cjs/workflow/workflow-version.js +39 -0
- package/dist/cjs/workflow/workflow.js +98 -0
- package/dist/esm/analytics/index.js +7 -0
- package/dist/esm/analytics/integration-health.js +27 -0
- package/dist/esm/analytics/stats.js +29 -0
- package/dist/esm/attachment/attachment.js +50 -0
- package/dist/esm/attachment/index.js +6 -0
- package/dist/esm/audit/audit-log.js +30 -0
- package/dist/esm/audit/index.js +6 -0
- package/dist/esm/channel/channel-metadata.js +12 -0
- package/dist/esm/channel/index.js +8 -0
- package/dist/esm/channel/source-full.js +13 -0
- package/dist/esm/channel/source.js +22 -0
- package/dist/esm/chat/attachment.js +29 -0
- package/dist/esm/chat/button.js +67 -0
- package/dist/esm/chat/index.js +15 -0
- package/dist/esm/chat/label-group.js +19 -0
- package/dist/esm/chat/label.js +34 -0
- package/dist/esm/chat/message-contract.js +180 -0
- package/dist/esm/chat/message.js +104 -0
- package/dist/esm/chat/options.js +119 -0
- package/dist/esm/chat/quick-reply.js +32 -0
- package/dist/esm/chat/subscriber.js +33 -0
- package/dist/esm/chat/thread.js +33 -0
- package/dist/esm/cms/content-type.js +14 -0
- package/dist/esm/cms/content.js +26 -0
- package/dist/esm/cms/index.js +8 -0
- package/dist/esm/cms/menu.js +33 -0
- package/dist/esm/dummy/dummy.js +15 -0
- package/dist/esm/dummy/index.js +6 -0
- package/dist/esm/i18n/index.js +7 -0
- package/dist/esm/i18n/language.js +16 -0
- package/dist/esm/i18n/translation.js +14 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/setting/index.js +7 -0
- package/dist/esm/setting/metadata.js +14 -0
- package/dist/esm/setting/setting.js +33 -0
- package/dist/esm/shared/aliases.js +35 -0
- package/dist/esm/shared/base.js +11 -0
- package/dist/esm/shared/object.js +14 -0
- package/dist/esm/shared/preprocess.js +9 -0
- package/dist/esm/shared/profile.js +30 -0
- package/dist/esm/user/credential.js +23 -0
- package/dist/esm/user/domain.js +53 -0
- package/dist/esm/user/index.js +13 -0
- package/dist/esm/user/model.js +21 -0
- package/dist/esm/user/permission.js +29 -0
- package/dist/esm/user/role.js +21 -0
- package/dist/esm/user/user-profile-assigned.js +35 -0
- package/dist/esm/user/user-profile.js +9 -0
- package/dist/esm/user/user.js +41 -0
- package/dist/esm/workflow/domain.js +41 -0
- package/dist/esm/workflow/helpers.js +30 -0
- package/dist/esm/workflow/index.js +12 -0
- package/dist/esm/workflow/mcp-server.js +30 -0
- package/dist/esm/workflow/memory-definition.js +18 -0
- package/dist/esm/workflow/memory-record.js +41 -0
- package/dist/esm/workflow/workflow-run.js +96 -0
- package/dist/esm/workflow/workflow-version.js +36 -0
- package/dist/esm/workflow/workflow.js +94 -0
- package/dist/types/analytics/index.d.ts +3 -0
- package/dist/types/analytics/index.d.ts.map +1 -0
- package/dist/types/analytics/integration-health.d.ts +55 -0
- package/dist/types/analytics/integration-health.d.ts.map +1 -0
- package/dist/types/analytics/stats.d.ts +43 -0
- package/dist/types/analytics/stats.d.ts.map +1 -0
- package/dist/types/attachment/attachment.d.ts +212 -0
- package/dist/types/attachment/attachment.d.ts.map +1 -0
- package/dist/types/attachment/index.d.ts +2 -0
- package/dist/types/attachment/index.d.ts.map +1 -0
- package/dist/types/audit/audit-log.d.ts +58 -0
- package/dist/types/audit/audit-log.d.ts.map +1 -0
- package/dist/types/audit/index.d.ts +2 -0
- package/dist/types/audit/index.d.ts.map +1 -0
- package/dist/types/channel/channel-metadata.d.ts +7 -0
- package/dist/types/channel/channel-metadata.d.ts.map +1 -0
- package/dist/types/channel/index.d.ts +4 -0
- package/dist/types/channel/index.d.ts.map +1 -0
- package/dist/types/channel/source-full.d.ts +58 -0
- package/dist/types/channel/source-full.d.ts.map +1 -0
- package/dist/types/channel/source.d.ts +44 -0
- package/dist/types/channel/source.d.ts.map +1 -0
- package/dist/types/chat/attachment.d.ts +34 -0
- package/dist/types/chat/attachment.d.ts.map +1 -0
- package/dist/types/chat/button.d.ts +31 -0
- package/dist/types/chat/button.d.ts.map +1 -0
- package/dist/types/chat/index.d.ts +11 -0
- package/dist/types/chat/index.d.ts.map +1 -0
- package/dist/types/chat/label-group.d.ts +47 -0
- package/dist/types/chat/label-group.d.ts.map +1 -0
- package/dist/types/chat/label.d.ts +102 -0
- package/dist/types/chat/label.d.ts.map +1 -0
- package/dist/types/chat/message-contract.d.ts +883 -0
- package/dist/types/chat/message-contract.d.ts.map +1 -0
- package/dist/types/chat/message.d.ts +1132 -0
- package/dist/types/chat/message.d.ts.map +1 -0
- package/dist/types/chat/options.d.ts +64 -0
- package/dist/types/chat/options.d.ts.map +1 -0
- package/dist/types/chat/quick-reply.d.ts +32 -0
- package/dist/types/chat/quick-reply.d.ts.map +1 -0
- package/dist/types/chat/subscriber.d.ts +236 -0
- package/dist/types/chat/subscriber.d.ts.map +1 -0
- package/dist/types/chat/thread.d.ts +126 -0
- package/dist/types/chat/thread.d.ts.map +1 -0
- package/dist/types/cms/content-type.d.ts +26 -0
- package/dist/types/cms/content-type.d.ts.map +1 -0
- package/dist/types/cms/content.d.ts +49 -0
- package/dist/types/cms/content.d.ts.map +1 -0
- package/dist/types/cms/index.d.ts +4 -0
- package/dist/types/cms/index.d.ts.map +1 -0
- package/dist/types/cms/menu.d.ts +85 -0
- package/dist/types/cms/menu.d.ts.map +1 -0
- package/dist/types/dummy/dummy.d.ts +26 -0
- package/dist/types/dummy/dummy.d.ts.map +1 -0
- package/dist/types/dummy/index.d.ts +2 -0
- package/dist/types/dummy/index.d.ts.map +1 -0
- package/dist/types/i18n/index.d.ts +3 -0
- package/dist/types/i18n/index.d.ts.map +1 -0
- package/dist/types/i18n/language.d.ts +32 -0
- package/dist/types/i18n/language.d.ts.map +1 -0
- package/dist/types/i18n/translation.d.ts +26 -0
- package/dist/types/i18n/translation.d.ts.map +1 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/setting/index.d.ts +3 -0
- package/dist/types/setting/index.d.ts.map +1 -0
- package/dist/types/setting/metadata.d.ts +26 -0
- package/dist/types/setting/metadata.d.ts.map +1 -0
- package/dist/types/setting/setting.d.ts +41 -0
- package/dist/types/setting/setting.d.ts.map +1 -0
- package/dist/types/shared/aliases.d.ts +4 -0
- package/dist/types/shared/aliases.d.ts.map +1 -0
- package/dist/types/shared/base.d.ts +7 -0
- package/dist/types/shared/base.d.ts.map +1 -0
- package/dist/types/shared/object.d.ts +3 -0
- package/dist/types/shared/object.d.ts.map +1 -0
- package/dist/types/shared/preprocess.d.ts +3 -0
- package/dist/types/shared/preprocess.d.ts.map +1 -0
- package/dist/types/shared/profile.d.ts +40 -0
- package/dist/types/shared/profile.d.ts.map +1 -0
- package/dist/types/user/credential.d.ts +97 -0
- package/dist/types/user/credential.d.ts.map +1 -0
- package/dist/types/user/domain.d.ts +54 -0
- package/dist/types/user/domain.d.ts.map +1 -0
- package/dist/types/user/index.d.ts +9 -0
- package/dist/types/user/index.d.ts.map +1 -0
- package/dist/types/user/model.d.ts +142 -0
- package/dist/types/user/model.d.ts.map +1 -0
- package/dist/types/user/permission.d.ts +90 -0
- package/dist/types/user/permission.d.ts.map +1 -0
- package/dist/types/user/role.d.ts +111 -0
- package/dist/types/user/role.d.ts.map +1 -0
- package/dist/types/user/user-profile-assigned.d.ts +181 -0
- package/dist/types/user/user-profile-assigned.d.ts.map +1 -0
- package/dist/types/user/user-profile.d.ts +32 -0
- package/dist/types/user/user-profile.d.ts.map +1 -0
- package/dist/types/user/user.d.ts +270 -0
- package/dist/types/user/user.d.ts.map +1 -0
- package/dist/types/workflow/domain.d.ts +32 -0
- package/dist/types/workflow/domain.d.ts.map +1 -0
- package/dist/types/workflow/helpers.d.ts +117 -0
- package/dist/types/workflow/helpers.d.ts.map +1 -0
- package/dist/types/workflow/index.d.ts +8 -0
- package/dist/types/workflow/index.d.ts.map +1 -0
- package/dist/types/workflow/mcp-server.d.ts +67 -0
- package/dist/types/workflow/mcp-server.d.ts.map +1 -0
- package/dist/types/workflow/memory-definition.d.ts +35 -0
- package/dist/types/workflow/memory-definition.d.ts.map +1 -0
- package/dist/types/workflow/memory-record.d.ts +284 -0
- package/dist/types/workflow/memory-record.d.ts.map +1 -0
- package/dist/types/workflow/workflow-run.d.ts +375 -0
- package/dist/types/workflow/workflow-run.d.ts.map +1 -0
- package/dist/types/workflow/workflow-version.d.ts +179 -0
- package/dist/types/workflow/workflow-version.d.ts.map +1 -0
- package/dist/types/workflow/workflow.d.ts +366 -0
- package/dist/types/workflow/workflow.d.ts.map +1 -0
- package/package.json +59 -0
- package/src/analytics/index.ts +26 -0
- package/src/analytics/integration-health.ts +44 -0
- package/src/analytics/stats.ts +41 -0
- package/src/attachment/attachment.ts +75 -0
- package/src/attachment/index.ts +19 -0
- package/src/audit/audit-log.ts +42 -0
- package/src/audit/index.ts +12 -0
- package/src/channel/channel-metadata.ts +20 -0
- package/src/channel/index.ts +19 -0
- package/src/channel/source-full.ts +25 -0
- package/src/channel/source.ts +42 -0
- package/src/chat/attachment.ts +44 -0
- package/src/chat/button.ts +90 -0
- package/src/chat/index.ts +173 -0
- package/src/chat/label-group.ts +35 -0
- package/src/chat/label.ts +56 -0
- package/src/chat/message-contract.ts +370 -0
- package/src/chat/message.ts +164 -0
- package/src/chat/options.ts +130 -0
- package/src/chat/quick-reply.ts +41 -0
- package/src/chat/subscriber.ts +73 -0
- package/src/chat/thread.ts +55 -0
- package/src/cms/content-type.ts +26 -0
- package/src/cms/content.ts +48 -0
- package/src/cms/index.ts +33 -0
- package/src/cms/menu.ts +54 -0
- package/src/dummy/dummy.ts +30 -0
- package/src/dummy/index.ts +14 -0
- package/src/i18n/index.ts +23 -0
- package/src/i18n/language.ts +28 -0
- package/src/i18n/translation.ts +26 -0
- package/src/index.test.ts +1271 -0
- package/src/index.ts +27 -0
- package/src/setting/index.ts +25 -0
- package/src/setting/metadata.ts +26 -0
- package/src/setting/setting.ts +46 -0
- package/src/shared/aliases.ts +48 -0
- package/src/shared/base.ts +13 -0
- package/src/shared/object.ts +19 -0
- package/src/shared/preprocess.ts +14 -0
- package/src/shared/profile.ts +49 -0
- package/src/user/credential.ts +45 -0
- package/src/user/domain.ts +94 -0
- package/src/user/index.ts +78 -0
- package/src/user/model.ts +40 -0
- package/src/user/permission.ts +51 -0
- package/src/user/role.ts +43 -0
- package/src/user/user-profile-assigned.ts +70 -0
- package/src/user/user-profile.ts +21 -0
- package/src/user/user.ts +87 -0
- package/src/workflow/domain.ts +47 -0
- package/src/workflow/helpers.ts +40 -0
- package/src/workflow/index.ts +70 -0
- package/src/workflow/mcp-server.ts +64 -0
- package/src/workflow/memory-definition.ts +31 -0
- package/src/workflow/memory-record.ts +71 -0
- package/src/workflow/workflow-run.ts +156 -0
- package/src/workflow/workflow-version.ts +68 -0
- package/src/workflow/workflow.ts +163 -0
package/src/index.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export * from "./attachment";
|
|
8
|
+
|
|
9
|
+
export * from "./analytics";
|
|
10
|
+
|
|
11
|
+
export * from "./audit";
|
|
12
|
+
|
|
13
|
+
export * from "./channel";
|
|
14
|
+
|
|
15
|
+
export * from "./chat";
|
|
16
|
+
|
|
17
|
+
export * from "./cms";
|
|
18
|
+
|
|
19
|
+
export * from "./i18n";
|
|
20
|
+
|
|
21
|
+
export * from "./setting";
|
|
22
|
+
|
|
23
|
+
export * from "./user";
|
|
24
|
+
|
|
25
|
+
export * from "./workflow";
|
|
26
|
+
|
|
27
|
+
export * from "./dummy";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export {
|
|
8
|
+
FieldType,
|
|
9
|
+
settingFullSchema,
|
|
10
|
+
settingSchema,
|
|
11
|
+
settingStubSchema,
|
|
12
|
+
settingValueSchema,
|
|
13
|
+
type Setting,
|
|
14
|
+
type SettingFull,
|
|
15
|
+
type SettingStub,
|
|
16
|
+
} from "./setting";
|
|
17
|
+
|
|
18
|
+
export {
|
|
19
|
+
metadataFullSchema,
|
|
20
|
+
metadataSchema,
|
|
21
|
+
metadataStubSchema,
|
|
22
|
+
type Metadata,
|
|
23
|
+
type MetadataFull,
|
|
24
|
+
type MetadataStub,
|
|
25
|
+
} from "./metadata";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
import { baseStubSchema } from "../shared/base";
|
|
10
|
+
|
|
11
|
+
const metadataObjectSchema = baseStubSchema.extend({
|
|
12
|
+
name: z.string(),
|
|
13
|
+
value: z.any(),
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export const metadataStubSchema = metadataObjectSchema;
|
|
17
|
+
|
|
18
|
+
export const metadataSchema = metadataObjectSchema;
|
|
19
|
+
|
|
20
|
+
export const metadataFullSchema = metadataObjectSchema;
|
|
21
|
+
|
|
22
|
+
export type MetadataStub = z.infer<typeof metadataStubSchema>;
|
|
23
|
+
|
|
24
|
+
export type Metadata = z.infer<typeof metadataSchema>;
|
|
25
|
+
|
|
26
|
+
export type MetadataFull = z.infer<typeof metadataFullSchema>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
import { baseStubSchema } from "../shared/base";
|
|
10
|
+
|
|
11
|
+
export const settingValueSchema = z.union([
|
|
12
|
+
z.null(),
|
|
13
|
+
z.string(),
|
|
14
|
+
z.number(),
|
|
15
|
+
z.boolean(),
|
|
16
|
+
z.array(z.string()),
|
|
17
|
+
z.record(z.string(), z.unknown()),
|
|
18
|
+
]);
|
|
19
|
+
|
|
20
|
+
const settingObjectSchema = baseStubSchema.extend({
|
|
21
|
+
group: z.string(),
|
|
22
|
+
subgroup: z.string().nullable().optional(),
|
|
23
|
+
label: z.string(),
|
|
24
|
+
value: settingValueSchema,
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
export const settingStubSchema = settingObjectSchema;
|
|
28
|
+
|
|
29
|
+
export const settingSchema = settingObjectSchema;
|
|
30
|
+
|
|
31
|
+
export const settingFullSchema = settingObjectSchema;
|
|
32
|
+
|
|
33
|
+
export type SettingStub = z.infer<typeof settingStubSchema>;
|
|
34
|
+
|
|
35
|
+
export type Setting = z.infer<typeof settingSchema>;
|
|
36
|
+
|
|
37
|
+
export type SettingFull = z.infer<typeof settingFullSchema>;
|
|
38
|
+
|
|
39
|
+
export enum FieldType {
|
|
40
|
+
text = "text",
|
|
41
|
+
url = "url",
|
|
42
|
+
textarea = "textarea",
|
|
43
|
+
checkbox = "checkbox",
|
|
44
|
+
file = "file",
|
|
45
|
+
html = "html",
|
|
46
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { cloneWithPrototype, toRecord } from "./object";
|
|
8
|
+
|
|
9
|
+
export const withAliases = (
|
|
10
|
+
value: unknown,
|
|
11
|
+
aliases: Record<string, string>,
|
|
12
|
+
): unknown => {
|
|
13
|
+
const record = toRecord(value);
|
|
14
|
+
if (!record) {
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const next = cloneWithPrototype(record);
|
|
19
|
+
|
|
20
|
+
for (const [from, to] of Object.entries(aliases)) {
|
|
21
|
+
if (next[to] === undefined && next[from] !== undefined) {
|
|
22
|
+
next[to] = next[from];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return next;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export const asId = (value: unknown): unknown => {
|
|
30
|
+
if (value == null || typeof value === "string") {
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const record = toRecord(value);
|
|
35
|
+
if (!record) {
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return typeof record.id === "string" ? record.id : value;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const asIdArray = (value: unknown): unknown => {
|
|
43
|
+
if (!Array.isArray(value)) {
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return value.map((entry) => asId(entry));
|
|
48
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
export const baseStubSchema = z.object({
|
|
10
|
+
id: z.string(),
|
|
11
|
+
createdAt: z.coerce.date(),
|
|
12
|
+
updatedAt: z.coerce.date(),
|
|
13
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export const toRecord = (value: unknown): Record<string, unknown> | null => {
|
|
8
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return value as Record<string, unknown>;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export const cloneWithPrototype = (
|
|
16
|
+
value: Record<string, unknown>,
|
|
17
|
+
): Record<string, unknown> => {
|
|
18
|
+
return Object.assign(Object.create(Object.getPrototypeOf(value)), value);
|
|
19
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
export const preprocess = <T>(
|
|
10
|
+
transformer: (value: unknown) => unknown,
|
|
11
|
+
schema: z.ZodType<T>,
|
|
12
|
+
): z.ZodType<T> => {
|
|
13
|
+
return z.preprocess(transformer, schema) as z.ZodType<T>;
|
|
14
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
import { baseStubSchema } from "./base";
|
|
10
|
+
import { preprocess } from "./preprocess";
|
|
11
|
+
|
|
12
|
+
export const nullableStringSchema = preprocess(
|
|
13
|
+
(value) => (value == null ? null : value),
|
|
14
|
+
z.string().nullable(),
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
export const nullableDateSchema = preprocess(
|
|
18
|
+
(value) => (value == null ? null : value),
|
|
19
|
+
z.coerce.date().nullable(),
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
export const userProfileBaseSchema = baseStubSchema.extend({
|
|
23
|
+
firstName: z.string(),
|
|
24
|
+
lastName: z.string(),
|
|
25
|
+
language: nullableStringSchema,
|
|
26
|
+
timezone: z.coerce.number().default(0),
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export const subscriberChannelSchema = z.object({
|
|
30
|
+
name: nullableStringSchema,
|
|
31
|
+
data: preprocess(
|
|
32
|
+
(value) => (value == null ? null : value),
|
|
33
|
+
z.record(z.string(), z.any()).nullable(),
|
|
34
|
+
).optional(),
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
export const subscriberBaseSchema = userProfileBaseSchema.extend({
|
|
38
|
+
locale: nullableStringSchema,
|
|
39
|
+
gender: nullableStringSchema,
|
|
40
|
+
country: nullableStringSchema,
|
|
41
|
+
foreignId: nullableStringSchema,
|
|
42
|
+
assignedAt: nullableDateSchema,
|
|
43
|
+
lastvisit: nullableDateSchema,
|
|
44
|
+
retainedFrom: nullableDateSchema,
|
|
45
|
+
channel: preprocess(
|
|
46
|
+
(value) => value ?? { name: null, data: null },
|
|
47
|
+
subscriberChannelSchema,
|
|
48
|
+
),
|
|
49
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
import { asId, withAliases } from "../shared/aliases";
|
|
10
|
+
import { baseStubSchema } from "../shared/base";
|
|
11
|
+
import { preprocess } from "../shared/preprocess";
|
|
12
|
+
|
|
13
|
+
import { userSchema } from "./user";
|
|
14
|
+
|
|
15
|
+
const credentialAliasMap = {
|
|
16
|
+
ownerId: "owner",
|
|
17
|
+
} as const;
|
|
18
|
+
const credentialStubObjectSchema = baseStubSchema.extend({
|
|
19
|
+
name: z.string(),
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export const credentialStubSchema = credentialStubObjectSchema;
|
|
23
|
+
|
|
24
|
+
export const credentialSchema = preprocess(
|
|
25
|
+
(value) => withAliases(value, credentialAliasMap),
|
|
26
|
+
credentialStubObjectSchema.extend({
|
|
27
|
+
owner: preprocess(
|
|
28
|
+
(value) => (value == null ? null : asId(value)),
|
|
29
|
+
z.string(),
|
|
30
|
+
),
|
|
31
|
+
}),
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
export const credentialFullSchema = credentialStubObjectSchema.extend({
|
|
35
|
+
owner: preprocess(
|
|
36
|
+
(value) => (value == null ? null : value),
|
|
37
|
+
z.lazy(() => userSchema).nullable(),
|
|
38
|
+
),
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export type CredentialStub = z.infer<typeof credentialStubSchema>;
|
|
42
|
+
|
|
43
|
+
export type Credential = z.infer<typeof credentialSchema>;
|
|
44
|
+
|
|
45
|
+
export type CredentialFull = z.infer<typeof credentialFullSchema>;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
export enum Action {
|
|
10
|
+
CREATE = "create",
|
|
11
|
+
READ = "read",
|
|
12
|
+
UPDATE = "update",
|
|
13
|
+
DELETE = "delete",
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export enum MethodToAction {
|
|
17
|
+
POST = "create",
|
|
18
|
+
GET = "read",
|
|
19
|
+
PATCH = "update",
|
|
20
|
+
DELETE = "delete",
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type TRelation = "role" | "createdBy";
|
|
24
|
+
|
|
25
|
+
export type TModel =
|
|
26
|
+
| "contenttype"
|
|
27
|
+
| "content"
|
|
28
|
+
| "nlpentity"
|
|
29
|
+
| "nlpsampleentity"
|
|
30
|
+
| "nlpsample"
|
|
31
|
+
| "nlpvalue"
|
|
32
|
+
| "setting"
|
|
33
|
+
| "attachment"
|
|
34
|
+
| "auditlog"
|
|
35
|
+
| "user"
|
|
36
|
+
| "role"
|
|
37
|
+
| "permission"
|
|
38
|
+
| "label"
|
|
39
|
+
| "labelgroup"
|
|
40
|
+
| "message"
|
|
41
|
+
| "thread"
|
|
42
|
+
| "subscriber"
|
|
43
|
+
| "source"
|
|
44
|
+
| "language"
|
|
45
|
+
| "translation"
|
|
46
|
+
| "stats"
|
|
47
|
+
| "menu"
|
|
48
|
+
| "workflow"
|
|
49
|
+
| "workflowversion"
|
|
50
|
+
| "workflowrun"
|
|
51
|
+
| "memorydefinition"
|
|
52
|
+
| "memoryrecord"
|
|
53
|
+
| "mcpserver"
|
|
54
|
+
| "model"
|
|
55
|
+
| "credential";
|
|
56
|
+
|
|
57
|
+
export type ModelPermissionsPerRole = Record<TModel, Action[]>;
|
|
58
|
+
|
|
59
|
+
export type PermissionsTree = Record<string, ModelPermissionsPerRole>;
|
|
60
|
+
|
|
61
|
+
export const relationSchema = z.enum(["role", "createdBy"]);
|
|
62
|
+
|
|
63
|
+
export const modelIdentitySchema = z.enum([
|
|
64
|
+
"contenttype",
|
|
65
|
+
"content",
|
|
66
|
+
"nlpentity",
|
|
67
|
+
"nlpsampleentity",
|
|
68
|
+
"nlpsample",
|
|
69
|
+
"nlpvalue",
|
|
70
|
+
"setting",
|
|
71
|
+
"attachment",
|
|
72
|
+
"auditlog",
|
|
73
|
+
"user",
|
|
74
|
+
"role",
|
|
75
|
+
"permission",
|
|
76
|
+
"label",
|
|
77
|
+
"labelgroup",
|
|
78
|
+
"message",
|
|
79
|
+
"thread",
|
|
80
|
+
"subscriber",
|
|
81
|
+
"source",
|
|
82
|
+
"language",
|
|
83
|
+
"translation",
|
|
84
|
+
"stats",
|
|
85
|
+
"menu",
|
|
86
|
+
"workflow",
|
|
87
|
+
"workflowversion",
|
|
88
|
+
"workflowrun",
|
|
89
|
+
"memorydefinition",
|
|
90
|
+
"memoryrecord",
|
|
91
|
+
"mcpserver",
|
|
92
|
+
"model",
|
|
93
|
+
"credential",
|
|
94
|
+
]);
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export {
|
|
8
|
+
Action,
|
|
9
|
+
MethodToAction,
|
|
10
|
+
type ModelPermissionsPerRole,
|
|
11
|
+
type PermissionsTree,
|
|
12
|
+
type TModel,
|
|
13
|
+
type TRelation,
|
|
14
|
+
} from "./domain";
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
userProfileFullSchema,
|
|
18
|
+
userProfileSchema,
|
|
19
|
+
userProfileStubSchema,
|
|
20
|
+
type UserProfile,
|
|
21
|
+
type UserProfileFull,
|
|
22
|
+
type UserProfileStub,
|
|
23
|
+
} from "./user-profile";
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
userProfileAssignedFullSchema,
|
|
27
|
+
userProfileAssignedSchema,
|
|
28
|
+
userProfileAssignedStubSchema,
|
|
29
|
+
type UserProfileAssigned,
|
|
30
|
+
type UserProfileAssignedFull,
|
|
31
|
+
type UserProfileAssignedStub,
|
|
32
|
+
type UserProvider,
|
|
33
|
+
} from "./user-profile-assigned";
|
|
34
|
+
|
|
35
|
+
export {
|
|
36
|
+
userFullSchema,
|
|
37
|
+
userSchema,
|
|
38
|
+
userStubSchema,
|
|
39
|
+
type User,
|
|
40
|
+
type UserFull,
|
|
41
|
+
type UserStub,
|
|
42
|
+
} from "./user";
|
|
43
|
+
|
|
44
|
+
export {
|
|
45
|
+
roleFullSchema,
|
|
46
|
+
roleSchema,
|
|
47
|
+
roleStubSchema,
|
|
48
|
+
type Role,
|
|
49
|
+
type RoleFull,
|
|
50
|
+
type RoleStub,
|
|
51
|
+
} from "./role";
|
|
52
|
+
|
|
53
|
+
export {
|
|
54
|
+
modelFullSchema,
|
|
55
|
+
modelSchema,
|
|
56
|
+
modelStubSchema,
|
|
57
|
+
type Model,
|
|
58
|
+
type ModelFull,
|
|
59
|
+
type ModelStub,
|
|
60
|
+
} from "./model";
|
|
61
|
+
|
|
62
|
+
export {
|
|
63
|
+
permissionFullSchema,
|
|
64
|
+
permissionSchema,
|
|
65
|
+
permissionStubSchema,
|
|
66
|
+
type Permission,
|
|
67
|
+
type PermissionFull,
|
|
68
|
+
type PermissionStub,
|
|
69
|
+
} from "./permission";
|
|
70
|
+
|
|
71
|
+
export {
|
|
72
|
+
credentialFullSchema,
|
|
73
|
+
credentialSchema,
|
|
74
|
+
credentialStubSchema,
|
|
75
|
+
type Credential,
|
|
76
|
+
type CredentialFull,
|
|
77
|
+
type CredentialStub,
|
|
78
|
+
} from "./credential";
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
import { baseStubSchema } from "../shared/base";
|
|
10
|
+
import { preprocess } from "../shared/preprocess";
|
|
11
|
+
|
|
12
|
+
import { modelIdentitySchema, relationSchema } from "./domain";
|
|
13
|
+
import { permissionSchema } from "./permission";
|
|
14
|
+
|
|
15
|
+
const modelStubObjectSchema = baseStubSchema.extend({
|
|
16
|
+
name: z.string(),
|
|
17
|
+
identity: modelIdentitySchema,
|
|
18
|
+
attributes: z.record(z.string(), z.unknown()),
|
|
19
|
+
relation: preprocess(
|
|
20
|
+
(value) => (value == null ? undefined : value),
|
|
21
|
+
relationSchema.optional(),
|
|
22
|
+
).optional(),
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export const modelStubSchema = modelStubObjectSchema;
|
|
26
|
+
|
|
27
|
+
export const modelSchema = modelStubObjectSchema;
|
|
28
|
+
|
|
29
|
+
export const modelFullSchema = modelStubObjectSchema.extend({
|
|
30
|
+
permissions: preprocess(
|
|
31
|
+
(value) => (Array.isArray(value) ? value : []),
|
|
32
|
+
z.array(z.lazy(() => permissionSchema)),
|
|
33
|
+
).optional(),
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
export type ModelStub = z.infer<typeof modelStubSchema>;
|
|
37
|
+
|
|
38
|
+
export type Model = z.infer<typeof modelSchema>;
|
|
39
|
+
|
|
40
|
+
export type ModelFull = z.infer<typeof modelFullSchema>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
import { asId, withAliases } from "../shared/aliases";
|
|
10
|
+
import { baseStubSchema } from "../shared/base";
|
|
11
|
+
import { preprocess } from "../shared/preprocess";
|
|
12
|
+
|
|
13
|
+
import { Action, relationSchema } from "./domain";
|
|
14
|
+
import { modelSchema } from "./model";
|
|
15
|
+
import { roleSchema } from "./role";
|
|
16
|
+
|
|
17
|
+
const permissionAliasMap = {
|
|
18
|
+
modelId: "model",
|
|
19
|
+
roleId: "role",
|
|
20
|
+
} as const;
|
|
21
|
+
const permissionStubObjectSchema = baseStubSchema.extend({
|
|
22
|
+
action: z.enum(Action),
|
|
23
|
+
relation: relationSchema,
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
export const permissionStubSchema = permissionStubObjectSchema;
|
|
27
|
+
|
|
28
|
+
export const permissionSchema = preprocess(
|
|
29
|
+
(value) => withAliases(value, permissionAliasMap),
|
|
30
|
+
permissionStubObjectSchema.extend({
|
|
31
|
+
model: preprocess(
|
|
32
|
+
(value) => (value == null ? null : asId(value)),
|
|
33
|
+
z.string(),
|
|
34
|
+
),
|
|
35
|
+
role: preprocess(
|
|
36
|
+
(value) => (value == null ? null : asId(value)),
|
|
37
|
+
z.string(),
|
|
38
|
+
),
|
|
39
|
+
}),
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
export const permissionFullSchema = permissionStubObjectSchema.extend({
|
|
43
|
+
model: z.lazy(() => modelSchema),
|
|
44
|
+
role: z.lazy(() => roleSchema),
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
export type PermissionStub = z.infer<typeof permissionStubSchema>;
|
|
48
|
+
|
|
49
|
+
export type Permission = z.infer<typeof permissionSchema>;
|
|
50
|
+
|
|
51
|
+
export type PermissionFull = z.infer<typeof permissionFullSchema>;
|
package/src/user/role.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
import { baseStubSchema } from "../shared/base";
|
|
10
|
+
import { preprocess } from "../shared/preprocess";
|
|
11
|
+
|
|
12
|
+
import { permissionSchema } from "./permission";
|
|
13
|
+
import { userSchema } from "./user";
|
|
14
|
+
|
|
15
|
+
const roleBaseSchema = baseStubSchema.extend({
|
|
16
|
+
name: z.string(),
|
|
17
|
+
active: z.coerce.boolean(),
|
|
18
|
+
});
|
|
19
|
+
const roleFullObjectSchema = z.object({
|
|
20
|
+
permissions: preprocess(
|
|
21
|
+
(value) => (Array.isArray(value) ? value : []),
|
|
22
|
+
z.array(z.lazy(() => permissionSchema)),
|
|
23
|
+
).optional(),
|
|
24
|
+
users: preprocess(
|
|
25
|
+
(value) => (Array.isArray(value) ? value : []),
|
|
26
|
+
z.array(z.lazy(() => userSchema)),
|
|
27
|
+
),
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
export const roleStubSchema = roleBaseSchema;
|
|
31
|
+
|
|
32
|
+
export const roleSchema = roleBaseSchema;
|
|
33
|
+
|
|
34
|
+
export const roleFullSchema = z.intersection(
|
|
35
|
+
roleBaseSchema,
|
|
36
|
+
roleFullObjectSchema,
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
export type RoleStub = z.infer<typeof roleStubSchema>;
|
|
40
|
+
|
|
41
|
+
export type Role = z.infer<typeof roleSchema>;
|
|
42
|
+
|
|
43
|
+
export type RoleFull = z.infer<typeof roleFullSchema>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hexabot — Fair Core License (FCL-1.0-ALv2)
|
|
3
|
+
* Copyright (c) 2026 Hexastack.
|
|
4
|
+
* Full terms: see LICENSE.md.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
import { asId, asIdArray, withAliases } from "../shared/aliases";
|
|
10
|
+
import { preprocess } from "../shared/preprocess";
|
|
11
|
+
import { nullableStringSchema, subscriberBaseSchema } from "../shared/profile";
|
|
12
|
+
|
|
13
|
+
const userProfileAssignedAliasMap = {
|
|
14
|
+
labelIds: "labels",
|
|
15
|
+
assignedToId: "assignedTo",
|
|
16
|
+
roleIds: "roles",
|
|
17
|
+
avatarId: "avatar",
|
|
18
|
+
} as const;
|
|
19
|
+
|
|
20
|
+
export const userProviderSchema = z.object({
|
|
21
|
+
strategy: z.literal("local"),
|
|
22
|
+
sub: z.string().optional(),
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const userProfileAssignedObjectSchema = subscriberBaseSchema.extend({
|
|
26
|
+
labels: preprocess(
|
|
27
|
+
(value) => (Array.isArray(value) ? asIdArray(value) : []),
|
|
28
|
+
z.array(z.string()),
|
|
29
|
+
),
|
|
30
|
+
assignedTo: preprocess(
|
|
31
|
+
(value) => (value == null ? null : asId(value)),
|
|
32
|
+
z.string().nullable(),
|
|
33
|
+
),
|
|
34
|
+
username: z.string(),
|
|
35
|
+
email: z.string(),
|
|
36
|
+
sendEmail: z.coerce.boolean(),
|
|
37
|
+
state: z.coerce.boolean(),
|
|
38
|
+
resetCount: z.coerce.number(),
|
|
39
|
+
resetToken: nullableStringSchema,
|
|
40
|
+
provider: userProviderSchema.optional(),
|
|
41
|
+
roles: preprocess(
|
|
42
|
+
(value) => (Array.isArray(value) ? asIdArray(value) : []),
|
|
43
|
+
z.array(z.string()),
|
|
44
|
+
),
|
|
45
|
+
avatar: preprocess(
|
|
46
|
+
(value) => (value == null ? null : asId(value)),
|
|
47
|
+
z.string().nullable(),
|
|
48
|
+
),
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
export const userProfileAssignedStubSchema = userProfileAssignedObjectSchema;
|
|
52
|
+
|
|
53
|
+
export const userProfileAssignedSchema = preprocess(
|
|
54
|
+
(value) => withAliases(value, userProfileAssignedAliasMap),
|
|
55
|
+
userProfileAssignedObjectSchema,
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
export const userProfileAssignedFullSchema = userProfileAssignedSchema;
|
|
59
|
+
|
|
60
|
+
export type UserProvider = z.infer<typeof userProviderSchema>;
|
|
61
|
+
|
|
62
|
+
export type UserProfileAssignedStub = z.infer<
|
|
63
|
+
typeof userProfileAssignedStubSchema
|
|
64
|
+
>;
|
|
65
|
+
|
|
66
|
+
export type UserProfileAssigned = z.infer<typeof userProfileAssignedSchema>;
|
|
67
|
+
|
|
68
|
+
export type UserProfileAssignedFull = z.infer<
|
|
69
|
+
typeof userProfileAssignedFullSchema
|
|
70
|
+
>;
|