@oaysus/cli 0.1.13 → 0.1.14

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 (84) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +151 -85
  3. package/dist/cli.js.map +1 -1
  4. package/dist/components/App.d.ts +26 -10
  5. package/dist/components/App.d.ts.map +1 -1
  6. package/dist/components/App.js +23 -8
  7. package/dist/components/App.js.map +1 -1
  8. package/dist/components/SlashCommands.js +1 -1
  9. package/dist/lib/push.d.ts.map +1 -1
  10. package/dist/lib/push.js +29 -1
  11. package/dist/lib/push.js.map +1 -1
  12. package/dist/lib/shared/commands.d.ts +11 -1
  13. package/dist/lib/shared/commands.d.ts.map +1 -1
  14. package/dist/lib/shared/commands.js +55 -13
  15. package/dist/lib/shared/commands.js.map +1 -1
  16. package/dist/lib/shared/uploader.d.ts +1 -0
  17. package/dist/lib/shared/uploader.d.ts.map +1 -1
  18. package/dist/lib/shared/uploader.js +4 -2
  19. package/dist/lib/shared/uploader.js.map +1 -1
  20. package/dist/lib/site/asset-puller.d.ts +93 -0
  21. package/dist/lib/site/asset-puller.d.ts.map +1 -0
  22. package/dist/lib/site/asset-puller.js +376 -0
  23. package/dist/lib/site/asset-puller.js.map +1 -0
  24. package/dist/lib/site/asset-resolver.d.ts +44 -0
  25. package/dist/lib/site/asset-resolver.d.ts.map +1 -0
  26. package/dist/lib/site/asset-resolver.js +225 -0
  27. package/dist/lib/site/asset-resolver.js.map +1 -0
  28. package/dist/lib/site/asset-uploader.d.ts +58 -0
  29. package/dist/lib/site/asset-uploader.d.ts.map +1 -0
  30. package/dist/lib/site/asset-uploader.js +261 -0
  31. package/dist/lib/site/asset-uploader.js.map +1 -0
  32. package/dist/lib/site/index.d.ts +14 -0
  33. package/dist/lib/site/index.d.ts.map +1 -0
  34. package/dist/lib/site/index.js +15 -0
  35. package/dist/lib/site/index.js.map +1 -0
  36. package/dist/lib/site/metadata.d.ts +99 -0
  37. package/dist/lib/site/metadata.d.ts.map +1 -0
  38. package/dist/lib/site/metadata.js +470 -0
  39. package/dist/lib/site/metadata.js.map +1 -0
  40. package/dist/lib/site/page-publisher.d.ts +51 -0
  41. package/dist/lib/site/page-publisher.d.ts.map +1 -0
  42. package/dist/lib/site/page-publisher.js +460 -0
  43. package/dist/lib/site/page-publisher.js.map +1 -0
  44. package/dist/lib/site/page-puller.d.ts +93 -0
  45. package/dist/lib/site/page-puller.d.ts.map +1 -0
  46. package/dist/lib/site/page-puller.js +346 -0
  47. package/dist/lib/site/page-puller.js.map +1 -0
  48. package/dist/lib/site/page-validator.d.ts +29 -0
  49. package/dist/lib/site/page-validator.d.ts.map +1 -0
  50. package/dist/lib/site/page-validator.js +282 -0
  51. package/dist/lib/site/page-validator.js.map +1 -0
  52. package/dist/lib/site/project-loader.d.ts +45 -0
  53. package/dist/lib/site/project-loader.d.ts.map +1 -0
  54. package/dist/lib/site/project-loader.js +276 -0
  55. package/dist/lib/site/project-loader.js.map +1 -0
  56. package/dist/lib/site/shared-component-resolver.d.ts +89 -0
  57. package/dist/lib/site/shared-component-resolver.d.ts.map +1 -0
  58. package/dist/lib/site/shared-component-resolver.js +222 -0
  59. package/dist/lib/site/shared-component-resolver.js.map +1 -0
  60. package/dist/screens/WelcomeScreen.d.ts +26 -10
  61. package/dist/screens/WelcomeScreen.d.ts.map +1 -1
  62. package/dist/screens/WelcomeScreen.js +44 -21
  63. package/dist/screens/WelcomeScreen.js.map +1 -1
  64. package/dist/screens/site/SiteInitScreen.d.ts +12 -0
  65. package/dist/screens/site/SiteInitScreen.d.ts.map +1 -0
  66. package/dist/screens/site/SiteInitScreen.js +282 -0
  67. package/dist/screens/site/SiteInitScreen.js.map +1 -0
  68. package/dist/screens/site/SitePublishScreen.d.ts +15 -0
  69. package/dist/screens/site/SitePublishScreen.d.ts.map +1 -0
  70. package/dist/screens/site/SitePublishScreen.js +330 -0
  71. package/dist/screens/site/SitePublishScreen.js.map +1 -0
  72. package/dist/screens/site/SitePullScreen.d.ts +14 -0
  73. package/dist/screens/site/SitePullScreen.d.ts.map +1 -0
  74. package/dist/screens/site/SitePullScreen.js +455 -0
  75. package/dist/screens/site/SitePullScreen.js.map +1 -0
  76. package/dist/screens/site/SiteValidateScreen.d.ts +12 -0
  77. package/dist/screens/site/SiteValidateScreen.d.ts.map +1 -0
  78. package/dist/screens/site/SiteValidateScreen.js +201 -0
  79. package/dist/screens/site/SiteValidateScreen.js.map +1 -0
  80. package/dist/types/site.d.ts +348 -0
  81. package/dist/types/site.d.ts.map +1 -0
  82. package/dist/types/site.js +6 -0
  83. package/dist/types/site.js.map +1 -0
  84. package/package.json +1 -1
@@ -0,0 +1,201 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { Box, Text } from 'ink';
3
+ import path from 'path';
4
+ import { Logo } from '../../components/Logo.js';
5
+ import { Spinner } from '../../components/Spinner.js';
6
+ import { loadProject, validateProject } from '../../lib/site/index.js';
7
+ import { loadCredentials } from '../../lib/shared/auth.js';
8
+ export function SiteValidateScreen({ projectPath = '.', onExit, sessionHistory: externalHistory, addToHistory: externalAddToHistory, removeFromHistory: externalRemoveFromHistory }) {
9
+ const [screen, setScreen] = useState('loading');
10
+ const [validationResult, setValidationResult] = useState(null);
11
+ const [error, setError] = useState('');
12
+ const [directory] = useState(path.resolve(projectPath));
13
+ const [userEmail, setUserEmail] = useState(null);
14
+ // Internal history management for standalone mode
15
+ const [internalHistory, setInternalHistory] = useState([]);
16
+ const isStandalone = !externalAddToHistory;
17
+ const sessionHistory = isStandalone ? internalHistory : (externalHistory || []);
18
+ const addToHistory = isStandalone
19
+ ? (entry) => {
20
+ setInternalHistory(prev => {
21
+ const entries = Array.isArray(entry) ? entry : [entry];
22
+ return [...prev, ...entries];
23
+ });
24
+ }
25
+ : externalAddToHistory;
26
+ const removeFromHistory = isStandalone
27
+ ? (spinnerId) => {
28
+ setInternalHistory(prev => prev.filter(e => e.spinnerId !== spinnerId));
29
+ }
30
+ : externalRemoveFromHistory;
31
+ useEffect(() => {
32
+ const runValidation = async () => {
33
+ // Add command to history
34
+ if (addToHistory) {
35
+ addToHistory({
36
+ type: 'info',
37
+ content: '❯ /site validate',
38
+ color: 'cyan',
39
+ spinnerId: sessionHistory.length > 0 ? 'command-separator' : undefined
40
+ });
41
+ }
42
+ try {
43
+ // Load credentials for email display
44
+ const creds = await loadCredentials();
45
+ if (creds?.email) {
46
+ setUserEmail(creds.email);
47
+ }
48
+ // Add loading spinner
49
+ if (addToHistory) {
50
+ addToHistory({
51
+ type: 'spinner',
52
+ content: 'Loading website project...',
53
+ spinnerId: 'loading'
54
+ });
55
+ }
56
+ // Load project
57
+ setScreen('loading');
58
+ const project = await loadProject(projectPath);
59
+ if (project.errors.length > 0 && project.pages.length === 0) {
60
+ if (removeFromHistory) {
61
+ removeFromHistory('loading');
62
+ }
63
+ if (addToHistory) {
64
+ addToHistory({
65
+ type: 'error',
66
+ content: `✗ ${project.errors.join(', ')}`
67
+ });
68
+ }
69
+ setError(project.errors.join('\n'));
70
+ setScreen('error');
71
+ return;
72
+ }
73
+ // Remove loading, add validating
74
+ if (removeFromHistory) {
75
+ removeFromHistory('loading');
76
+ }
77
+ if (addToHistory) {
78
+ addToHistory({
79
+ type: 'spinner',
80
+ content: 'Validating pages against installed components...',
81
+ spinnerId: 'validating'
82
+ });
83
+ }
84
+ // Validate project
85
+ setScreen('validating');
86
+ const result = await validateProject(project);
87
+ // Remove validating spinner
88
+ if (removeFromHistory) {
89
+ removeFromHistory('validating');
90
+ }
91
+ setValidationResult(result);
92
+ if (result.valid) {
93
+ if (addToHistory) {
94
+ addToHistory([
95
+ {
96
+ type: 'success',
97
+ content: `✓ All ${result.pages.length} pages validated successfully`
98
+ },
99
+ ...(result.allAssets.length > 0 ? [{
100
+ type: 'info',
101
+ content: ` Assets: ${result.allAssets.length}`,
102
+ color: 'dim'
103
+ }] : []),
104
+ ...(result.totalWarnings > 0 ? [{
105
+ type: 'info',
106
+ content: ` Warnings: ${result.totalWarnings}`,
107
+ color: 'yellow'
108
+ }] : [])
109
+ ]);
110
+ }
111
+ setScreen('success');
112
+ }
113
+ else {
114
+ if (addToHistory) {
115
+ const errorLines = [
116
+ { type: 'error', content: '✗ Validation failed', color: undefined, spinnerId: undefined }
117
+ ];
118
+ // Add page errors
119
+ for (const page of result.pages) {
120
+ if (!page.valid) {
121
+ for (const err of page.errors) {
122
+ errorLines.push({
123
+ type: 'info',
124
+ content: ` ${page.pageFile}: ${err}`,
125
+ color: 'dim'
126
+ });
127
+ }
128
+ }
129
+ }
130
+ addToHistory(errorLines);
131
+ }
132
+ setScreen('error');
133
+ }
134
+ }
135
+ catch (err) {
136
+ const errorMsg = err instanceof Error ? err.message : 'Unknown error';
137
+ if (removeFromHistory) {
138
+ removeFromHistory('loading');
139
+ removeFromHistory('validating');
140
+ }
141
+ if (addToHistory) {
142
+ addToHistory({
143
+ type: 'error',
144
+ content: `✗ ${errorMsg}`
145
+ });
146
+ }
147
+ setError(errorMsg);
148
+ setScreen('error');
149
+ }
150
+ };
151
+ runValidation();
152
+ }, [projectPath]);
153
+ // Auto-exit after showing result
154
+ useEffect(() => {
155
+ if (screen === 'success' || screen === 'error') {
156
+ const timer = setTimeout(() => {
157
+ if (onExit)
158
+ onExit();
159
+ }, 2000);
160
+ return () => clearTimeout(timer);
161
+ }
162
+ }, [screen, onExit]);
163
+ return (React.createElement(Box, { flexDirection: "column" },
164
+ React.createElement(Logo, { directory: directory, userEmail: userEmail }),
165
+ sessionHistory.length > 0 && (React.createElement(Box, { flexDirection: "column", marginTop: 1 }, sessionHistory.map((entry, index) => {
166
+ const uniqueKey = `history-${index}-${entry.type}-${entry.spinnerId || ''}`;
167
+ if (entry.type === 'success') {
168
+ const hasCheckmark = entry.content.startsWith('✓ ');
169
+ if (hasCheckmark) {
170
+ const text = entry.content.substring(2);
171
+ return (React.createElement(Box, { key: uniqueKey },
172
+ React.createElement(Text, { color: "green" }, "\u2713 "),
173
+ React.createElement(Text, null, text)));
174
+ }
175
+ return React.createElement(Box, { key: uniqueKey },
176
+ React.createElement(Text, { color: "green" }, entry.content));
177
+ }
178
+ else if (entry.type === 'spinner') {
179
+ return (React.createElement(Box, { key: uniqueKey },
180
+ React.createElement(Spinner, { type: "dots", color: "cyan", message: entry.content })));
181
+ }
182
+ else if (entry.type === 'error') {
183
+ return React.createElement(Box, { key: uniqueKey },
184
+ React.createElement(Text, { color: "red" }, entry.content));
185
+ }
186
+ else {
187
+ const needsTopMargin = entry.spinnerId === 'command-separator';
188
+ return (React.createElement(Box, { key: uniqueKey, marginTop: needsTopMargin ? 1 : 0 },
189
+ React.createElement(Text, { color: entry.color === 'dim' ? undefined : entry.color, dimColor: entry.color === 'dim' }, entry.content)));
190
+ }
191
+ }))),
192
+ React.createElement(Box, { flexDirection: "column" },
193
+ React.createElement(Text, { dimColor: true }, '─'.repeat(process.stdout.columns || 80)),
194
+ React.createElement(Box, null,
195
+ React.createElement(Text, { dimColor: true }, "\u276F "),
196
+ React.createElement(Text, { dimColor: true }, "/site validate")),
197
+ React.createElement(Text, { dimColor: true }, '─'.repeat(process.stdout.columns || 80))),
198
+ (screen === 'success' || screen === 'error') && (React.createElement(Box, { marginTop: 1, paddingX: 2 },
199
+ React.createElement(Text, { dimColor: true }, "Returning to menu...")))));
200
+ }
201
+ //# sourceMappingURL=SiteValidateScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SiteValidateScreen.js","sourceRoot":"","sources":["../../../src/screens/site/SiteValidateScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,348 @@
1
+ /**
2
+ * Site Types
3
+ * Type definitions for website projects and page publishing
4
+ */
5
+ /**
6
+ * Website project configuration (oaysus.website.json)
7
+ */
8
+ export interface WebsiteConfig {
9
+ /** Optional website ID. Falls back to CLI credentials if not specified */
10
+ websiteId?: string;
11
+ /** Theme pack names installed on this website (for validation hints) */
12
+ themePacks?: string[];
13
+ }
14
+ /**
15
+ * Page definition format (pages/*.json)
16
+ */
17
+ export interface PageDefinition {
18
+ /** URL slug (e.g., '/', '/about', '/pricing') */
19
+ slug: string;
20
+ /** Page title */
21
+ title: string;
22
+ /** Page description for SEO */
23
+ description?: string;
24
+ /** Whether this is the homepage */
25
+ isHomePage?: boolean;
26
+ /** Array of component instances */
27
+ components: ComponentInstance[];
28
+ /** Page settings (SEO, layout, etc.) */
29
+ settings?: PageSettings;
30
+ }
31
+ /**
32
+ * Component instance within a page
33
+ */
34
+ export interface ComponentInstance {
35
+ /** Component type/name (must match installed component) */
36
+ type: string;
37
+ /** Optional unique ID for this instance */
38
+ id?: string;
39
+ /** Component props */
40
+ props: Record<string, unknown>;
41
+ /** Component-level settings */
42
+ settings?: Record<string, unknown>;
43
+ /** Whether this component should be shared across pages */
44
+ shared?: boolean;
45
+ /** Optional name for the shared component */
46
+ sharedName?: string;
47
+ /** Global component ID (set after resolution or when pulled from server) */
48
+ globalId?: string;
49
+ }
50
+ /**
51
+ * Page settings
52
+ */
53
+ export interface PageSettings {
54
+ seo?: SEOSettings;
55
+ layout?: LayoutSettings;
56
+ scripts?: ScriptSettings;
57
+ }
58
+ /**
59
+ * SEO settings for a page
60
+ */
61
+ export interface SEOSettings {
62
+ metaTitle?: string;
63
+ metaDescription?: string;
64
+ ogTitle?: string;
65
+ ogDescription?: string;
66
+ ogImage?: string;
67
+ noIndex?: boolean;
68
+ noFollow?: boolean;
69
+ }
70
+ /**
71
+ * Layout settings for a page
72
+ */
73
+ export interface LayoutSettings {
74
+ maxWidth?: 'full' | 'container' | 'narrow';
75
+ padding?: 'none' | 'small' | 'medium' | 'large';
76
+ }
77
+ /**
78
+ * Script settings for a page
79
+ */
80
+ export interface ScriptSettings {
81
+ headScripts?: string[];
82
+ bodyScripts?: string[];
83
+ }
84
+ /**
85
+ * Reference to a local asset found in component props
86
+ */
87
+ export interface AssetReference {
88
+ /** Local path (e.g., './assets/hero.jpg') */
89
+ localPath: string;
90
+ /** JSON path to the property (e.g., ['components', 0, 'props', 'backgroundImage']) */
91
+ propPath: (string | number)[];
92
+ /** Page file this asset is referenced in */
93
+ pageFile: string;
94
+ }
95
+ /**
96
+ * Resolved asset with R2 URL
97
+ */
98
+ export interface ResolvedAsset extends AssetReference {
99
+ /** R2 public URL after upload */
100
+ r2Url: string;
101
+ /** MIME type */
102
+ contentType: string;
103
+ /** File size in bytes */
104
+ size: number;
105
+ }
106
+ /**
107
+ * Uploaded asset info from DAM
108
+ * This is what gets stored in component props for image fields
109
+ */
110
+ export interface UploadedAssetInfo {
111
+ /** Asset ID in DAM */
112
+ id: string;
113
+ /** R2 public URL */
114
+ url: string;
115
+ /** Image width in pixels */
116
+ width?: number;
117
+ /** Image height in pixels */
118
+ height?: number;
119
+ /** Alt text */
120
+ alt?: string;
121
+ /** Original alt text from DAM */
122
+ assetAlt?: string;
123
+ }
124
+ /**
125
+ * Validation result for a single page
126
+ */
127
+ export interface PageValidationResult {
128
+ /** Whether the page is valid */
129
+ valid: boolean;
130
+ /** Page file name */
131
+ pageFile: string;
132
+ /** Page slug */
133
+ slug: string;
134
+ /** Validation errors */
135
+ errors: string[];
136
+ /** Validation warnings */
137
+ warnings: string[];
138
+ /** Components that could not be found */
139
+ unresolvedComponents: string[];
140
+ /** Local asset references found */
141
+ localAssets: AssetReference[];
142
+ }
143
+ /**
144
+ * Validation result for entire site
145
+ */
146
+ export interface SiteValidationResult {
147
+ /** Whether all pages are valid */
148
+ valid: boolean;
149
+ /** Validation results per page */
150
+ pages: PageValidationResult[];
151
+ /** Total error count */
152
+ totalErrors: number;
153
+ /** Total warning count */
154
+ totalWarnings: number;
155
+ /** All local assets across all pages */
156
+ allAssets: AssetReference[];
157
+ }
158
+ /**
159
+ * Result of publishing a single page
160
+ */
161
+ export interface PublishPageResult {
162
+ /** Page slug */
163
+ slug: string;
164
+ /** Action taken */
165
+ action: 'created' | 'updated' | 'skipped' | 'failed';
166
+ /** Page ID (if created/updated) */
167
+ pageId?: string;
168
+ /** Error message (if failed) */
169
+ error?: string;
170
+ }
171
+ /**
172
+ * Result of entire publish operation
173
+ */
174
+ export interface PublishResult {
175
+ /** Overall success */
176
+ success: boolean;
177
+ /** Results per page */
178
+ pages: PublishPageResult[];
179
+ /** Number of assets uploaded */
180
+ assetsUploaded: number;
181
+ /** Number of pages created */
182
+ created: number;
183
+ /** Number of pages updated */
184
+ updated: number;
185
+ /** Number of errors */
186
+ errors: number;
187
+ }
188
+ /**
189
+ * Installed component info from API
190
+ */
191
+ export interface InstalledComponent {
192
+ id: string;
193
+ name: string;
194
+ displayName: string;
195
+ sourceThemePackId: string;
196
+ sourceThemePackName?: string;
197
+ schema?: Record<string, unknown>;
198
+ }
199
+ /**
200
+ * Loaded website project
201
+ */
202
+ export interface LoadedProject {
203
+ /** Project root directory */
204
+ projectPath: string;
205
+ /** Website configuration */
206
+ config: WebsiteConfig;
207
+ /** Loaded page definitions */
208
+ pages: Array<{
209
+ file: string;
210
+ definition: PageDefinition;
211
+ }>;
212
+ /** Load errors */
213
+ errors: string[];
214
+ }
215
+ /**
216
+ * Project configuration stored in .oaysus/config.json
217
+ */
218
+ export interface OaysusConfig {
219
+ /** Version of config format */
220
+ version: 1;
221
+ /** Website ID this project is linked to */
222
+ websiteId: string;
223
+ /** Website name for display */
224
+ websiteName?: string;
225
+ /** Website subdomain */
226
+ subdomain?: string;
227
+ /** Last time metadata was synced from server */
228
+ lastSyncedAt?: string;
229
+ }
230
+ /**
231
+ * Component schema property definition
232
+ */
233
+ export interface ComponentSchemaProperty {
234
+ type: string;
235
+ title?: string;
236
+ description?: string;
237
+ default?: unknown;
238
+ enum?: unknown[];
239
+ items?: ComponentSchemaProperty;
240
+ properties?: Record<string, ComponentSchemaProperty>;
241
+ }
242
+ /**
243
+ * Component schema definition
244
+ */
245
+ export interface ComponentSchema {
246
+ type?: string;
247
+ properties?: Record<string, ComponentSchemaProperty>;
248
+ required?: string[];
249
+ }
250
+ /**
251
+ * Component definition in the catalog
252
+ */
253
+ export interface CatalogComponent {
254
+ /** Full component type name (e.g., "fitness-starter_GymHero") */
255
+ type: string;
256
+ /** Display name for humans */
257
+ displayName: string;
258
+ /** Component description */
259
+ description?: string;
260
+ /** Category for organization */
261
+ category?: string;
262
+ /** Component prop schema */
263
+ schema?: ComponentSchema;
264
+ /** Default prop values */
265
+ defaultProps?: Record<string, unknown>;
266
+ /** Whether this component should be shared by default */
267
+ defaultShared?: boolean;
268
+ }
269
+ /**
270
+ * Theme pack in the catalog
271
+ */
272
+ export interface CatalogThemePack {
273
+ /** Theme pack ID */
274
+ id: string;
275
+ /** Theme pack name */
276
+ name: string;
277
+ /** Installed version */
278
+ version?: string;
279
+ /** Whether currently installed on the website */
280
+ installed: boolean;
281
+ /** Components in this theme pack */
282
+ components: CatalogComponent[];
283
+ }
284
+ /**
285
+ * Component catalog stored in .oaysus/components.json
286
+ */
287
+ export interface ComponentCatalog {
288
+ /** Version of catalog format */
289
+ version: 1;
290
+ /** When the catalog was last synced */
291
+ lastSyncedAt: string;
292
+ /** Website ID this catalog is for */
293
+ websiteId: string;
294
+ /** Theme packs and their components */
295
+ themePacks: CatalogThemePack[];
296
+ /** Quick lookup: all component types available */
297
+ allComponentTypes: string[];
298
+ }
299
+ /**
300
+ * Result of syncing component catalog
301
+ */
302
+ export interface ComponentCatalogSyncResult {
303
+ success: boolean;
304
+ catalog?: ComponentCatalog;
305
+ error?: string;
306
+ /** Number of components synced */
307
+ componentCount: number;
308
+ /** Number of theme packs synced */
309
+ themePackCount: number;
310
+ }
311
+ /**
312
+ * Result of initializing metadata
313
+ */
314
+ export interface MetadataInitResult {
315
+ success: boolean;
316
+ error?: string;
317
+ }
318
+ /**
319
+ * Asset manifest stored in .oaysus/assets.json
320
+ */
321
+ export interface AssetManifest {
322
+ /** Version of manifest format */
323
+ version: 1;
324
+ /** Map of filename to asset metadata */
325
+ assets: Record<string, AssetManifestEntry>;
326
+ }
327
+ /**
328
+ * Single asset entry in the manifest
329
+ */
330
+ export interface AssetManifestEntry {
331
+ /** CDN URL for the asset */
332
+ url: string;
333
+ /** MIME type */
334
+ contentType: string;
335
+ /** File size in bytes */
336
+ sizeInBytes: number;
337
+ /** Image width (if applicable) */
338
+ width?: number;
339
+ /** Image height (if applicable) */
340
+ height?: number;
341
+ /** Alt text for accessibility */
342
+ altText?: string;
343
+ /** Title/caption */
344
+ title?: string;
345
+ /** SHA-256 content hash for change detection */
346
+ contentHash: string;
347
+ }
348
+ //# sourceMappingURL=site.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../../src/types/site.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Site Types
3
+ * Type definitions for website projects and page publishing
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=site.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site.js","sourceRoot":"","sources":["../../src/types/site.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oaysus/cli",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "Oaysus CLI - Professional developer tool for component uploads",
5
5
  "type": "module",
6
6
  "bin": {