@go-labs-sg/rsvp 0.2.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 +97 -0
- package/dist/index.js +15694 -0
- package/examples/amgen-dinner-dance-2026-template.json +229 -0
- package/package.json +31 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
{
|
|
2
|
+
"organizationId": "replace-with-organization-id",
|
|
3
|
+
"name": "Amgen Dinner & Dance 2026",
|
|
4
|
+
"description": "Reusable RSVP template configuration for the Amgen Dinner & Dance 2026 registration workflow.",
|
|
5
|
+
"configuration": {
|
|
6
|
+
"accessMode": "ROSTER_ONLY",
|
|
7
|
+
"allowedEmailDomains": [],
|
|
8
|
+
"capacityLimit": null,
|
|
9
|
+
"description": "Dinner & Dance registration with invitation-bound Staff ID confirmation and employment-based eligibility.",
|
|
10
|
+
"employeeIdMatchingEnabled": true,
|
|
11
|
+
"fieldDefinitions": [
|
|
12
|
+
{
|
|
13
|
+
"active": true,
|
|
14
|
+
"appliesToAttendeeTypeKey": "employee",
|
|
15
|
+
"description": "The employee's main organizational function.",
|
|
16
|
+
"fieldType": "SINGLE_SELECT",
|
|
17
|
+
"key": "mainFunction",
|
|
18
|
+
"label": "Main Function",
|
|
19
|
+
"options": {
|
|
20
|
+
"choices": [
|
|
21
|
+
{ "label": "Admin & Finance & BP", "value": "ADMIN_FINANCE_BP" },
|
|
22
|
+
{
|
|
23
|
+
"label": "ASM1 MFG Biologics - Direct",
|
|
24
|
+
"value": "ASM1_MFG_BIOLOGICS_DIRECT"
|
|
25
|
+
},
|
|
26
|
+
{ "label": "MFG Support", "value": "MFG_SUPPORT" },
|
|
27
|
+
{ "label": "Supply Chain", "value": "SUPPLY_CHAIN" },
|
|
28
|
+
{
|
|
29
|
+
"label": "Facilities & Engineering",
|
|
30
|
+
"value": "FACILITIES_ENGINEERING"
|
|
31
|
+
},
|
|
32
|
+
{ "label": "Technology", "value": "TECHNOLOGY" },
|
|
33
|
+
{ "label": "PD", "value": "PD" },
|
|
34
|
+
{ "label": "QC", "value": "QC" },
|
|
35
|
+
{ "label": "QA", "value": "QA" },
|
|
36
|
+
{
|
|
37
|
+
"label": "ASM2 MFG API - Direct",
|
|
38
|
+
"value": "ASM2_MFG_API_DIRECT"
|
|
39
|
+
},
|
|
40
|
+
{ "label": "EHSS", "value": "EHSS" },
|
|
41
|
+
{ "label": "HR, Security & RA", "value": "HR_SECURITY_RA" }
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"required": true,
|
|
45
|
+
"scope": "ATTENDEE",
|
|
46
|
+
"sortOrder": 100
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"active": true,
|
|
50
|
+
"appliesToAttendeeTypeKey": "employee",
|
|
51
|
+
"description": "Shown only for Main Functions that have configured Subfunctions.",
|
|
52
|
+
"fieldType": "SINGLE_SELECT",
|
|
53
|
+
"key": "subfunction",
|
|
54
|
+
"label": "Subfunction",
|
|
55
|
+
"options": {
|
|
56
|
+
"choices": [],
|
|
57
|
+
"visibleWhen": {
|
|
58
|
+
"fieldKey": "mainFunction",
|
|
59
|
+
"values": [
|
|
60
|
+
"ASM1_MFG_BIOLOGICS_DIRECT",
|
|
61
|
+
"FACILITIES_ENGINEERING",
|
|
62
|
+
"SUPPLY_CHAIN",
|
|
63
|
+
"QA",
|
|
64
|
+
"ASM2_MFG_API_DIRECT"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"choiceSets": [
|
|
68
|
+
{
|
|
69
|
+
"when": {
|
|
70
|
+
"fieldKey": "mainFunction",
|
|
71
|
+
"values": ["ASM1_MFG_BIOLOGICS_DIRECT"]
|
|
72
|
+
},
|
|
73
|
+
"choices": [
|
|
74
|
+
{ "label": "Team A", "value": "TEAM_A" },
|
|
75
|
+
{ "label": "Team B", "value": "TEAM_B" },
|
|
76
|
+
{ "label": "Team C", "value": "TEAM_C" },
|
|
77
|
+
{ "label": "Team D", "value": "TEAM_D" }
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"when": {
|
|
82
|
+
"fieldKey": "mainFunction",
|
|
83
|
+
"values": ["FACILITIES_ENGINEERING"]
|
|
84
|
+
},
|
|
85
|
+
"choices": [
|
|
86
|
+
{ "label": "Team A", "value": "TEAM_A" },
|
|
87
|
+
{ "label": "Team B", "value": "TEAM_B" },
|
|
88
|
+
{ "label": "Team C", "value": "TEAM_C" },
|
|
89
|
+
{ "label": "Team D", "value": "TEAM_D" },
|
|
90
|
+
{ "label": "N/A", "value": "NOT_APPLICABLE" }
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"when": {
|
|
95
|
+
"fieldKey": "mainFunction",
|
|
96
|
+
"values": ["SUPPLY_CHAIN"]
|
|
97
|
+
},
|
|
98
|
+
"choices": [
|
|
99
|
+
{ "label": "Team A", "value": "TEAM_A" },
|
|
100
|
+
{ "label": "Team B", "value": "TEAM_B" },
|
|
101
|
+
{ "label": "Team C", "value": "TEAM_C" },
|
|
102
|
+
{ "label": "Team D", "value": "TEAM_D" },
|
|
103
|
+
{ "label": "N/A", "value": "NOT_APPLICABLE" }
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"when": {
|
|
108
|
+
"fieldKey": "mainFunction",
|
|
109
|
+
"values": ["QA"]
|
|
110
|
+
},
|
|
111
|
+
"choices": [
|
|
112
|
+
{ "label": "Team A", "value": "TEAM_A" },
|
|
113
|
+
{ "label": "Team B", "value": "TEAM_B" },
|
|
114
|
+
{ "label": "N/A", "value": "NOT_APPLICABLE" }
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"when": {
|
|
119
|
+
"fieldKey": "mainFunction",
|
|
120
|
+
"values": ["ASM2_MFG_API_DIRECT"]
|
|
121
|
+
},
|
|
122
|
+
"choices": [
|
|
123
|
+
{ "label": "Team 1", "value": "TEAM_1" },
|
|
124
|
+
{ "label": "Team 2", "value": "TEAM_2" },
|
|
125
|
+
{ "label": "Team 3", "value": "TEAM_3" }
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
"required": true,
|
|
131
|
+
"scope": "ATTENDEE",
|
|
132
|
+
"sortOrder": 110
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"active": true,
|
|
136
|
+
"appliesToAttendeeTypeKey": "guest",
|
|
137
|
+
"description": "Guest name only, as required by the event workflow.",
|
|
138
|
+
"fieldType": "TEXT",
|
|
139
|
+
"key": "fullName",
|
|
140
|
+
"label": "Guest Name",
|
|
141
|
+
"required": true,
|
|
142
|
+
"scope": "ATTENDEE",
|
|
143
|
+
"sortOrder": 120,
|
|
144
|
+
"validation": { "maxLength": 160 }
|
|
145
|
+
}
|
|
146
|
+
],
|
|
147
|
+
"guestPolicy": {
|
|
148
|
+
"defaultGuestLimit": 0,
|
|
149
|
+
"enabled": true
|
|
150
|
+
},
|
|
151
|
+
"payment": null,
|
|
152
|
+
"personalEmailPolicy": "ALLOWED",
|
|
153
|
+
"retentionMonths": 24,
|
|
154
|
+
"registrationWorkflow": {
|
|
155
|
+
"formFlow": {
|
|
156
|
+
"responsePosition": "AFTER_DETAILS"
|
|
157
|
+
},
|
|
158
|
+
"identity": {
|
|
159
|
+
"enabled": true,
|
|
160
|
+
"identifier": "EMPLOYEE_ID",
|
|
161
|
+
"identifierLabel": "Staff ID"
|
|
162
|
+
},
|
|
163
|
+
"profile": {
|
|
164
|
+
"confirmationRequired": true,
|
|
165
|
+
"label": "Employment Type",
|
|
166
|
+
"metadataKey": "employmentType",
|
|
167
|
+
"options": [
|
|
168
|
+
{
|
|
169
|
+
"value": "FTE",
|
|
170
|
+
"label": "FTE",
|
|
171
|
+
"guestLimit": 1,
|
|
172
|
+
"capabilities": {
|
|
173
|
+
"dnd": true,
|
|
174
|
+
"doorGift": true,
|
|
175
|
+
"luckyDraw": true,
|
|
176
|
+
"bringGuest": true
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"value": "INTERN",
|
|
181
|
+
"label": "Intern",
|
|
182
|
+
"guestLimit": 0,
|
|
183
|
+
"capabilities": {
|
|
184
|
+
"dnd": true,
|
|
185
|
+
"doorGift": true,
|
|
186
|
+
"luckyDraw": false,
|
|
187
|
+
"bringGuest": false
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
]
|
|
191
|
+
},
|
|
192
|
+
"eligibility": {
|
|
193
|
+
"items": [
|
|
194
|
+
{ "key": "dnd", "label": "Eligible for D&D" },
|
|
195
|
+
{ "key": "doorGift", "label": "Eligible for Door Gift" },
|
|
196
|
+
{ "key": "luckyDraw", "label": "Eligible for Lucky Draw" },
|
|
197
|
+
{ "key": "bringGuest", "label": "Can bring a guest" }
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
"declineReasons": {
|
|
201
|
+
"required": true,
|
|
202
|
+
"options": [
|
|
203
|
+
{
|
|
204
|
+
"code": "SHIFT_OR_BUSINESS",
|
|
205
|
+
"label": "On Shift / Business Exigency / Business Trip"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"code": "PARENTAL_HOSPITALIZATION_OR_NS_LEAVE",
|
|
209
|
+
"label": "Paternity Leave / Maternity Leave / Hospitalization Leave / NS Leave"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"code": "ANNUAL_FAMILY_CARE_CHILDCARE_OR_ABSENCE_LEAVE",
|
|
213
|
+
"label": "Annual Leave / Family Care Leave / Childcare Leave / Leave of Absence"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"code": "PERSONAL_REASON",
|
|
217
|
+
"label": "Personal Reason"
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
"seatHoldMinutes": 5,
|
|
223
|
+
"seatingAssignmentMode": "ORGANIZER",
|
|
224
|
+
"seatingMode": "NONE",
|
|
225
|
+
"waitlistEnabled": false,
|
|
226
|
+
"waitlistOfferTtlMinutes": 60,
|
|
227
|
+
"walkInsEnabled": false
|
|
228
|
+
}
|
|
229
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@go-labs-sg/rsvp",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "RSVP CLI for authorized event operations.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {},
|
|
7
|
+
"bin": {
|
|
8
|
+
"rsvp": "./dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"examples",
|
|
13
|
+
"README.md"
|
|
14
|
+
],
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@trpc/client": "^11.18.0",
|
|
17
|
+
"dotenv": "^17.4.2",
|
|
18
|
+
"superjson": "^2.2.6"
|
|
19
|
+
},
|
|
20
|
+
"engines": {
|
|
21
|
+
"bun": ">=1.4.0"
|
|
22
|
+
},
|
|
23
|
+
"publishConfig": {
|
|
24
|
+
"access": "public"
|
|
25
|
+
},
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "https://github.com/go-labs-sg/go-labs.git",
|
|
29
|
+
"directory": "packages/rsvp/cli"
|
|
30
|
+
}
|
|
31
|
+
}
|