@envseal/registry 0.1.2 → 0.1.4

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/schema.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- declare const ProviderKeySchema: z.ZodObject<{
2
+ declare const ProviderKeySchema: z.ZodEffects<z.ZodObject<{
3
3
  envVar: z.ZodString;
4
4
  description: z.ZodString;
5
5
  format: z.ZodObject<{
@@ -81,12 +81,52 @@ declare const ProviderKeySchema: z.ZodObject<{
81
81
  headerTemplate: Record<string, string>;
82
82
  expectStatus?: number[] | undefined;
83
83
  } | undefined;
84
+ }>, {
85
+ envVar: string;
86
+ description: string;
87
+ format: {
88
+ example: string;
89
+ pattern?: string | undefined;
90
+ prefix?: string | undefined;
91
+ minLength?: number | undefined;
92
+ maxLength?: number | undefined;
93
+ };
94
+ signupUrl?: string | undefined;
95
+ docsUrl?: string | undefined;
96
+ rotateUrl?: string | undefined;
97
+ scopesNeeded?: string[] | undefined;
98
+ verify?: {
99
+ method: "GET" | "POST";
100
+ url: string;
101
+ headerTemplate: Record<string, string>;
102
+ expectStatus?: number[] | undefined;
103
+ } | undefined;
104
+ }, {
105
+ envVar: string;
106
+ description: string;
107
+ format: {
108
+ example: string;
109
+ pattern?: string | undefined;
110
+ prefix?: string | undefined;
111
+ minLength?: number | undefined;
112
+ maxLength?: number | undefined;
113
+ };
114
+ signupUrl?: string | undefined;
115
+ docsUrl?: string | undefined;
116
+ rotateUrl?: string | undefined;
117
+ scopesNeeded?: string[] | undefined;
118
+ verify?: {
119
+ method: "GET" | "POST";
120
+ url: string;
121
+ headerTemplate: Record<string, string>;
122
+ expectStatus?: number[] | undefined;
123
+ } | undefined;
84
124
  }>;
85
125
  declare const ProviderSchema: z.ZodObject<{
86
126
  id: z.ZodString;
87
127
  name: z.ZodString;
88
128
  category: z.ZodEnum<["llm", "database", "payments", "auth", "infra", "observability", "email", "messaging", "vcs", "other"]>;
89
- keys: z.ZodArray<z.ZodObject<{
129
+ keys: z.ZodArray<z.ZodEffects<z.ZodObject<{
90
130
  envVar: z.ZodString;
91
131
  description: z.ZodString;
92
132
  format: z.ZodObject<{
@@ -168,6 +208,46 @@ declare const ProviderSchema: z.ZodObject<{
168
208
  headerTemplate: Record<string, string>;
169
209
  expectStatus?: number[] | undefined;
170
210
  } | undefined;
211
+ }>, {
212
+ envVar: string;
213
+ description: string;
214
+ format: {
215
+ example: string;
216
+ pattern?: string | undefined;
217
+ prefix?: string | undefined;
218
+ minLength?: number | undefined;
219
+ maxLength?: number | undefined;
220
+ };
221
+ signupUrl?: string | undefined;
222
+ docsUrl?: string | undefined;
223
+ rotateUrl?: string | undefined;
224
+ scopesNeeded?: string[] | undefined;
225
+ verify?: {
226
+ method: "GET" | "POST";
227
+ url: string;
228
+ headerTemplate: Record<string, string>;
229
+ expectStatus?: number[] | undefined;
230
+ } | undefined;
231
+ }, {
232
+ envVar: string;
233
+ description: string;
234
+ format: {
235
+ example: string;
236
+ pattern?: string | undefined;
237
+ prefix?: string | undefined;
238
+ minLength?: number | undefined;
239
+ maxLength?: number | undefined;
240
+ };
241
+ signupUrl?: string | undefined;
242
+ docsUrl?: string | undefined;
243
+ rotateUrl?: string | undefined;
244
+ scopesNeeded?: string[] | undefined;
245
+ verify?: {
246
+ method: "GET" | "POST";
247
+ url: string;
248
+ headerTemplate: Record<string, string>;
249
+ expectStatus?: number[] | undefined;
250
+ } | undefined;
171
251
  }>, "many">;
172
252
  }, "strict", z.ZodTypeAny, {
173
253
  keys: {
package/dist/schema.js CHANGED
@@ -19,7 +19,27 @@ const ProviderKeySchema = z.object({
19
19
  headerTemplate: z.record(z.string()),
20
20
  expectStatus: z.array(z.number().int()).optional(),
21
21
  }).optional(),
22
- }).strict();
22
+ })
23
+ .strict()
24
+ .superRefine((key, ctx) => {
25
+ if (!key.verify) {
26
+ return;
27
+ }
28
+ if (!key.verify.url.startsWith('https://')) {
29
+ ctx.addIssue({
30
+ code: z.ZodIssueCode.custom,
31
+ path: ['verify', 'url'],
32
+ message: 'verify.url must start with https://',
33
+ });
34
+ }
35
+ if (key.verify.url.includes('{{value}}')) {
36
+ ctx.addIssue({
37
+ code: z.ZodIssueCode.custom,
38
+ path: ['verify', 'url'],
39
+ message: 'verify.url must not contain {{value}}',
40
+ });
41
+ }
42
+ });
23
43
  const ProviderSchema = z.object({
24
44
  id: z.string(),
25
45
  name: z.string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@envseal/registry",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -7,7 +7,7 @@
7
7
  "envVar": "ANTHROPIC_API_KEY",
8
8
  "description": "API key for Anthropic Claude API access",
9
9
  "format": {
10
- "pattern": "^sk-ant-[A-Za-z0-9_-]{20,}$",
10
+ "pattern": "^sk-ant-[A-Za-z0-9_-]{20,256}$",
11
11
  "prefix": "sk-ant-",
12
12
  "minLength": 20,
13
13
  "example": "sk-ant-XXXXXXXXXXXXXXXXXXXXXXXX"
@@ -28,7 +28,7 @@
28
28
  "envVar": "AUTH0_CLIENT_SECRET",
29
29
  "description": "Auth0 client secret",
30
30
  "format": {
31
- "pattern": "^[A-Za-z0-9_-]{32,}$",
31
+ "pattern": "^[A-Za-z0-9_-]{32,256}$",
32
32
  "minLength": 32,
33
33
  "example": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
34
34
  },
@@ -31,7 +31,7 @@
31
31
  "envVar": "AZURE_CLIENT_SECRET",
32
32
  "description": "Azure client secret",
33
33
  "format": {
34
- "pattern": "^[A-Za-z0-9._~-]{32,}$",
34
+ "pattern": "^[A-Za-z0-9._~-]{32,256}$",
35
35
  "minLength": 32,
36
36
  "example": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
37
37
  },
@@ -7,7 +7,7 @@
7
7
  "envVar": "CLERK_SECRET_KEY",
8
8
  "description": "Clerk secret key",
9
9
  "format": {
10
- "pattern": "^sk_[a-z]+_[A-Za-z0-9_-]{32,}$",
10
+ "pattern": "^sk_[a-z]+_[A-Za-z0-9_-]{32,256}$",
11
11
  "prefix": "sk_",
12
12
  "minLength": 32,
13
13
  "example": "sk_xxxx_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
@@ -20,7 +20,7 @@
20
20
  "envVar": "CLERK_PUBLISHABLE_KEY",
21
21
  "description": "Clerk publishable key",
22
22
  "format": {
23
- "pattern": "^pk_[a-z]+_[A-Za-z0-9_-]{32,}$",
23
+ "pattern": "^pk_[a-z]+_[A-Za-z0-9_-]{32,256}$",
24
24
  "prefix": "pk_",
25
25
  "minLength": 32,
26
26
  "example": "pk_xxxx_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "CLOUDFLARE_API_TOKEN",
8
8
  "description": "Cloudflare API token",
9
9
  "format": {
10
- "pattern": "^[A-Za-z0-9_-]{40,}$",
10
+ "pattern": "^[A-Za-z0-9_-]{40,256}$",
11
11
  "minLength": 40,
12
12
  "example": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
13
13
  },
@@ -7,7 +7,7 @@
7
7
  "envVar": "COHERE_API_KEY",
8
8
  "description": "Cohere API key",
9
9
  "format": {
10
- "pattern": "^[A-Za-z0-9_-]{32,}$",
10
+ "pattern": "^[A-Za-z0-9_-]{32,256}$",
11
11
  "minLength": 32,
12
12
  "example": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
13
13
  },
@@ -7,7 +7,7 @@
7
7
  "envVar": "DEEPSEEK_API_KEY",
8
8
  "description": "DeepSeek API key",
9
9
  "format": {
10
- "pattern": "^sk-[A-Za-z0-9_-]{32,}$",
10
+ "pattern": "^sk-[A-Za-z0-9_-]{32,256}$",
11
11
  "prefix": "sk-",
12
12
  "minLength": 32,
13
13
  "example": "sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "DISCORD_BOT_TOKEN",
8
8
  "description": "Discord bot token",
9
9
  "format": {
10
- "pattern": "^[A-Za-z0-9_-]{24}\\.[A-Za-z0-9_-]{6}\\.[A-Za-z0-9_-]{38,}$",
10
+ "pattern": "^[A-Za-z0-9_-]{24}\\.[A-Za-z0-9_-]{6}\\.[A-Za-z0-9_-]{38,256}$",
11
11
  "minLength": 68,
12
12
  "example": "XXXXXXXXXXXXXXXXXXXXXXXX.XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
13
13
  },
@@ -7,7 +7,7 @@
7
7
  "envVar": "GITHUB_TOKEN",
8
8
  "description": "Personal access token for GitHub API",
9
9
  "format": {
10
- "pattern": "^(ghp_|github_pat_)[A-Za-z0-9_]{36,}$",
10
+ "pattern": "^(ghp_|github_pat_)[A-Za-z0-9_]{36,256}$",
11
11
  "prefix": "ghp_",
12
12
  "minLength": 36,
13
13
  "example": "ghp_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "GITLAB_TOKEN",
8
8
  "description": "GitLab personal access token",
9
9
  "format": {
10
- "pattern": "^glpat-[A-Za-z0-9_-]{20,}$",
10
+ "pattern": "^glpat-[A-Za-z0-9_-]{20,256}$",
11
11
  "prefix": "glpat-",
12
12
  "minLength": 20,
13
13
  "example": "glpat-XXXXXXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "GROQ_API_KEY",
8
8
  "description": "Groq API key",
9
9
  "format": {
10
- "pattern": "^gsk_[A-Za-z0-9_-]{32,}$",
10
+ "pattern": "^gsk_[A-Za-z0-9_-]{32,256}$",
11
11
  "prefix": "gsk_",
12
12
  "minLength": 32,
13
13
  "example": "gsk_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "HUGGINGFACE_API_KEY",
8
8
  "description": "Hugging Face API key",
9
9
  "format": {
10
- "pattern": "^hf_[A-Za-z0-9_-]{32,}$",
10
+ "pattern": "^hf_[A-Za-z0-9_-]{32,256}$",
11
11
  "prefix": "hf_",
12
12
  "minLength": 32,
13
13
  "example": "hf_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "LINEAR_API_KEY",
8
8
  "description": "Linear API key",
9
9
  "format": {
10
- "pattern": "^lin_[A-Za-z0-9_-]{40,}$",
10
+ "pattern": "^lin_[A-Za-z0-9_-]{40,256}$",
11
11
  "prefix": "lin_",
12
12
  "minLength": 40,
13
13
  "example": "lin_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "MISTRAL_API_KEY",
8
8
  "description": "Mistral AI API key",
9
9
  "format": {
10
- "pattern": "^[A-Za-z0-9_-]{32,}$",
10
+ "pattern": "^[A-Za-z0-9_-]{32,256}$",
11
11
  "minLength": 32,
12
12
  "example": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
13
13
  },
@@ -17,7 +17,7 @@
17
17
  "envVar": "NEON_API_KEY",
18
18
  "description": "Neon API key",
19
19
  "format": {
20
- "pattern": "^[A-Za-z0-9_-]{32,}$",
20
+ "pattern": "^[A-Za-z0-9_-]{32,256}$",
21
21
  "minLength": 32,
22
22
  "example": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
23
23
  },
@@ -7,7 +7,7 @@
7
7
  "envVar": "NETLIFY_TOKEN",
8
8
  "description": "Netlify API token",
9
9
  "format": {
10
- "pattern": "^[A-Za-z0-9_-]{32,}$",
10
+ "pattern": "^[A-Za-z0-9_-]{32,256}$",
11
11
  "minLength": 32,
12
12
  "example": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
13
13
  },
@@ -7,7 +7,7 @@
7
7
  "envVar": "NOTION_API_KEY",
8
8
  "description": "Notion API key",
9
9
  "format": {
10
- "pattern": "^ntn_[A-Za-z0-9_-]{64,}$",
10
+ "pattern": "^ntn_[A-Za-z0-9_-]{64,256}$",
11
11
  "prefix": "ntn_",
12
12
  "minLength": 64,
13
13
  "example": "ntn_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "OPENAI_API_KEY",
8
8
  "description": "API key for OpenAI API access",
9
9
  "format": {
10
- "pattern": "^sk-[A-Za-z0-9_-]{20,}$",
10
+ "pattern": "^sk-[A-Za-z0-9_-]{20,256}$",
11
11
  "prefix": "sk-",
12
12
  "minLength": 20,
13
13
  "example": "sk-XXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "OPENROUTER_API_KEY",
8
8
  "description": "OpenRouter API key",
9
9
  "format": {
10
- "pattern": "^sk-or-[A-Za-z0-9_-]{32,}$",
10
+ "pattern": "^sk-or-[A-Za-z0-9_-]{32,256}$",
11
11
  "prefix": "sk-or-",
12
12
  "minLength": 32,
13
13
  "example": "sk-or-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "POSTHOG_API_KEY",
8
8
  "description": "PostHog API key",
9
9
  "format": {
10
- "pattern": "^phc_[A-Za-z0-9_-]{32,}$",
10
+ "pattern": "^phc_[A-Za-z0-9_-]{32,256}$",
11
11
  "prefix": "phc_",
12
12
  "minLength": 32,
13
13
  "example": "phc_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "RESEND_API_KEY",
8
8
  "description": "Resend email API key",
9
9
  "format": {
10
- "pattern": "^re_[A-Za-z0-9_-]{32,}$",
10
+ "pattern": "^re_[A-Za-z0-9_-]{32,256}$",
11
11
  "prefix": "re_",
12
12
  "minLength": 32,
13
13
  "example": "re_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "SENDGRID_API_KEY",
8
8
  "description": "SendGrid email API key",
9
9
  "format": {
10
- "pattern": "^SG\\.[A-Za-z0-9_-]{64,}$",
10
+ "pattern": "^SG\\.[A-Za-z0-9_-]{64,256}$",
11
11
  "prefix": "SG.",
12
12
  "minLength": 64,
13
13
  "example": "SG.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
@@ -7,7 +7,7 @@
7
7
  "envVar": "SLACK_BOT_TOKEN",
8
8
  "description": "Slack bot API token",
9
9
  "format": {
10
- "pattern": "^xoxb-[A-Za-z0-9_-]+-[A-Za-z0-9_-]+-[A-Za-z0-9_-]{24,}$",
10
+ "pattern": "^xoxb-[A-Za-z0-9_-]+-[A-Za-z0-9_-]+-[A-Za-z0-9_-]{24,256}$",
11
11
  "prefix": "xoxb-",
12
12
  "minLength": 32,
13
13
  "example": "xoxb-XXXX-XXXX-XXXXXXXXXXXXXXXXXXXXXXXX"
@@ -19,7 +19,7 @@
19
19
  "envVar": "SLACK_SIGNING_SECRET",
20
20
  "description": "Slack signing secret",
21
21
  "format": {
22
- "pattern": "^[A-Za-z0-9]{32,}$",
22
+ "pattern": "^[A-Za-z0-9]{32,256}$",
23
23
  "minLength": 32,
24
24
  "example": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
25
25
  },
@@ -7,7 +7,7 @@
7
7
  "envVar": "STRIPE_SECRET_KEY",
8
8
  "description": "Stripe secret API key",
9
9
  "format": {
10
- "pattern": "^sk_(live|test)_[A-Za-z0-9_-]{24,}$",
10
+ "pattern": "^sk_(live|test)_[A-Za-z0-9_-]{24,256}$",
11
11
  "prefix": "sk_test_",
12
12
  "minLength": 32,
13
13
  "example": "sk_test_XXXXXXXXXXXXXXXXXXXXXXXX"
@@ -28,7 +28,7 @@
28
28
  "envVar": "STRIPE_PUBLISHABLE_KEY",
29
29
  "description": "Stripe publishable API key",
30
30
  "format": {
31
- "pattern": "^pk_(live|test)_[A-Za-z0-9_-]{24,}$",
31
+ "pattern": "^pk_(live|test)_[A-Za-z0-9_-]{24,256}$",
32
32
  "prefix": "pk_test_",
33
33
  "minLength": 32,
34
34
  "example": "pk_test_XXXXXXXXXXXXXXXXXXXXXXXX"
@@ -16,7 +16,7 @@
16
16
  "envVar": "SUPABASE_ANON_KEY",
17
17
  "description": "Supabase anonymous key",
18
18
  "format": {
19
- "pattern": "^[A-Za-z0-9_-]{32,}$",
19
+ "pattern": "^[A-Za-z0-9_-]{32,256}$",
20
20
  "minLength": 32,
21
21
  "example": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
22
22
  },
@@ -27,7 +27,7 @@
27
27
  "envVar": "SUPABASE_SERVICE_ROLE_KEY",
28
28
  "description": "Supabase service role key",
29
29
  "format": {
30
- "pattern": "^[A-Za-z0-9_-]{32,}$",
30
+ "pattern": "^[A-Za-z0-9_-]{32,256}$",
31
31
  "minLength": 32,
32
32
  "example": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
33
33
  },