@eide/uniformgen 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.
@@ -100,20 +100,20 @@ export async function login(options) {
100
100
  reject(new Error('Invalid state parameter'));
101
101
  return;
102
102
  }
103
- // Derive admin URL from API URL (api-dev.eide.app -> admin-dev.eide.app)
103
+ // Derive main URL from API URL (api.foir.build -> foir.build)
104
104
  const apiHost = new URL(options.apiUrl).host;
105
- const adminHost = apiHost.replace(/^api/, 'admin');
106
- const adminUrl = `https://${adminHost}`;
105
+ const mainHost = apiHost.replace(/^api\./, '');
106
+ const mainUrl = `https://${mainHost}`;
107
107
  res.writeHead(200, { 'Content-Type': 'text/html' });
108
108
  res.end(`
109
109
  <html>
110
110
  <head>
111
- <meta http-equiv="refresh" content="2;url=${adminUrl}">
111
+ <meta http-equiv="refresh" content="2;url=${mainUrl}">
112
112
  </head>
113
113
  <body style="font-family: system-ui; text-align: center; padding: 50px;">
114
114
  <h1>Authentication successful!</h1>
115
- <p>Redirecting to admin panel...</p>
116
- <p style="color: #666; font-size: 14px;">If not redirected, <a href="${adminUrl}">click here</a>.</p>
115
+ <p>Redirecting...</p>
116
+ <p style="color: #666; font-size: 14px;">If not redirected, <a href="${mainUrl}">click here</a>.</p>
117
117
  </body>
118
118
  </html>
119
119
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAaA,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAmVD;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkJ9D"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAaA,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAmXD;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8J9D"}
@@ -41,17 +41,46 @@ async function fetchRemoteSchemas(apiUrl, accessToken, tenantId, projectId) {
41
41
  `,
42
42
  }),
43
43
  });
44
- if (!response.ok) {
45
- const errorText = await response.text().catch(() => 'No response body');
44
+ // Parse response body regardless of status code
45
+ // GraphQL can return errors with 200 or 500 status
46
+ const responseText = await response.text().catch(() => 'No response body');
47
+ let result;
48
+ try {
49
+ result = JSON.parse(responseText);
50
+ }
51
+ catch {
46
52
  console.error(`[Debug] API URL: ${apiUrl}`);
47
53
  console.error(`[Debug] Response status: ${response.status}`);
48
- console.error(`[Debug] Response body: ${errorText.substring(0, 500)}`);
49
- throw new Error(`Failed to fetch schemas: ${response.statusText}`);
54
+ console.error(`[Debug] Response body: ${responseText.substring(0, 500)}`);
55
+ throw new Error(`Failed to fetch schemas: Invalid JSON response`);
50
56
  }
51
- const result = (await response.json());
57
+ // Check for GraphQL errors
52
58
  if (result.errors && result.errors.length > 0) {
59
+ const firstError = result.errors[0];
60
+ const errorCode = firstError?.extensions?.code;
61
+ const errorMessage = firstError?.message ?? 'Unknown error';
62
+ console.error(`[Debug] API URL: ${apiUrl}`);
63
+ console.error(`[Debug] Response status: ${response.status}`);
53
64
  console.error(`[Debug] GraphQL errors:`, JSON.stringify(result.errors, null, 2));
54
- throw new Error(`GraphQL error: ${result.errors[0]?.message ?? 'Unknown error'}`);
65
+ // Provide helpful hints for common errors
66
+ if (errorCode === 'UNAUTHENTICATED' || errorMessage.includes('Session expired')) {
67
+ throw new Error(`Authentication failed: ${errorMessage}\n` +
68
+ `Your session may have expired. Run 'uniformgen login' to re-authenticate.`);
69
+ }
70
+ if (errorMessage === 'Unexpected error.' || errorMessage === 'Unexpected error') {
71
+ throw new Error(`Server error: The API returned an unexpected error.\n` +
72
+ `This may be a temporary issue. If it persists, check:\n` +
73
+ ` - Your session is valid (run 'uniformgen login')\n` +
74
+ ` - The API is accessible at ${apiUrl}\n` +
75
+ ` - You have access to the selected project`);
76
+ }
77
+ throw new Error(`GraphQL error: ${errorMessage}`);
78
+ }
79
+ // Check HTTP status after checking for GraphQL errors
80
+ if (!response.ok && !result.data) {
81
+ console.error(`[Debug] API URL: ${apiUrl}`);
82
+ console.error(`[Debug] Response status: ${response.status}`);
83
+ throw new Error(`Failed to fetch schemas: ${response.statusText}`);
55
84
  }
56
85
  const models = new Map();
57
86
  for (const model of result.data?.entityModels?.items ?? []) {
@@ -241,6 +270,15 @@ export async function push(options) {
241
270
  console.log('No project selected. Run `uniformgen select-project` first.');
242
271
  process.exit(1);
243
272
  }
273
+ // Validate that accessToken looks like a session token, not an API key
274
+ // Session tokens are typically UUIDs or similar, not prefixed with pk_/sk_
275
+ if (credentials.accessToken.startsWith('pk_') || credentials.accessToken.startsWith('sk_')) {
276
+ console.log(chalk.red('Error: Invalid access token format.'));
277
+ console.log(chalk.yellow('Your credentials file contains an API key instead of a session token.\n' +
278
+ 'This can happen if credentials were manually edited.\n\n' +
279
+ 'To fix this, run `uniformgen logout` then `uniformgen login` to get fresh credentials.'));
280
+ process.exit(1);
281
+ }
244
282
  console.log(`Syncing schemas to project: ${credentials.selectedProject.name}\n`);
245
283
  // Load local schemas
246
284
  console.log(`Loading schemas from ${options.schemasDir}...`);
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-schemas.d.ts","sourceRoot":"","sources":["../../src/fetcher/fetch-schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-schemas.d.ts","sourceRoot":"","sources":["../../src/fetcher/fetch-schemas.ts"],"names":[],"mappings":"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"}
@@ -41,12 +41,14 @@ function getInternalGraphQLEndpoint(apiUrl) {
41
41
  * Extracts CMS config from extensions.cms (flattened structure)
42
42
  */
43
43
  function transformEntityModel(raw) {
44
+ // Defensive: metadata might be null/undefined in some edge cases
45
+ const metadata = raw.metadata ?? {};
44
46
  return {
45
47
  key: raw.key,
46
- name: raw.metadata.name,
47
- pluralName: raw.metadata.pluralName,
48
- description: raw.metadata.description,
49
- category: raw.metadata.category,
48
+ name: metadata.name ?? raw.key, // Fall back to key if name is missing
49
+ pluralName: metadata.pluralName,
50
+ description: metadata.description,
51
+ category: metadata.category,
50
52
  tier: raw.schema?.tier ?? 2, // Default to tier 2 (versioned, no variants)
51
53
  editorMode: raw.editorMode,
52
54
  fields: raw.schema?.fields || [],
@@ -12,7 +12,7 @@
12
12
  */
13
13
  import type { EntityModel } from '../../fetcher/fetch-schemas.js';
14
14
  export { generateCmsTypes } from './types.js';
15
- export { hasRoutingEnabled, getRoutableModels, generateResolveRouteReact, generateResolveRouteRemix, } from './route.js';
15
+ export { hasRoutingEnabled, getRoutableModels, generateResolveRouteReact, generateResolveRouteRemix, generateEntityRoutesReact, generateEntityRoutesRemix, generateResolveEntitiesReact, generateResolveEntitiesRemix, } from './route.js';
16
16
  /**
17
17
  * Check if CMS generation is needed
18
18
  * Returns true if any model has cms.enabled = true
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/cms/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAkDnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAmDnE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/cms/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAmEnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAoEnE"}
@@ -11,7 +11,7 @@
11
11
  * @generated by UniformGen
12
12
  */
13
13
  export { generateCmsTypes } from './types.js';
14
- export { hasRoutingEnabled, getRoutableModels, generateResolveRouteReact, generateResolveRouteRemix, } from './route.js';
14
+ export { hasRoutingEnabled, getRoutableModels, generateResolveRouteReact, generateResolveRouteRemix, generateEntityRoutesReact, generateEntityRoutesRemix, generateResolveEntitiesReact, generateResolveEntitiesRemix, } from './route.js';
15
15
  /**
16
16
  * Check if CMS generation is needed
17
17
  * Returns true if any model has cms.enabled = true
@@ -51,6 +51,23 @@ export {
51
51
  type RoutableModelKey,
52
52
  } from './route.js';
53
53
 
54
+ // Entity routes hooks
55
+ export {
56
+ useGetEntityRoutes,
57
+ useGetEntitiesRoutes,
58
+ type EntityRouteWithContext,
59
+ type EntityRouteInfo,
60
+ type GetEntitiesRoutesResult,
61
+ } from './entity-routes.js';
62
+
63
+ // Batch entity resolution hook
64
+ export {
65
+ useResolveEntities,
66
+ type ResolvedEntityContent,
67
+ type ResolvedEntityBatchResult,
68
+ type ResolveEntitiesResult,
69
+ } from './resolve-entities.js';
70
+
54
71
  // Types
55
72
  export type {
56
73
  ResolvedRoute,
@@ -104,6 +121,23 @@ export {
104
121
  type GraphQLClient,
105
122
  } from './route.js';
106
123
 
124
+ // Entity routes functions
125
+ export {
126
+ getEntityRoutes,
127
+ getEntitiesRoutes,
128
+ type EntityRouteWithContext,
129
+ type EntityRouteInfo,
130
+ type GetEntitiesRoutesResult,
131
+ } from './entity-routes.js';
132
+
133
+ // Batch entity resolution function
134
+ export {
135
+ resolveEntities,
136
+ type ResolvedEntityContent,
137
+ type ResolvedEntityBatchResult,
138
+ type ResolveEntitiesResult,
139
+ } from './resolve-entities.js';
140
+
107
141
  // Types
108
142
  export type {
109
143
  ResolvedRoute,
@@ -24,4 +24,20 @@ export declare function generateResolveRouteReact(routableModels: EntityModel[])
24
24
  * Generate Remix/Hydrogen resolveRoute function
25
25
  */
26
26
  export declare function generateResolveRouteRemix(routableModels: EntityModel[]): string;
27
+ /**
28
+ * Generate React hooks for entity routes lookup
29
+ */
30
+ export declare function generateEntityRoutesReact(routableModels: EntityModel[]): string;
31
+ /**
32
+ * Generate Remix/Hydrogen functions for entity routes lookup
33
+ */
34
+ export declare function generateEntityRoutesRemix(routableModels: EntityModel[]): string;
35
+ /**
36
+ * Generate React hook for batch entity content resolution
37
+ */
38
+ export declare function generateResolveEntitiesReact(routableModels: EntityModel[]): string;
39
+ /**
40
+ * Generate Remix/Hydrogen function for batch entity content resolution
41
+ */
42
+ export declare function generateResolveEntitiesRemix(routableModels: EntityModel[]): string;
27
43
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/generators/cms/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAEtE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,CAsM/E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,CA0M/E"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/generators/cms/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAEtE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,CAsM/E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,CA0M/E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,CAmO/E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,CA+N/E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,CAyOlF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,CAkPlF"}