@calmlens/js-sdk 0.0.0 → 0.0.2

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 (69) hide show
  1. package/README.md +190 -22
  2. package/cjs/ApiKey.d.ts +31 -0
  3. package/cjs/ApiKey.js +59 -0
  4. package/cjs/Asset.d.ts +83 -3
  5. package/cjs/Asset.js +198 -28
  6. package/cjs/Auth.d.ts +95 -0
  7. package/cjs/Auth.js +2 -0
  8. package/cjs/CalmLensClient.d.ts +28 -11
  9. package/cjs/CalmLensClient.js +138 -77
  10. package/cjs/CalmLensTypes.d.ts +2 -0
  11. package/cjs/Classification.js +40 -7
  12. package/cjs/DocMetaTypes.d.ts +7 -0
  13. package/cjs/DocMetaTypes.js +7 -0
  14. package/cjs/Page.d.ts +42 -0
  15. package/cjs/Page.js +94 -0
  16. package/cjs/PublicApiSchemas.d.ts +1593 -0
  17. package/cjs/PublicApiSchemas.js +334 -0
  18. package/cjs/RequestInfo.d.ts +23 -0
  19. package/cjs/RequestInfo.js +2 -0
  20. package/cjs/Roles.d.ts +21 -0
  21. package/cjs/Roles.js +84 -0
  22. package/cjs/SharedConstants.d.ts +134 -0
  23. package/cjs/SharedConstants.js +125 -0
  24. package/cjs/SharedTypes.d.ts +6 -1
  25. package/cjs/User.d.ts +17 -0
  26. package/cjs/User.js +51 -0
  27. package/cjs/UtilTypes.d.ts +30 -0
  28. package/cjs/UtilTypes.js +4 -0
  29. package/cjs/Workflow.d.ts +58 -0
  30. package/cjs/Workflow.js +83 -0
  31. package/cjs/ZodUtils.d.ts +39 -0
  32. package/cjs/ZodUtils.js +328 -0
  33. package/cjs/index.js +4 -1
  34. package/esm/ApiKey.d.ts +31 -0
  35. package/esm/ApiKey.js +23 -0
  36. package/esm/Asset.d.ts +83 -3
  37. package/esm/Asset.js +148 -12
  38. package/esm/Auth.d.ts +95 -0
  39. package/esm/Auth.js +1 -0
  40. package/esm/CalmLensClient.d.ts +28 -11
  41. package/esm/CalmLensClient.js +104 -55
  42. package/esm/CalmLensTypes.d.ts +2 -0
  43. package/esm/Classification.js +1 -1
  44. package/esm/DocMetaTypes.d.ts +7 -0
  45. package/esm/DocMetaTypes.js +4 -0
  46. package/esm/Page.d.ts +42 -0
  47. package/esm/Page.js +55 -0
  48. package/esm/PublicApiSchemas.d.ts +1593 -0
  49. package/esm/PublicApiSchemas.js +298 -0
  50. package/esm/RequestInfo.d.ts +23 -0
  51. package/esm/RequestInfo.js +1 -0
  52. package/esm/Roles.d.ts +21 -0
  53. package/esm/Roles.js +45 -0
  54. package/esm/SharedConstants.d.ts +134 -0
  55. package/esm/SharedConstants.js +122 -0
  56. package/esm/SharedTypes.d.ts +6 -1
  57. package/esm/User.d.ts +17 -0
  58. package/esm/User.js +15 -0
  59. package/esm/UtilTypes.d.ts +30 -0
  60. package/esm/UtilTypes.js +1 -0
  61. package/esm/Workflow.d.ts +58 -0
  62. package/esm/Workflow.js +46 -0
  63. package/esm/ZodUtils.d.ts +39 -0
  64. package/esm/ZodUtils.js +266 -0
  65. package/package.json +10 -10
  66. package/cjs/SchemaUtils.d.ts +0 -11
  67. package/cjs/SchemaUtils.js +0 -63
  68. package/esm/SchemaUtils.d.ts +0 -11
  69. package/esm/SchemaUtils.js +0 -46
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BLURB = exports.TITLE = exports.DOMAIN = exports.IMPERSONATION_COOKIE_NAME = exports.MAX_NON_IMAGE_UPLOAD_STRING = exports.MAX_NON_IMAGE_UPLOAD_BYTES = exports.MAX_NON_IMAGE_UPLOAD_MB = exports.MAX_IMAGE_UPLOAD_BYTES = exports.MAX_IMAGE_DIMENSION = exports.MAX_IMAGE_UPLOAD_STRING = exports.MAX_IMAGE_UPLOAD_MB = exports.DEFAULT_FIT = exports.COOKIE_NEVER_EXPIRES = exports.IS_BACKEND = exports.PLAN_TYPES = exports.PAYMENT_RETURN_TYPES = exports.THIRD_PARTY_COOKIES = exports.FIRST_PARTY_COOKIES = void 0;
4
+ exports.FIRST_PARTY_COOKIES = {
5
+ ACCEPTED_COOKIES_VERSION: {
6
+ name: "CL_acceptedCookiesVersion",
7
+ description: "Indicates the version of the cookies the user has accepted",
8
+ expirationDescription: "1 year",
9
+ type: "essential",
10
+ providerName: "CalmLens",
11
+ },
12
+ RANDOM_SEED: {
13
+ name: "CL_randomnessSeed",
14
+ description: "Random seed used for consistent randomization across sessions",
15
+ expirationDescription: "Session",
16
+ type: "functional",
17
+ providerName: "CalmLens",
18
+ },
19
+ EVER_LOGGED_IN: {
20
+ name: "CL_everLoggedIn",
21
+ description: "Indicates if the user has ever logged in to the app",
22
+ expirationDescription: "10 years",
23
+ type: "essential",
24
+ providerName: "CalmLens",
25
+ },
26
+ ID_TOKEN_EXPIRES_AT: {
27
+ name: "CL_idTokenExpiresAt",
28
+ description: "User authentication token expiration time",
29
+ expirationDescription: "Session",
30
+ type: "essential",
31
+ providerName: "CalmLens",
32
+ },
33
+ ID_TOKEN: {
34
+ name: "CL_idToken",
35
+ description: "User authentication token",
36
+ expirationDescription: "Session",
37
+ type: "essential",
38
+ providerName: "CalmLens",
39
+ },
40
+ LOGGED_IN: {
41
+ name: "CL_loggedIn",
42
+ description: "Indicates if the user is currently logged in",
43
+ expirationDescription: "Session",
44
+ type: "essential",
45
+ providerName: "CalmLens",
46
+ },
47
+ REFRESH_TOKEN: {
48
+ name: "CL_refreshToken",
49
+ description: "User refresh token",
50
+ expirationDescription: "Session",
51
+ type: "essential",
52
+ providerName: "CalmLens",
53
+ },
54
+ PRE_RENDERED_WIDTH: {
55
+ name: "CL_preRenderedWidth",
56
+ description: "Indicates the viewport width of the user",
57
+ expirationDescription: "Session",
58
+ type: "essential",
59
+ providerName: "CalmLens",
60
+ },
61
+ SELECTED_PROJECT_ID: {
62
+ name: "CL_selectedProjectId",
63
+ description: "The currently selected project ID",
64
+ expirationDescription: "1 year",
65
+ type: "functional",
66
+ providerName: "CalmLens",
67
+ },
68
+ ASSET_DASHBOARD_STATE: {
69
+ name: "CL_assetDashboardState",
70
+ description: "Asset dashboard persistent state (view mode, filters, etc.)",
71
+ expirationDescription: "1 year",
72
+ expirationMs: 365 * 24 * 60 * 60 * 1000,
73
+ type: "functional",
74
+ providerName: "CalmLens",
75
+ },
76
+ ASSET_VIEW: {
77
+ name: "CL_assetView",
78
+ description: "Preferred view mode for an asset's sub-assets (append _<assetId> to the name)",
79
+ expirationDescription: "1 year",
80
+ expirationMs: 365 * 24 * 60 * 60 * 1000,
81
+ type: "functional",
82
+ providerName: "CalmLens",
83
+ },
84
+ PORTAL_SIDEBAR_SPLIT_PANE: {
85
+ name: "CL_portalSidebarSplitPane",
86
+ description: "Portal sidebar split pane panel sizes",
87
+ expirationDescription: "1 year",
88
+ expirationMs: 365 * 24 * 60 * 60 * 1000,
89
+ type: "functional",
90
+ providerName: "CalmLens",
91
+ },
92
+ PORTAL_LAYOUT_SPLIT_PANE: {
93
+ name: "CL_portalLayoutSplitPane",
94
+ description: "Portal layout horizontal split pane panel sizes",
95
+ expirationDescription: "1 year",
96
+ expirationMs: 365 * 24 * 60 * 60 * 1000,
97
+ type: "functional",
98
+ providerName: "CalmLens",
99
+ },
100
+ };
101
+ exports.THIRD_PARTY_COOKIES = {
102
+ STRIPE: {
103
+ name: "__stripe_mid",
104
+ description: "Payment processing",
105
+ expirationDescription: "Session",
106
+ type: "essential",
107
+ providerName: "Stripe",
108
+ },
109
+ };
110
+ exports.PAYMENT_RETURN_TYPES = ["edit", "account", "settings", "subscription"];
111
+ exports.PLAN_TYPES = ["plus", "pro"];
112
+ exports.IS_BACKEND = typeof process === "undefined" || typeof WebSocketPair !== "undefined";
113
+ exports.COOKIE_NEVER_EXPIRES = 60 * 60 * 24 * 365 * 10; // 10 years
114
+ exports.DEFAULT_FIT = "contain";
115
+ exports.MAX_IMAGE_UPLOAD_MB = 10;
116
+ exports.MAX_IMAGE_UPLOAD_STRING = "10MB";
117
+ exports.MAX_IMAGE_DIMENSION = 12000; // Cloudflare Images limit
118
+ exports.MAX_IMAGE_UPLOAD_BYTES = exports.MAX_IMAGE_UPLOAD_MB * 1024 * 1024; // 10MB
119
+ exports.MAX_NON_IMAGE_UPLOAD_MB = 5000;
120
+ exports.MAX_NON_IMAGE_UPLOAD_BYTES = exports.MAX_NON_IMAGE_UPLOAD_MB * 1024 * 1024; // 5GB
121
+ exports.MAX_NON_IMAGE_UPLOAD_STRING = "5GB";
122
+ exports.IMPERSONATION_COOKIE_NAME = "CL_impersonation";
123
+ exports.DOMAIN = "calmlens.com";
124
+ exports.TITLE = "CalmLens";
125
+ exports.BLURB = "AI-powered content moderation for safer online communities";
@@ -8,6 +8,11 @@ export type SubmitAssetOptions = ({
8
8
  }) & {
9
9
  name: string;
10
10
  description?: string;
11
- keepAfterProcessing?: boolean;
11
+ processingOptions?: {
12
+ keepAfterProcessing?: boolean;
13
+ image?: {
14
+ ocrEnabled?: boolean;
15
+ };
16
+ };
12
17
  visibility?: AssetVisibility;
13
18
  };
package/cjs/User.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ import * as zod from "zod/v4";
2
+ export declare const USER_SCHEMA: zod.ZodObject<{
3
+ id: zod.ZodString;
4
+ createdAt: zod.ZodNumber;
5
+ updatedAt: zod.ZodOptional<zod.ZodNumber>;
6
+ email: zod.ZodOptional<zod.ZodNullable<zod.ZodPipe<zod.ZodString, zod.ZodTransform<string, string>>>>;
7
+ firstName: zod.ZodOptional<zod.ZodNullable<zod.ZodPipe<zod.ZodString, zod.ZodTransform<string, string>>>>;
8
+ lastName: zod.ZodOptional<zod.ZodNullable<zod.ZodPipe<zod.ZodString, zod.ZodTransform<string, string>>>>;
9
+ customerId: zod.ZodOptional<zod.ZodNullable<zod.ZodPipe<zod.ZodString, zod.ZodTransform<string, string>>>>;
10
+ roles: zod.ZodOptional<zod.ZodNullable<zod.ZodArray<zod.ZodEnum<{
11
+ "system:super-admin": "system:super-admin";
12
+ "system:banned": "system:banned";
13
+ "assets:view-all": "assets:view-all";
14
+ }>>>>;
15
+ freeUploadsUsed: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
16
+ }, zod.z.core.$strip>;
17
+ export type User = zod.infer<typeof USER_SCHEMA>;
package/cjs/User.js ADDED
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.USER_SCHEMA = void 0;
37
+ var zod = __importStar(require("zod/v4"));
38
+ var zodbase_1 = require("zodbase");
39
+ var Roles_1 = require("./Roles");
40
+ var ZodUtils_1 = require("./ZodUtils");
41
+ exports.USER_SCHEMA = zod.object({
42
+ id: zod.string().meta((0, zodbase_1.metaStore)([(0, zodbase_1.primaryKey)()])),
43
+ createdAt: (0, ZodUtils_1.createdAtField)(),
44
+ updatedAt: (0, ZodUtils_1.updatedAtField)(),
45
+ email: (0, ZodUtils_1.saneStringField)().nullish(),
46
+ firstName: (0, ZodUtils_1.saneStringField)().nullish(),
47
+ lastName: (0, ZodUtils_1.saneStringField)().nullish(),
48
+ customerId: (0, ZodUtils_1.saneStringField)().nullish(),
49
+ roles: zod.array(Roles_1.ROLE_SCHEMA).nullish(),
50
+ freeUploadsUsed: zod.number().int().nonnegative().nullish(),
51
+ });
@@ -0,0 +1,30 @@
1
+ import type React from "react";
2
+ import type { HTMLProps } from "react";
3
+ import type { User } from "./User";
4
+ export type AppEnvironment = "local" | "dev" | "main";
5
+ export type Breakpoint = "mobile" | "desktop";
6
+ export type CommonHtmlProps = Omit<HTMLProps<HTMLDivElement>, "ref" | "as"> & {
7
+ ref?: React.Ref<HTMLDivElement>;
8
+ };
9
+ export type Class<T> = new (...args: any[]) => T;
10
+ export interface AuthState {
11
+ user: User;
12
+ subscription?: any | null;
13
+ }
14
+ export declare const FIT_TYPES: readonly ["contain", "cover", "fill"];
15
+ export type Fit = (typeof FIT_TYPES)[number];
16
+ export interface FieldSettings {
17
+ name: string;
18
+ disabled?: boolean;
19
+ value?: any;
20
+ }
21
+ export interface ImpersonationData {
22
+ originalUserId: string;
23
+ targetUser: {
24
+ id: string;
25
+ email: string | undefined | null;
26
+ firstName: string | undefined | null;
27
+ lastName: string | undefined | null;
28
+ };
29
+ startedAt: number;
30
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FIT_TYPES = void 0;
4
+ exports.FIT_TYPES = ["contain", "cover", "fill"];
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Workflow system for tracking asset processing pipelines
3
+ */
4
+ import * as zod from "zod/v4";
5
+ export type WorkflowStepStatus = "pending" | "in_progress" | "completed" | "skipped" | "error";
6
+ export declare const WORKFLOW_STEP_STATUS_SCHEMA: zod.ZodEnum<{
7
+ error: "error";
8
+ pending: "pending";
9
+ in_progress: "in_progress";
10
+ completed: "completed";
11
+ skipped: "skipped";
12
+ }>;
13
+ export declare const WORKFLOW_STEP_SCHEMA: zod.ZodObject<{
14
+ id: zod.ZodString;
15
+ label: zod.ZodString;
16
+ status: zod.ZodEnum<{
17
+ error: "error";
18
+ pending: "pending";
19
+ in_progress: "in_progress";
20
+ completed: "completed";
21
+ skipped: "skipped";
22
+ }>;
23
+ optional: zod.ZodOptional<zod.ZodBoolean>;
24
+ startedAt: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
25
+ completedAt: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
26
+ error: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
27
+ }, zod.z.core.$strip>;
28
+ export declare const WORKFLOW_SCHEMA: zod.ZodObject<{
29
+ id: zod.ZodString;
30
+ name: zod.ZodString;
31
+ steps: zod.ZodArray<zod.ZodObject<{
32
+ id: zod.ZodString;
33
+ label: zod.ZodString;
34
+ status: zod.ZodEnum<{
35
+ error: "error";
36
+ pending: "pending";
37
+ in_progress: "in_progress";
38
+ completed: "completed";
39
+ skipped: "skipped";
40
+ }>;
41
+ optional: zod.ZodOptional<zod.ZodBoolean>;
42
+ startedAt: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
43
+ completedAt: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
44
+ error: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
45
+ }, zod.z.core.$strip>>;
46
+ createdAt: zod.ZodString;
47
+ updatedAt: zod.ZodString;
48
+ }, zod.z.core.$strip>;
49
+ export type WorkflowStep = zod.infer<typeof WORKFLOW_STEP_SCHEMA>;
50
+ export type Workflow = zod.infer<typeof WORKFLOW_SCHEMA>;
51
+ /**
52
+ * Create a new workflow
53
+ */
54
+ export declare function createWorkflow(id: string, name: string, stepDefinitions: Array<{
55
+ id: string;
56
+ label: string;
57
+ optional?: boolean;
58
+ }>): Workflow;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ /**
3
+ * Workflow system for tracking asset processing pipelines
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.WORKFLOW_SCHEMA = exports.WORKFLOW_STEP_SCHEMA = exports.WORKFLOW_STEP_STATUS_SCHEMA = void 0;
40
+ exports.createWorkflow = createWorkflow;
41
+ var zod = __importStar(require("zod/v4"));
42
+ exports.WORKFLOW_STEP_STATUS_SCHEMA = zod.enum([
43
+ "pending",
44
+ "in_progress",
45
+ "completed",
46
+ "skipped",
47
+ "error",
48
+ ]);
49
+ exports.WORKFLOW_STEP_SCHEMA = zod.object({
50
+ id: zod.string(),
51
+ label: zod.string(),
52
+ status: exports.WORKFLOW_STEP_STATUS_SCHEMA,
53
+ optional: zod.boolean().optional(),
54
+ startedAt: zod.string().nullish(),
55
+ completedAt: zod.string().nullish(),
56
+ error: zod.string().nullish(),
57
+ });
58
+ exports.WORKFLOW_SCHEMA = zod.object({
59
+ id: zod.string(),
60
+ name: zod.string(),
61
+ steps: zod.array(exports.WORKFLOW_STEP_SCHEMA),
62
+ createdAt: zod.string(),
63
+ updatedAt: zod.string(),
64
+ });
65
+ /**
66
+ * Create a new workflow
67
+ */
68
+ function createWorkflow(id, name, stepDefinitions) {
69
+ var now = new Date().toISOString();
70
+ return {
71
+ id: id,
72
+ name: name,
73
+ steps: stepDefinitions.map(function (def, index) { return ({
74
+ id: def.id,
75
+ label: def.label,
76
+ status: index === 0 ? "in_progress" : "pending",
77
+ optional: def.optional,
78
+ startedAt: index === 0 ? now : undefined,
79
+ }); }),
80
+ createdAt: now,
81
+ updatedAt: now,
82
+ };
83
+ }
@@ -0,0 +1,39 @@
1
+ import * as zod from "zod/v4";
2
+ import type { Class } from "./UtilTypes";
3
+ export declare const isZodRequired: (type: zod.ZodType) => boolean;
4
+ export interface SchemaDisplayInfo {
5
+ type?: string;
6
+ mainType: string;
7
+ optional?: boolean;
8
+ description?: string;
9
+ defaultValue?: string | number | boolean;
10
+ placeholder?: string;
11
+ enumValues?: string[];
12
+ namedType?: string;
13
+ }
14
+ export declare const getZodTypeChain: (type: zod.ZodType) => zod.ZodType[];
15
+ export declare const getSchemaDisplayInfo: (type: zod.ZodType) => SchemaDisplayInfo;
16
+ export declare const isZodTypeExtends: (type: zod.ZodType, zodType: Class<zod.ZodType>) => zod.ZodType | false;
17
+ export type NonNullableObject<T> = {
18
+ [K in keyof T]: NonNullable<T[K]>;
19
+ };
20
+ export declare const nonNullable: <T extends zod.ZodRawShape>(schema: zod.ZodObject<T>) => zod.ZodObject<NonNullableObject<T>>;
21
+ export interface SaneStringOptions {
22
+ type?: "small" | "medium" | "large";
23
+ minWidth?: number;
24
+ }
25
+ export declare const primaryUuidField: () => zod.ZodString;
26
+ export declare const uuidField: () => zod.ZodString;
27
+ export declare const createdAtField: () => zod.ZodNumber;
28
+ export declare const updatedAtField: () => zod.ZodOptional<zod.ZodNumber>;
29
+ export interface SaneStringOptions {
30
+ type?: "small" | "medium" | "large";
31
+ minWidth?: number;
32
+ }
33
+ export declare const saneStringField: (options?: SaneStringOptions) => zod.ZodPipe<zod.ZodString, zod.ZodTransform<string, string>>;
34
+ export declare const urlField: () => zod.ZodPipe<zod.ZodString, zod.ZodTransform<string, string>>;
35
+ export declare const rsqlField: () => zod.ZodPipe<zod.ZodString, zod.ZodTransform<string, string>>;
36
+ /**
37
+ * Converts a Zod schema to a TypeScript type definition string
38
+ */
39
+ export declare const zodSchemaToTypeScript: (schema: zod.ZodType, indent?: number) => string;