@enterprisestandard/react-validators-zod 0.0.5 → 0.0.6

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.
@@ -0,0 +1,146 @@
1
+ import { CreateTenantRequest, CreateTenantResponse, ESValidators, GroupResource, IdTokenClaims, JWTAssertionClaims, OidcCallbackParams, ScimUser, TokenResponse, WorkloadTokenResponse } from "@enterprisestandard/core";
2
+ import { StandardSchemaV1 } from "@standard-schema/spec";
3
+ /**
4
+ * Individual Zod schema factories for custom usage
5
+ */
6
+ declare const zodValidators: {
7
+ /**
8
+ * Creates a Zod validator for OIDC callback parameters
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import { zodValidators } from '@enterprisestandard/react-validators-zod';
13
+ *
14
+ * const callbackParams = zodValidators.oidcCallbackParams();
15
+ * ```
16
+ */
17
+ oidcCallbackParams: () => StandardSchemaV1<unknown, OidcCallbackParams>;
18
+ /**
19
+ * Creates a Zod validator for ID token claims
20
+ * Use .extend() to add custom claims validation
21
+ *
22
+ * @example Extending with custom claims
23
+ * ```typescript
24
+ * import { zodValidators } from '@enterprisestandard/react-validators-zod';
25
+ * import { z } from 'zod';
26
+ *
27
+ * const customClaimsSchema = (zodValidators.idTokenClaims() as any)
28
+ * .extend({
29
+ * custom_claim: z.string(),
30
+ * roles: z.array(z.string()),
31
+ * });
32
+ * ```
33
+ */
34
+ idTokenClaims: () => StandardSchemaV1<unknown, IdTokenClaims>;
35
+ /**
36
+ * Creates a Zod validator for token responses from IdP
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * import { zodValidators } from '@enterprisestandard/react-validators-zod';
41
+ *
42
+ * const tokenResponse = zodValidators.tokenResponse();
43
+ * ```
44
+ */
45
+ tokenResponse: () => StandardSchemaV1<unknown, TokenResponse>;
46
+ /**
47
+ * Creates a Zod validator for SCIM User resources
48
+ * Use .extend() to add custom SCIM extensions
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * import { zodValidators } from '@enterprisestandard/react-validators-zod';
53
+ *
54
+ * const userValidator = zodValidators.scimUser();
55
+ * ```
56
+ *
57
+ * @example Extending with custom SCIM schema extensions
58
+ * ```typescript
59
+ * import { zodValidators } from '@enterprisestandard/react-validators-zod';
60
+ * import { z } from 'zod';
61
+ *
62
+ * const customUserSchema = (zodValidators.scimUser() as any)
63
+ * .extend({
64
+ * 'urn:ietf:params:scim:schemas:extension:custom:2.0:User': z.object({
65
+ * customField: z.string(),
66
+ * }),
67
+ * });
68
+ * ```
69
+ */
70
+ scimUser: () => StandardSchemaV1<unknown, ScimUser>;
71
+ /**
72
+ * Creates a Zod validator for SCIM Group resources
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * import { zodValidators } from '@enterprisestandard/react-validators-zod';
77
+ *
78
+ * const groupValidator = zodValidators.scimGroup();
79
+ * ```
80
+ */
81
+ scimGroup: () => StandardSchemaV1<unknown, GroupResource>;
82
+ /**
83
+ * Creates a Zod validator for JWT Assertion Claims (workload identity)
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * import { zodValidators } from '@enterprisestandard/react-validators-zod';
88
+ *
89
+ * const jwtClaims = zodValidators.jwtAssertionClaims();
90
+ * ```
91
+ */
92
+ jwtAssertionClaims: () => StandardSchemaV1<unknown, JWTAssertionClaims>;
93
+ /**
94
+ * Creates a Zod validator for workload token responses
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * import { zodValidators } from '@enterprisestandard/react-validators-zod';
99
+ *
100
+ * const workloadToken = zodValidators.workloadTokenResponse();
101
+ * ```
102
+ */
103
+ workloadTokenResponse: () => StandardSchemaV1<unknown, WorkloadTokenResponse>;
104
+ /**
105
+ * Creates a Zod validator for tenant creation requests
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * import { zodValidators } from '@enterprisestandard/react-validators-zod';
110
+ *
111
+ * const tenantRequest = zodValidators.createTenantRequest();
112
+ * ```
113
+ */
114
+ createTenantRequest: () => StandardSchemaV1<unknown, CreateTenantRequest>;
115
+ /**
116
+ * Creates a Zod validator for tenant creation responses
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * import { zodValidators } from '@enterprisestandard/react-validators-zod';
121
+ *
122
+ * const tenantResponse = zodValidators.createTenantResponse();
123
+ * ```
124
+ */
125
+ createTenantResponse: () => StandardSchemaV1<unknown, CreateTenantResponse>;
126
+ };
127
+ /**
128
+ * Pre-built Zod validators for Enterprise Standard
129
+ *
130
+ * These validators implement the StandardSchemaV1 interface and can be used
131
+ * directly in Enterprise Standard configuration
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * import { createValidators } from '@enterprisestandard/react-validators-zod';
136
+ *
137
+ * const validators = createValidators();
138
+ *
139
+ * const es = await enterpriseStandard(appId, {
140
+ * validators: createValidators(),
141
+ * // ... other config
142
+ * });
143
+ * ```
144
+ */
145
+ declare function createValidators(): ESValidators;
146
+ export { zodValidators, createValidators };
package/dist/index.js CHANGED
@@ -1,81 +1 @@
1
- // src/index.ts
2
- import { z } from "zod";
3
- function createZodValidators() {
4
- const oidcCallbackParamsSchema = z.object({
5
- code: z.string(),
6
- state: z.string().optional(),
7
- session_state: z.string().optional(),
8
- error: z.string().optional(),
9
- error_description: z.string().optional(),
10
- error_uri: z.string().optional(),
11
- iss: z.string().optional()
12
- });
13
- const idTokenClaimsSchema = z.object({
14
- sub: z.string().optional(),
15
- iss: z.string().optional(),
16
- aud: z.string().optional(),
17
- exp: z.number().optional(),
18
- iat: z.number().optional(),
19
- sid: z.string().optional(),
20
- name: z.string().optional(),
21
- email: z.string().email().optional(),
22
- preferred_username: z.string().optional(),
23
- picture: z.string().url().optional()
24
- }).passthrough();
25
- const tokenResponseSchema = z.object({
26
- access_token: z.string(),
27
- id_token: z.string(),
28
- refresh_token: z.string().optional(),
29
- token_type: z.string(),
30
- expires_in: z.number().optional(),
31
- scope: z.string().optional(),
32
- refresh_expires_in: z.number().optional(),
33
- session_state: z.string().optional(),
34
- expires: z.string().optional()
35
- });
36
- return {
37
- callbackParams: oidcCallbackParamsSchema,
38
- idTokenClaims: idTokenClaimsSchema,
39
- tokenResponse: tokenResponseSchema
40
- };
41
- }
42
- var zodValidators = {
43
- oidcCallbackParams: () => z.object({
44
- code: z.string(),
45
- state: z.string().optional(),
46
- session_state: z.string().optional(),
47
- error: z.string().optional(),
48
- error_description: z.string().optional(),
49
- error_uri: z.string().optional(),
50
- iss: z.string().optional()
51
- }),
52
- idTokenClaims: () => z.object({
53
- sub: z.string().optional(),
54
- iss: z.string().optional(),
55
- aud: z.string().optional(),
56
- exp: z.number().optional(),
57
- iat: z.number().optional(),
58
- sid: z.string().optional(),
59
- name: z.string().optional(),
60
- email: z.string().email().optional(),
61
- preferred_username: z.string().optional(),
62
- picture: z.string().url().optional()
63
- }).passthrough(),
64
- tokenResponse: () => z.object({
65
- access_token: z.string(),
66
- id_token: z.string(),
67
- refresh_token: z.string().optional(),
68
- token_type: z.string(),
69
- expires_in: z.number().optional(),
70
- scope: z.string().optional(),
71
- refresh_expires_in: z.number().optional(),
72
- session_state: z.string().optional(),
73
- expires: z.string().optional()
74
- })
75
- };
76
- export {
77
- zodValidators,
78
- createZodValidators
79
- };
80
-
81
- //# debugId=819BE06CE5B7432064756E2164756E21
1
+ import{z as j}from"zod";var k={oidcCallbackParams:()=>j.object({code:j.string(),state:j.string().optional(),session_state:j.string().optional(),error:j.string().optional(),error_description:j.string().optional(),error_uri:j.string().optional(),iss:j.string().optional()}),idTokenClaims:()=>j.object({sub:j.string().optional(),iss:j.string().optional(),aud:j.string().optional(),exp:j.number().optional(),iat:j.number().optional(),sid:j.string().optional(),name:j.string().optional(),email:j.string().email().optional(),preferred_username:j.string().optional(),picture:j.string().url().optional()}).passthrough(),tokenResponse:()=>j.object({access_token:j.string(),id_token:j.string(),refresh_token:j.string().optional(),token_type:j.string(),expires_in:j.number().optional(),scope:j.string().optional(),refresh_expires_in:j.number().optional(),session_state:j.string().optional(),expires:j.string().optional()}),scimUser:()=>{let q=j.object({formatted:j.string().optional(),familyName:j.string().optional(),givenName:j.string().optional(),middleName:j.string().optional(),honorificPrefix:j.string().optional(),honorificSuffix:j.string().optional()}),A=j.object({value:j.string().email(),display:j.string().optional(),type:j.string().optional(),primary:j.boolean().optional()}),B=j.object({value:j.string(),display:j.string().optional(),type:j.string().optional(),primary:j.boolean().optional()}),C=j.object({formatted:j.string().optional(),streetAddress:j.string().optional(),locality:j.string().optional(),region:j.string().optional(),postalCode:j.string().optional(),country:j.string().optional(),type:j.string().optional(),primary:j.boolean().optional()}),D=j.object({value:j.string(),$ref:j.string().optional(),display:j.string().optional(),type:j.string().optional()}),F=j.object({value:j.string(),display:j.string().optional(),type:j.string().optional(),primary:j.boolean().optional()}),G=j.object({employeeNumber:j.string().optional(),costCenter:j.string().optional(),organization:j.string().optional(),division:j.string().optional(),department:j.string().optional(),manager:j.object({value:j.string().optional(),$ref:j.string().optional(),displayName:j.string().optional()}).optional()});return j.object({id:j.string().optional(),externalId:j.string().optional(),meta:j.object({resourceType:j.string().optional(),created:j.string().optional(),lastModified:j.string().optional(),location:j.string().optional(),version:j.string().optional()}).optional(),userName:j.string(),name:q.optional(),displayName:j.string().optional(),nickName:j.string().optional(),profileUrl:j.string().url().optional(),title:j.string().optional(),userType:j.string().optional(),preferredLanguage:j.string().optional(),locale:j.string().optional(),timezone:j.string().optional(),active:j.boolean().optional(),password:j.string().optional(),emails:j.array(A).optional(),phoneNumbers:j.array(B).optional(),ims:j.array(j.object({value:j.string(),display:j.string().optional(),type:j.string().optional(),primary:j.boolean().optional()})).optional(),photos:j.array(j.object({value:j.string(),display:j.string().optional(),type:j.string().optional(),primary:j.boolean().optional()})).optional(),addresses:j.array(C).optional(),groups:j.array(D).optional(),entitlements:j.array(j.object({value:j.string(),display:j.string().optional(),type:j.string().optional(),primary:j.boolean().optional()})).optional(),roles:j.array(F).optional(),x509Certificates:j.array(j.object({value:j.string(),display:j.string().optional(),type:j.string().optional(),primary:j.boolean().optional()})).optional(),"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User":G.optional(),schemas:j.array(j.string()).optional()})},scimGroup:()=>{let q=j.object({value:j.string(),$ref:j.string().optional(),display:j.string().optional(),type:j.enum(["User","Group"]).optional()});return j.object({id:j.string().optional(),externalId:j.string().optional(),meta:j.object({resourceType:j.string().optional(),created:j.string().optional(),lastModified:j.string().optional(),location:j.string().optional(),version:j.string().optional()}).optional(),displayName:j.string(),members:j.array(q).optional(),schemas:j.array(j.string()).optional()})},jwtAssertionClaims:()=>j.object({iss:j.string(),sub:j.string(),aud:j.union([j.string(),j.array(j.string())]).optional(),exp:j.number(),iat:j.number(),jti:j.string().optional(),scope:j.string().optional()}).passthrough(),workloadTokenResponse:()=>j.object({access_token:j.string(),token_type:j.string(),expires_in:j.number().optional(),scope:j.string().optional(),refresh_token:j.string().optional(),expires:j.string().optional()}),createTenantRequest:()=>j.object({appId:j.string(),companyId:j.string(),companyName:j.string(),environmentType:j.enum(["POC","DEV","QA","PROD"]),email:j.string().email(),webhookUrl:j.string().url(),tenantUrl:j.string()}),createTenantResponse:()=>j.object({tenantUrl:j.string().url(),status:j.enum(["pending","processing","completed","failed"])})};function J(){return{sso:{callbackParams:k.oidcCallbackParams(),idTokenClaims:k.idTokenClaims(),tokenResponse:k.tokenResponse()},iam:{user:k.scimUser(),group:k.scimGroup()},workload:{jwtAssertionClaims:k.jwtAssertionClaims(),tokenResponse:k.workloadTokenResponse()},tenant:{createTenantRequest:k.createTenantRequest()}}}export{k as zodValidators,J as createValidators};
package/package.json CHANGED
@@ -1,42 +1,30 @@
1
1
  {
2
2
  "name": "@enterprisestandard/react-validators-zod",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "Zod validators for @enterprisestandard/react SSO/OIDC flows",
5
5
  "type": "module",
6
- "main": "./dist/index.js",
7
- "module": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "import": "./dist/index.js",
12
- "types": "./dist/index.d.ts"
13
- }
6
+ "author": "Enterprise Standard",
7
+ "license": "Proprietary",
8
+ "dependencies": {
9
+ "@enterprisestandard/core": "workspace:*",
10
+ "zod": "^3.24.1"
11
+ },
12
+ "devDependencies": {
13
+ "typescript": "^5.7.3"
14
14
  },
15
15
  "files": [
16
16
  "dist"
17
17
  ],
18
- "scripts": {
19
- "build": "bun run build.ts",
20
- "prepublishOnly": "bun run build"
21
- },
22
- "keywords": [
23
- "enterprisestandard",
24
- "oidc",
25
- "oauth",
26
- "sso",
27
- "validation",
28
- "zod",
29
- "standardschema"
30
- ],
31
- "author": "Enterprise Standard",
32
- "license": "MIT",
33
- "peerDependencies": {
34
- "@enterprisestandard/react": "^0.0.5",
35
- "zod": "^3.23.0 || ^4.0.0"
36
- },
37
- "devDependencies": {
38
- "@enterprisestandard/react": "workspace:*",
39
- "typescript": "^5.7.3",
40
- "zod": "^3.24.1"
18
+ "module": "./dist/index.js",
19
+ "types": "./dist/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "import": {
23
+ "types": "./dist/index.d.ts",
24
+ "default": "./dist/index.js"
25
+ }
26
+ },
27
+ "./styles.css": "./dist/index.css",
28
+ "./package.json": "./package.json"
41
29
  }
42
30
  }
package/dist/index.js.map DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/index.ts"],
4
- "sourcesContent": [
5
- "import { z } from 'zod';\nimport type { StandardSchemaV1 } from '@enterprisestandard/react';\nimport type { OidcCallbackParams, TokenResponse, IdTokenClaims } from '@enterprisestandard/react';\n\n/**\n * Pre-built Zod validators for OIDC/SSO flows\n *\n * These validators implement the StandardSchemaV1 interface and can be used\n * directly in SSOHandlerConfig.validation\n *\n * @example\n * ```typescript\n * import { createZodValidators } from '@enterprisestandard/react-validators-zod';\n *\n * const validators = createZodValidators();\n *\n * const ssoConfig: SSOHandlerConfig = {\n * loginUrl: '/api/auth/login',\n * validation: validators,\n * };\n * ```\n */\nexport function createZodValidators() {\n const oidcCallbackParamsSchema = z.object({\n code: z.string(),\n state: z.string().optional(),\n session_state: z.string().optional(),\n error: z.string().optional(),\n error_description: z.string().optional(),\n error_uri: z.string().optional(),\n iss: z.string().optional(),\n });\n\n const idTokenClaimsSchema = z\n .object({\n sub: z.string().optional(),\n iss: z.string().optional(),\n aud: z.string().optional(),\n exp: z.number().optional(),\n iat: z.number().optional(),\n sid: z.string().optional(),\n name: z.string().optional(),\n email: z.string().email().optional(),\n preferred_username: z.string().optional(),\n picture: z.string().url().optional(),\n })\n .passthrough(); // Allow additional claims\n\n const tokenResponseSchema = z.object({\n access_token: z.string(),\n id_token: z.string(),\n refresh_token: z.string().optional(),\n token_type: z.string(),\n expires_in: z.number().optional(),\n scope: z.string().optional(),\n refresh_expires_in: z.number().optional(),\n session_state: z.string().optional(),\n expires: z.string().optional(),\n });\n\n return {\n callbackParams: oidcCallbackParamsSchema as unknown as StandardSchemaV1<unknown, OidcCallbackParams>,\n idTokenClaims: idTokenClaimsSchema as unknown as StandardSchemaV1<unknown, IdTokenClaims>,\n tokenResponse: tokenResponseSchema as unknown as StandardSchemaV1<unknown, TokenResponse>,\n };\n}\n\n/**\n * Individual Zod schema factories for custom usage\n */\nexport const zodValidators = {\n /**\n * Creates a Zod validator for OIDC callback parameters\n *\n * @example\n * ```typescript\n * import { zodValidators } from '@enterprisestandard/react-validators-zod';\n *\n * const callbackParams = zodValidators.oidcCallbackParams();\n * ```\n */\n oidcCallbackParams: () =>\n z.object({\n code: z.string(),\n state: z.string().optional(),\n session_state: z.string().optional(),\n error: z.string().optional(),\n error_description: z.string().optional(),\n error_uri: z.string().optional(),\n iss: z.string().optional(),\n }) as unknown as StandardSchemaV1<unknown, OidcCallbackParams>,\n\n /**\n * Creates a Zod validator for ID token claims\n * Use .extend() to add custom claims validation\n *\n * @example Extending with custom claims\n * ```typescript\n * import { zodValidators } from '@enterprisestandard/react-validators-zod';\n * import { z } from 'zod';\n *\n * const customClaimsSchema = (zodValidators.idTokenClaims() as any)\n * .extend({\n * custom_claim: z.string(),\n * roles: z.array(z.string()),\n * });\n * ```\n */\n idTokenClaims: () =>\n z\n .object({\n sub: z.string().optional(),\n iss: z.string().optional(),\n aud: z.string().optional(),\n exp: z.number().optional(),\n iat: z.number().optional(),\n sid: z.string().optional(),\n name: z.string().optional(),\n email: z.string().email().optional(),\n preferred_username: z.string().optional(),\n picture: z.string().url().optional(),\n })\n .passthrough() as unknown as StandardSchemaV1<unknown, IdTokenClaims>,\n\n /**\n * Creates a Zod validator for token responses from IdP\n *\n * @example\n * ```typescript\n * import { zodValidators } from '@enterprisestandard/react-validators-zod';\n *\n * const tokenResponse = zodValidators.tokenResponse();\n * ```\n */\n tokenResponse: () =>\n z.object({\n access_token: z.string(),\n id_token: z.string(),\n refresh_token: z.string().optional(),\n token_type: z.string(),\n expires_in: z.number().optional(),\n scope: z.string().optional(),\n refresh_expires_in: z.number().optional(),\n session_state: z.string().optional(),\n expires: z.string().optional(),\n }) as unknown as StandardSchemaV1<unknown, TokenResponse>,\n};\n"
6
- ],
7
- "mappings": "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",
8
- "debugId": "819BE06CE5B7432064756E2164756E21",
9
- "names": []
10
- }