@guinetik/primitives-ts 0.1.0

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/README.md ADDED
@@ -0,0 +1,87 @@
1
+ # @guinetik/primitives-ts
2
+
3
+ Shared TypeScript primitives for Guinetik projects.
4
+
5
+ ## Overview
6
+
7
+ This package contains pure TypeScript type definitions and interfaces used across the Guinetik ecosystem. It provides a single source of truth for data contracts between frontend and backend applications.
8
+
9
+ ## Features
10
+
11
+ - ✅ **Pure TypeScript** - No runtime dependencies
12
+ - ✅ **Type-safe** - Full TypeScript support with declaration files
13
+ - ✅ **Lightweight** - Minimal bundle size
14
+ - ✅ **Universal** - Works in Node.js, browsers, and other JavaScript runtimes
15
+
16
+ ## Installation
17
+
18
+ ```bash
19
+ npm install @guinetik/primitives-ts
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```typescript
25
+ import { User, SystemMetrics, Container } from '@guinetik/primitives-ts';
26
+
27
+ // Use the types in your application
28
+ const user: User = {
29
+ uid: '123',
30
+ email: 'user@example.com',
31
+ displayName: 'John Doe'
32
+ };
33
+
34
+ const metrics: SystemMetrics = {
35
+ cpu: { usage: 45.2, cores: 4, model: 'Intel Xeon' },
36
+ memory: { used: 8, total: 16, percentage: 50 },
37
+ disk: { used: 100, total: 500, percentage: 20 },
38
+ uptime: 86400,
39
+ timestamp: new Date()
40
+ };
41
+ ```
42
+
43
+ ## Type Categories
44
+
45
+ ### Authentication (`auth.types.ts`)
46
+ - `User` - User information
47
+ - `AuthResponse` - Authentication response
48
+ - `AuthProvider` - Authentication provider types
49
+ - `UserUpdateData` - User profile update data
50
+ - `LoginPayload` - Login request payload
51
+
52
+ ### System Monitoring (`system.types.ts`)
53
+ - `SystemMetrics` - System metrics (CPU, memory, disk)
54
+ - `Container` - Docker container information
55
+ - `LogEntry` - Container log entry
56
+ - `NetworkStats` - Network statistics
57
+ - `DeploymentInfo` - Deployment information
58
+ - `CommandResult` - Shell command execution result
59
+
60
+ ### Website Content (`website.types.ts`)
61
+ - `SiteContent` - Full site content structure
62
+ - `SiteMetadata` - Site metadata
63
+ - `Menu`, `MenuItem` - Navigation menu
64
+ - `Theme`, `ThemeConfig` - Theme configuration
65
+ - `Card`, `Tag` - Project/demo cards with tags
66
+ - `Experiment` - CodePen experiments
67
+ - `AboutSection`, `ProjectsSection`, `DemosSection`, `ReposSection` - Content sections
68
+
69
+ ## Development
70
+
71
+ ```bash
72
+ # Build the package
73
+ npm run build
74
+
75
+ # The build output will be in the dist/ folder
76
+ ```
77
+
78
+ ## Publishing
79
+
80
+ ```bash
81
+ # Publish to npm (requires authentication)
82
+ npm publish --access public
83
+ ```
84
+
85
+ ## License
86
+
87
+ MIT © Guinetik
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Authentication Types
3
+ * Shared between API and Admin for authentication flows
4
+ */
5
+ /**
6
+ * Authentication provider types
7
+ */
8
+ export type AuthProvider = 'email' | 'google';
9
+ /**
10
+ * User information
11
+ */
12
+ export interface User {
13
+ /** Unique user identifier */
14
+ uid: string;
15
+ /** User's email address */
16
+ email?: string;
17
+ /** User's display name */
18
+ displayName?: string;
19
+ /** Whether the email has been verified */
20
+ emailVerified?: boolean;
21
+ /** URL to user's profile photo */
22
+ photoURL?: string;
23
+ }
24
+ /**
25
+ * Authentication response after successful login
26
+ */
27
+ export interface AuthResponse {
28
+ /** Authentication token (JWT, ID token, etc.) */
29
+ token: string;
30
+ /** Authenticated user information */
31
+ user: User;
32
+ /** Token expiration time in seconds */
33
+ expiresIn: number;
34
+ }
35
+ /**
36
+ * User profile update data
37
+ */
38
+ export interface UserUpdateData {
39
+ /** Updated display name */
40
+ displayName?: string;
41
+ /** Updated photo URL */
42
+ photoURL?: string;
43
+ /** Updated email */
44
+ email?: string;
45
+ }
46
+ /**
47
+ * Login request payload
48
+ */
49
+ export interface LoginPayload {
50
+ /** Authentication provider */
51
+ provider: AuthProvider;
52
+ /** Email (required for email provider) */
53
+ email?: string;
54
+ /** Password (required for email provider) */
55
+ password?: string;
56
+ }
57
+ //# sourceMappingURL=auth.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.types.d.ts","sourceRoot":"","sources":["../src/auth.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IAEZ,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IAEd,qCAAqC;IACrC,IAAI,EAAE,IAAI,CAAC;IAEX,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,QAAQ,EAAE,YAAY,CAAC;IAEvB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Authentication Types
4
+ * Shared between API and Admin for authentication flows
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @guinetik/primitives-ts
3
+ *
4
+ * Shared TypeScript primitives for Guinetik projects.
5
+ * Pure type definitions with no runtime dependencies.
6
+ *
7
+ * @author Guinetik
8
+ * @license MIT
9
+ */
10
+ export * from './auth.types';
11
+ export * from './system.types';
12
+ export * from './website.types';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,iBAAiB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * @guinetik/primitives-ts
4
+ *
5
+ * Shared TypeScript primitives for Guinetik projects.
6
+ * Pure type definitions with no runtime dependencies.
7
+ *
8
+ * @author Guinetik
9
+ * @license MIT
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
23
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ // Auth types
27
+ __exportStar(require("./auth.types"), exports);
28
+ // System monitoring types
29
+ __exportStar(require("./system.types"), exports);
30
+ // Website/Site content types
31
+ __exportStar(require("./website.types"), exports);
@@ -0,0 +1,161 @@
1
+ /**
2
+ * System Monitoring Types
3
+ * Shared between API and Admin for system monitoring features
4
+ */
5
+ /**
6
+ * CPU information
7
+ */
8
+ export interface CpuInfo {
9
+ /** CPU usage percentage (0-100) */
10
+ usage: number;
11
+ /** Number of CPU cores */
12
+ cores: number;
13
+ /** CPU model name */
14
+ model: string;
15
+ }
16
+ /**
17
+ * Memory information
18
+ */
19
+ export interface MemoryInfo {
20
+ /** Used memory in GB */
21
+ used: number;
22
+ /** Total memory in GB */
23
+ total: number;
24
+ /** Memory usage percentage (0-100) */
25
+ percentage: number;
26
+ }
27
+ /**
28
+ * Disk information
29
+ */
30
+ export interface DiskInfo {
31
+ /** Used disk space in GB */
32
+ used: number;
33
+ /** Total disk space in GB */
34
+ total: number;
35
+ /** Disk usage percentage (0-100) */
36
+ percentage: number;
37
+ }
38
+ /**
39
+ * System metrics
40
+ */
41
+ export interface SystemMetrics {
42
+ /** CPU information */
43
+ cpu: CpuInfo;
44
+ /** Memory information */
45
+ memory: MemoryInfo;
46
+ /** Disk information */
47
+ disk: DiskInfo;
48
+ /** System uptime in seconds */
49
+ uptime: number;
50
+ /** Timestamp when metrics were collected */
51
+ timestamp: Date;
52
+ }
53
+ /**
54
+ * Container status types
55
+ */
56
+ export type ContainerStatus = 'running' | 'stopped' | 'restarting' | 'error';
57
+ /**
58
+ * Container health status types
59
+ */
60
+ export type ContainerHealth = 'healthy' | 'unhealthy' | 'starting' | 'none';
61
+ /**
62
+ * Docker container information
63
+ */
64
+ export interface Container {
65
+ /** Container name */
66
+ name: string;
67
+ /** Container ID */
68
+ id: string;
69
+ /** Container status */
70
+ status: ContainerStatus;
71
+ /** Container uptime in seconds */
72
+ uptime: number;
73
+ /** CPU usage percentage (0-100) */
74
+ cpu: number;
75
+ /** Memory usage in MB */
76
+ memory: number;
77
+ /** Exposed port */
78
+ port: number;
79
+ /** Number of times container has restarted */
80
+ restartCount: number;
81
+ /** Docker image name */
82
+ image: string;
83
+ /** Container health status */
84
+ health: ContainerHealth;
85
+ }
86
+ /**
87
+ * Log level types
88
+ */
89
+ export type LogLevel = 'info' | 'warn' | 'error' | 'debug';
90
+ /**
91
+ * Container log entry
92
+ */
93
+ export interface LogEntry {
94
+ /** Log timestamp */
95
+ timestamp: Date;
96
+ /** Log level */
97
+ level: LogLevel;
98
+ /** Log message */
99
+ message: string;
100
+ /** Container name */
101
+ container: string;
102
+ }
103
+ /**
104
+ * Network statistics
105
+ */
106
+ export interface NetworkStats {
107
+ /** Total bytes received */
108
+ bytesReceived: number;
109
+ /** Total bytes sent */
110
+ bytesSent: number;
111
+ /** Requests per minute */
112
+ requestsPerMinute: number;
113
+ /** Active connections */
114
+ activeConnections: number;
115
+ }
116
+ /**
117
+ * Deployment status types
118
+ */
119
+ export type DeploymentStatus = 'success' | 'failed' | 'in_progress';
120
+ /**
121
+ * Deployment information
122
+ */
123
+ export interface DeploymentInfo {
124
+ /** Application version */
125
+ version: string;
126
+ /** Last deployment timestamp */
127
+ lastDeployment: Date;
128
+ /** User who deployed */
129
+ deployer: string;
130
+ /** Deployment status */
131
+ status: DeploymentStatus;
132
+ }
133
+ /**
134
+ * Shell command execution mode
135
+ */
136
+ export type CommandExecutionMode = 'whitelist' | 'blocklist';
137
+ /**
138
+ * Command execution request
139
+ */
140
+ export interface ExecuteCommandRequest {
141
+ /** Shell command to execute */
142
+ command: string;
143
+ /** Execution mode (whitelist or blocklist) */
144
+ mode?: CommandExecutionMode;
145
+ }
146
+ /**
147
+ * Command execution result
148
+ */
149
+ export interface CommandResult {
150
+ /** Standard output */
151
+ stdout: string;
152
+ /** Standard error */
153
+ stderr: string;
154
+ /** Exit code */
155
+ exitCode: number;
156
+ /** Execution timestamp */
157
+ executedAt: Date;
158
+ /** Executed command */
159
+ command: string;
160
+ }
161
+ //# sourceMappingURL=system.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.types.d.ts","sourceRoot":"","sources":["../src/system.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * System Monitoring Types
4
+ * Shared between API and Admin for system monitoring features
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Website/Site Content Types
3
+ * Shared between API and frontend for website content management
4
+ */
5
+ /**
6
+ * Menu item
7
+ */
8
+ export interface MenuItem {
9
+ /** Menu item title */
10
+ title: string;
11
+ /** Menu item ID */
12
+ id: string;
13
+ /** Menu item link/URL */
14
+ link: string;
15
+ }
16
+ /**
17
+ * Site menu structure
18
+ */
19
+ export interface Menu {
20
+ /** Main navigation menu items */
21
+ main: MenuItem[];
22
+ /** Mobile navigation menu items */
23
+ mobile: MenuItem[];
24
+ }
25
+ /**
26
+ * Theme configuration
27
+ */
28
+ export interface Theme {
29
+ /** Theme display name */
30
+ name: string;
31
+ /** Theme ID */
32
+ id: string;
33
+ }
34
+ /**
35
+ * Theme mappings for different components
36
+ */
37
+ export interface ThemeConfig {
38
+ /** Stats theme mapping (theme ID -> stats theme name) */
39
+ statsTheme: Record<string, string>;
40
+ /** Contributions theme mapping (theme ID -> contribs theme name) */
41
+ contribsTheme: Record<string, string>;
42
+ /** Stats background mapping (theme ID -> background color) */
43
+ statsBg: Record<string, string>;
44
+ }
45
+ /**
46
+ * Technology tag
47
+ */
48
+ export interface Tag {
49
+ /** Tag name */
50
+ name: string;
51
+ /** Tag link/URL */
52
+ link: string;
53
+ }
54
+ /**
55
+ * Project or demo card
56
+ */
57
+ export interface Card {
58
+ /** Card title */
59
+ title: string;
60
+ /** Card description */
61
+ description: string;
62
+ /** Card image URL */
63
+ image: string;
64
+ /** Card link/URL */
65
+ link: string;
66
+ /** Technology tags */
67
+ tags: Tag[];
68
+ }
69
+ /**
70
+ * Experiment/CodePen item
71
+ */
72
+ export interface Experiment {
73
+ /** Experiment title */
74
+ title: string;
75
+ /** Experiment URL (embed URL) */
76
+ url: string;
77
+ /** Experiment type */
78
+ type: 'codepen' | 'img' | string;
79
+ /** Experiment link (source URL) */
80
+ link: string;
81
+ }
82
+ /**
83
+ * About section content
84
+ */
85
+ export interface AboutSection {
86
+ /** Section title */
87
+ title: string;
88
+ /** Section header */
89
+ header: string;
90
+ /** Section subheader */
91
+ subheader: string;
92
+ /** Aside text */
93
+ aside: string;
94
+ /** Section content */
95
+ content: string;
96
+ }
97
+ /**
98
+ * Projects section content
99
+ */
100
+ export interface ProjectsSection {
101
+ /** Project cards */
102
+ cards: Card[];
103
+ }
104
+ /**
105
+ * Demos section content
106
+ */
107
+ export interface DemosSection {
108
+ /** Demo cards */
109
+ cards: Card[];
110
+ }
111
+ /**
112
+ * Repositories section content
113
+ */
114
+ export interface ReposSection {
115
+ /** Repository names/IDs */
116
+ cards: string[];
117
+ }
118
+ /**
119
+ * Site sections
120
+ */
121
+ export interface SiteSections {
122
+ /** About section */
123
+ about: AboutSection;
124
+ /** Projects section */
125
+ projects: ProjectsSection;
126
+ /** Demos section */
127
+ demos: DemosSection;
128
+ /** Repositories section */
129
+ repos: ReposSection;
130
+ }
131
+ /**
132
+ * Site metadata
133
+ */
134
+ export interface SiteMetadata {
135
+ /** Site title */
136
+ title: string;
137
+ /** Site description */
138
+ description: string;
139
+ /** Active theme ID */
140
+ theme: string;
141
+ }
142
+ /**
143
+ * Full site content structure
144
+ */
145
+ export interface SiteContent {
146
+ /** Site title */
147
+ title: string;
148
+ /** Site description */
149
+ description: string;
150
+ /** Active theme ID */
151
+ theme: string;
152
+ /** Navigation menu */
153
+ menu: Menu;
154
+ /** Available themes */
155
+ themes: Theme[];
156
+ /** Theme configuration */
157
+ statsTheme: Record<string, string>;
158
+ /** Contributions theme configuration */
159
+ contribsTheme: Record<string, string>;
160
+ /** Stats background configuration */
161
+ statsBg: Record<string, string>;
162
+ /** Experiments list */
163
+ experiments: Experiment[];
164
+ /** Site sections */
165
+ sections: SiteSections;
166
+ }
167
+ //# sourceMappingURL=website.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"website.types.d.ts","sourceRoot":"","sources":["../src/website.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IAEd,mBAAmB;IACnB,EAAE,EAAE,MAAM,CAAC;IAEX,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,iCAAiC;IACjC,IAAI,EAAE,QAAQ,EAAE,CAAC;IAEjB,mCAAmC;IACnC,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,eAAe;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC,oEAAoE;IACpE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IAEb,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IAEpB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IAEd,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IAEb,sBAAsB;IACtB,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IAEZ,sBAAsB;IACtB,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;IAEjC,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IAEd,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IAEf,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAElB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oBAAoB;IACpB,KAAK,EAAE,YAAY,CAAC;IAEpB,uBAAuB;IACvB,QAAQ,EAAE,eAAe,CAAC;IAE1B,oBAAoB;IACpB,KAAK,EAAE,YAAY,CAAC;IAEpB,2BAA2B;IAC3B,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IAEpB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IAEpB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IAEd,sBAAsB;IACtB,IAAI,EAAE,IAAI,CAAC;IAEX,uBAAuB;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,uBAAuB;IACvB,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B,oBAAoB;IACpB,QAAQ,EAAE,YAAY,CAAC;CACxB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Website/Site Content Types
4
+ * Shared between API and frontend for website content management
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@guinetik/primitives-ts",
3
+ "version": "0.1.0",
4
+ "description": "Shared TypeScript primitives for Guinetik projects",
5
+ "author": "Guinetik",
6
+ "license": "MIT",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "prepublishOnly": "npm run build"
15
+ },
16
+ "keywords": [
17
+ "typescript",
18
+ "types",
19
+ "primitives",
20
+ "guinetik"
21
+ ],
22
+ "devDependencies": {
23
+ "typescript": "^5.1.3"
24
+ },
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "https://github.com/guinetik/guinetik-backend.git",
28
+ "directory": "primitives"
29
+ }
30
+ }