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.
Files changed (93) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/package.json +3 -4
  3. package/src/define.js +267 -0
  4. package/src/entities/advertising.js +999 -0
  5. package/src/entities/ai.js +756 -0
  6. package/src/entities/analytics.js +1588 -0
  7. package/src/entities/automation.js +601 -0
  8. package/src/entities/communication.js +1150 -0
  9. package/src/entities/crm.js +1386 -0
  10. package/src/entities/design.js +546 -0
  11. package/src/entities/development.js +2212 -0
  12. package/src/entities/document.js +874 -0
  13. package/src/entities/ecommerce.js +1429 -0
  14. package/src/entities/experiment.js +1039 -0
  15. package/src/entities/finance.js +3478 -0
  16. package/src/entities/forms.js +1892 -0
  17. package/src/entities/hr.js +661 -0
  18. package/src/entities/identity.js +997 -0
  19. package/src/entities/index.js +282 -0
  20. package/src/entities/infrastructure.js +1153 -0
  21. package/src/entities/knowledge.js +1438 -0
  22. package/src/entities/marketing.js +1610 -0
  23. package/src/entities/media.js +1634 -0
  24. package/src/entities/notification.js +1199 -0
  25. package/src/entities/presentation.js +1274 -0
  26. package/src/entities/productivity.js +1317 -0
  27. package/src/entities/project-management.js +1136 -0
  28. package/src/entities/recruiting.js +736 -0
  29. package/src/entities/shipping.js +509 -0
  30. package/src/entities/signature.js +1102 -0
  31. package/src/entities/site.js +222 -0
  32. package/src/entities/spreadsheet.js +1341 -0
  33. package/src/entities/storage.js +1198 -0
  34. package/src/entities/support.js +1166 -0
  35. package/src/entities/video-conferencing.js +1750 -0
  36. package/src/entities/video.js +950 -0
  37. package/src/entities.js +1663 -0
  38. package/src/index.js +74 -0
  39. package/src/providers/analytics/index.js +17 -0
  40. package/src/providers/analytics/mixpanel.js +255 -0
  41. package/src/providers/calendar/cal-com.js +303 -0
  42. package/src/providers/calendar/google-calendar.js +335 -0
  43. package/src/providers/calendar/index.js +20 -0
  44. package/src/providers/crm/hubspot.js +566 -0
  45. package/src/providers/crm/index.js +17 -0
  46. package/src/providers/development/github.js +472 -0
  47. package/src/providers/development/index.js +17 -0
  48. package/src/providers/ecommerce/index.js +17 -0
  49. package/src/providers/ecommerce/shopify.js +378 -0
  50. package/src/providers/email/index.js +20 -0
  51. package/src/providers/email/resend.js +258 -0
  52. package/src/providers/email/sendgrid.js +161 -0
  53. package/src/providers/finance/index.js +17 -0
  54. package/src/providers/finance/stripe.js +549 -0
  55. package/src/providers/forms/index.js +17 -0
  56. package/src/providers/forms/typeform.js +500 -0
  57. package/src/providers/index.js +123 -0
  58. package/src/providers/knowledge/index.js +17 -0
  59. package/src/providers/knowledge/notion.js +389 -0
  60. package/src/providers/marketing/index.js +17 -0
  61. package/src/providers/marketing/mailchimp.js +443 -0
  62. package/src/providers/media/cloudinary.js +318 -0
  63. package/src/providers/media/index.js +17 -0
  64. package/src/providers/messaging/index.js +20 -0
  65. package/src/providers/messaging/slack.js +393 -0
  66. package/src/providers/messaging/twilio-sms.js +249 -0
  67. package/src/providers/project-management/index.js +17 -0
  68. package/src/providers/project-management/linear.js +575 -0
  69. package/src/providers/registry.js +86 -0
  70. package/src/providers/spreadsheet/google-sheets.js +375 -0
  71. package/src/providers/spreadsheet/index.js +20 -0
  72. package/src/providers/spreadsheet/xlsx.js +423 -0
  73. package/src/providers/storage/index.js +24 -0
  74. package/src/providers/storage/s3.js +419 -0
  75. package/src/providers/support/index.js +17 -0
  76. package/src/providers/support/zendesk.js +373 -0
  77. package/src/providers/tasks/index.js +17 -0
  78. package/src/providers/tasks/todoist.js +286 -0
  79. package/src/providers/types.js +9 -0
  80. package/src/providers/video-conferencing/google-meet.js +286 -0
  81. package/src/providers/video-conferencing/index.js +31 -0
  82. package/src/providers/video-conferencing/jitsi.js +254 -0
  83. package/src/providers/video-conferencing/teams.js +270 -0
  84. package/src/providers/video-conferencing/zoom.js +332 -0
  85. package/src/registry.js +128 -0
  86. package/src/tools/communication.js +184 -0
  87. package/src/tools/data.js +205 -0
  88. package/src/tools/index.js +11 -0
  89. package/src/tools/web.js +137 -0
  90. package/src/types.js +10 -0
  91. package/test/define.test.js +306 -0
  92. package/test/registry.test.js +357 -0
  93. 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
+ ];