digital-tools 2.0.2 → 2.1.1
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/CHANGELOG.md +17 -0
- package/package.json +3 -4
- package/src/define.js +267 -0
- package/src/entities/advertising.js +999 -0
- package/src/entities/ai.js +756 -0
- package/src/entities/analytics.js +1588 -0
- package/src/entities/automation.js +601 -0
- package/src/entities/communication.js +1150 -0
- package/src/entities/crm.js +1386 -0
- package/src/entities/design.js +546 -0
- package/src/entities/development.js +2212 -0
- package/src/entities/document.js +874 -0
- package/src/entities/ecommerce.js +1429 -0
- package/src/entities/experiment.js +1039 -0
- package/src/entities/finance.js +3478 -0
- package/src/entities/forms.js +1892 -0
- package/src/entities/hr.js +661 -0
- package/src/entities/identity.js +997 -0
- package/src/entities/index.js +282 -0
- package/src/entities/infrastructure.js +1153 -0
- package/src/entities/knowledge.js +1438 -0
- package/src/entities/marketing.js +1610 -0
- package/src/entities/media.js +1634 -0
- package/src/entities/notification.js +1199 -0
- package/src/entities/presentation.js +1274 -0
- package/src/entities/productivity.js +1317 -0
- package/src/entities/project-management.js +1136 -0
- package/src/entities/recruiting.js +736 -0
- package/src/entities/shipping.js +509 -0
- package/src/entities/signature.js +1102 -0
- package/src/entities/site.js +222 -0
- package/src/entities/spreadsheet.js +1341 -0
- package/src/entities/storage.js +1198 -0
- package/src/entities/support.js +1166 -0
- package/src/entities/video-conferencing.js +1750 -0
- package/src/entities/video.js +950 -0
- package/src/entities.js +1663 -0
- package/src/index.js +74 -0
- package/src/providers/analytics/index.js +17 -0
- package/src/providers/analytics/mixpanel.js +255 -0
- package/src/providers/calendar/cal-com.js +303 -0
- package/src/providers/calendar/google-calendar.js +335 -0
- package/src/providers/calendar/index.js +20 -0
- package/src/providers/crm/hubspot.js +566 -0
- package/src/providers/crm/index.js +17 -0
- package/src/providers/development/github.js +472 -0
- package/src/providers/development/index.js +17 -0
- package/src/providers/ecommerce/index.js +17 -0
- package/src/providers/ecommerce/shopify.js +378 -0
- package/src/providers/email/index.js +20 -0
- package/src/providers/email/resend.js +258 -0
- package/src/providers/email/sendgrid.js +161 -0
- package/src/providers/finance/index.js +17 -0
- package/src/providers/finance/stripe.js +549 -0
- package/src/providers/forms/index.js +17 -0
- package/src/providers/forms/typeform.js +500 -0
- package/src/providers/index.js +123 -0
- package/src/providers/knowledge/index.js +17 -0
- package/src/providers/knowledge/notion.js +389 -0
- package/src/providers/marketing/index.js +17 -0
- package/src/providers/marketing/mailchimp.js +443 -0
- package/src/providers/media/cloudinary.js +318 -0
- package/src/providers/media/index.js +17 -0
- package/src/providers/messaging/index.js +20 -0
- package/src/providers/messaging/slack.js +393 -0
- package/src/providers/messaging/twilio-sms.js +249 -0
- package/src/providers/project-management/index.js +17 -0
- package/src/providers/project-management/linear.js +575 -0
- package/src/providers/registry.js +86 -0
- package/src/providers/spreadsheet/google-sheets.js +375 -0
- package/src/providers/spreadsheet/index.js +20 -0
- package/src/providers/spreadsheet/xlsx.js +423 -0
- package/src/providers/storage/index.js +24 -0
- package/src/providers/storage/s3.js +419 -0
- package/src/providers/support/index.js +17 -0
- package/src/providers/support/zendesk.js +373 -0
- package/src/providers/tasks/index.js +17 -0
- package/src/providers/tasks/todoist.js +286 -0
- package/src/providers/types.js +9 -0
- package/src/providers/video-conferencing/google-meet.js +286 -0
- package/src/providers/video-conferencing/index.js +31 -0
- package/src/providers/video-conferencing/jitsi.js +254 -0
- package/src/providers/video-conferencing/teams.js +270 -0
- package/src/providers/video-conferencing/zoom.js +332 -0
- package/src/registry.js +128 -0
- package/src/tools/communication.js +184 -0
- package/src/tools/data.js +205 -0
- package/src/tools/index.js +11 -0
- package/src/tools/web.js +137 -0
- package/src/types.js +10 -0
- package/test/define.test.js +306 -0
- package/test/registry.test.js +357 -0
- package/test/tools.test.js +363 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Site Entity Type (Noun)
|
|
3
|
+
*
|
|
4
|
+
* Represents a deployed web presence - a destination where users interact
|
|
5
|
+
* with digital tools and content.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Site
|
|
11
|
+
// =============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Site - A deployed web presence
|
|
14
|
+
*
|
|
15
|
+
* Represents any type of website, web application, or API endpoint.
|
|
16
|
+
* The `type` property distinguishes between different kinds of sites:
|
|
17
|
+
* - store: E-commerce storefront
|
|
18
|
+
* - marketplace: Multi-vendor marketplace
|
|
19
|
+
* - directory: Listings/directory site
|
|
20
|
+
* - blog: Content/blog site
|
|
21
|
+
* - docs: Documentation site
|
|
22
|
+
* - forum: Community forum
|
|
23
|
+
* - portal: Customer/partner portal
|
|
24
|
+
* - dashboard: Admin/analytics dashboard
|
|
25
|
+
* - app: Web application
|
|
26
|
+
* - landing: Marketing landing page
|
|
27
|
+
* - api: API endpoint/service
|
|
28
|
+
*/
|
|
29
|
+
export const Site = {
|
|
30
|
+
singular: 'site',
|
|
31
|
+
plural: 'sites',
|
|
32
|
+
description: 'A deployed web presence (store, blog, docs, app, api, etc.)',
|
|
33
|
+
properties: {
|
|
34
|
+
// Identity
|
|
35
|
+
name: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
description: 'Site name',
|
|
38
|
+
},
|
|
39
|
+
slug: {
|
|
40
|
+
type: 'string',
|
|
41
|
+
description: 'URL-friendly identifier',
|
|
42
|
+
},
|
|
43
|
+
description: {
|
|
44
|
+
type: 'string',
|
|
45
|
+
optional: true,
|
|
46
|
+
description: 'Site description',
|
|
47
|
+
},
|
|
48
|
+
// Type
|
|
49
|
+
type: {
|
|
50
|
+
type: 'string',
|
|
51
|
+
description: 'Site type',
|
|
52
|
+
examples: ['store', 'marketplace', 'directory', 'blog', 'docs', 'forum', 'portal', 'dashboard', 'app', 'landing', 'api'],
|
|
53
|
+
},
|
|
54
|
+
// Domain
|
|
55
|
+
domain: {
|
|
56
|
+
type: 'string',
|
|
57
|
+
optional: true,
|
|
58
|
+
description: 'Primary domain',
|
|
59
|
+
},
|
|
60
|
+
customDomains: {
|
|
61
|
+
type: 'string',
|
|
62
|
+
array: true,
|
|
63
|
+
optional: true,
|
|
64
|
+
description: 'Additional custom domains',
|
|
65
|
+
},
|
|
66
|
+
subdomain: {
|
|
67
|
+
type: 'string',
|
|
68
|
+
optional: true,
|
|
69
|
+
description: 'Subdomain on platform domain',
|
|
70
|
+
},
|
|
71
|
+
// Status
|
|
72
|
+
status: {
|
|
73
|
+
type: 'string',
|
|
74
|
+
description: 'Site status',
|
|
75
|
+
examples: ['draft', 'published', 'archived', 'maintenance'],
|
|
76
|
+
},
|
|
77
|
+
publishedAt: {
|
|
78
|
+
type: 'datetime',
|
|
79
|
+
optional: true,
|
|
80
|
+
description: 'When site was published',
|
|
81
|
+
},
|
|
82
|
+
// Appearance
|
|
83
|
+
theme: {
|
|
84
|
+
type: 'string',
|
|
85
|
+
optional: true,
|
|
86
|
+
description: 'Theme or template ID',
|
|
87
|
+
},
|
|
88
|
+
favicon: {
|
|
89
|
+
type: 'url',
|
|
90
|
+
optional: true,
|
|
91
|
+
description: 'Favicon URL',
|
|
92
|
+
},
|
|
93
|
+
logo: {
|
|
94
|
+
type: 'url',
|
|
95
|
+
optional: true,
|
|
96
|
+
description: 'Logo URL',
|
|
97
|
+
},
|
|
98
|
+
primaryColor: {
|
|
99
|
+
type: 'string',
|
|
100
|
+
optional: true,
|
|
101
|
+
description: 'Primary brand color',
|
|
102
|
+
},
|
|
103
|
+
// SEO
|
|
104
|
+
title: {
|
|
105
|
+
type: 'string',
|
|
106
|
+
optional: true,
|
|
107
|
+
description: 'Default page title',
|
|
108
|
+
},
|
|
109
|
+
metaDescription: {
|
|
110
|
+
type: 'string',
|
|
111
|
+
optional: true,
|
|
112
|
+
description: 'Default meta description',
|
|
113
|
+
},
|
|
114
|
+
ogImage: {
|
|
115
|
+
type: 'url',
|
|
116
|
+
optional: true,
|
|
117
|
+
description: 'Default Open Graph image',
|
|
118
|
+
},
|
|
119
|
+
// Settings
|
|
120
|
+
locale: {
|
|
121
|
+
type: 'string',
|
|
122
|
+
optional: true,
|
|
123
|
+
description: 'Default locale',
|
|
124
|
+
},
|
|
125
|
+
timezone: {
|
|
126
|
+
type: 'string',
|
|
127
|
+
optional: true,
|
|
128
|
+
description: 'Default timezone',
|
|
129
|
+
},
|
|
130
|
+
currency: {
|
|
131
|
+
type: 'string',
|
|
132
|
+
optional: true,
|
|
133
|
+
description: 'Default currency (for store/marketplace)',
|
|
134
|
+
},
|
|
135
|
+
// Access
|
|
136
|
+
isPublic: {
|
|
137
|
+
type: 'boolean',
|
|
138
|
+
optional: true,
|
|
139
|
+
description: 'Whether site is publicly accessible',
|
|
140
|
+
},
|
|
141
|
+
requiresAuth: {
|
|
142
|
+
type: 'boolean',
|
|
143
|
+
optional: true,
|
|
144
|
+
description: 'Whether authentication is required',
|
|
145
|
+
},
|
|
146
|
+
allowedDomains: {
|
|
147
|
+
type: 'string',
|
|
148
|
+
array: true,
|
|
149
|
+
optional: true,
|
|
150
|
+
description: 'Allowed email domains for access',
|
|
151
|
+
},
|
|
152
|
+
// Analytics
|
|
153
|
+
analyticsId: {
|
|
154
|
+
type: 'string',
|
|
155
|
+
optional: true,
|
|
156
|
+
description: 'Google Analytics or similar ID',
|
|
157
|
+
},
|
|
158
|
+
// Configuration (type-specific settings stored as JSON)
|
|
159
|
+
config: {
|
|
160
|
+
type: 'json',
|
|
161
|
+
optional: true,
|
|
162
|
+
description: 'Type-specific configuration',
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
relationships: {
|
|
166
|
+
owner: {
|
|
167
|
+
type: 'Contact',
|
|
168
|
+
description: 'Site owner',
|
|
169
|
+
},
|
|
170
|
+
team: {
|
|
171
|
+
type: 'Contact[]',
|
|
172
|
+
required: false,
|
|
173
|
+
description: 'Team members with access',
|
|
174
|
+
},
|
|
175
|
+
deployments: {
|
|
176
|
+
type: 'Deployment[]',
|
|
177
|
+
required: false,
|
|
178
|
+
description: 'Deployment history',
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
actions: [
|
|
182
|
+
'create',
|
|
183
|
+
'update',
|
|
184
|
+
'publish',
|
|
185
|
+
'unpublish',
|
|
186
|
+
'archive',
|
|
187
|
+
'deploy',
|
|
188
|
+
'addDomain',
|
|
189
|
+
'removeDomain',
|
|
190
|
+
'setTheme',
|
|
191
|
+
],
|
|
192
|
+
events: [
|
|
193
|
+
'created',
|
|
194
|
+
'updated',
|
|
195
|
+
'published',
|
|
196
|
+
'unpublished',
|
|
197
|
+
'archived',
|
|
198
|
+
'deployed',
|
|
199
|
+
'domainAdded',
|
|
200
|
+
'domainRemoved',
|
|
201
|
+
'themeChanged',
|
|
202
|
+
],
|
|
203
|
+
};
|
|
204
|
+
// =============================================================================
|
|
205
|
+
// Exports
|
|
206
|
+
// =============================================================================
|
|
207
|
+
export const SiteEntities = {
|
|
208
|
+
Site,
|
|
209
|
+
};
|
|
210
|
+
export const SiteTypes = [
|
|
211
|
+
'store',
|
|
212
|
+
'marketplace',
|
|
213
|
+
'directory',
|
|
214
|
+
'blog',
|
|
215
|
+
'docs',
|
|
216
|
+
'forum',
|
|
217
|
+
'portal',
|
|
218
|
+
'dashboard',
|
|
219
|
+
'app',
|
|
220
|
+
'landing',
|
|
221
|
+
'api',
|
|
222
|
+
];
|