shred-api-client 2.3.5-rc.3 → 2.3.5-rc.5
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/dist/index.d.ts +1 -1
- package/dist/index.js +248 -249
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
"use strict";
|
|
3
2
|
var __create = Object.create;
|
|
4
3
|
var __defProp = Object.defineProperty;
|
|
@@ -133,7 +132,7 @@ __export(notification_exports, {
|
|
|
133
132
|
});
|
|
134
133
|
|
|
135
134
|
// src/model/notification/Notification.schema.ts
|
|
136
|
-
var
|
|
135
|
+
var import_v3 = require("zod/v3");
|
|
137
136
|
var Frequency = /* @__PURE__ */ ((Frequency2) => {
|
|
138
137
|
Frequency2["DAILY"] = "daily";
|
|
139
138
|
Frequency2["WEEKLY"] = "weekly";
|
|
@@ -173,19 +172,19 @@ var Status = /* @__PURE__ */ ((Status3) => {
|
|
|
173
172
|
Status3["EXPIRED"] = "expired";
|
|
174
173
|
return Status3;
|
|
175
174
|
})(Status || {});
|
|
176
|
-
var NotificationItemSchema =
|
|
177
|
-
id:
|
|
178
|
-
userId:
|
|
179
|
-
triggerId:
|
|
180
|
-
title:
|
|
181
|
-
body:
|
|
182
|
-
status:
|
|
183
|
-
deliveredAt:
|
|
184
|
-
openedAt:
|
|
185
|
-
deletedAt:
|
|
186
|
-
cta:
|
|
187
|
-
metadata:
|
|
188
|
-
error:
|
|
175
|
+
var NotificationItemSchema = import_v3.z.object({
|
|
176
|
+
id: import_v3.z.string(),
|
|
177
|
+
userId: import_v3.z.string(),
|
|
178
|
+
triggerId: import_v3.z.string().optional(),
|
|
179
|
+
title: import_v3.z.string(),
|
|
180
|
+
body: import_v3.z.string(),
|
|
181
|
+
status: import_v3.z.enum(["failed", "delivered", "deleted"]),
|
|
182
|
+
deliveredAt: import_v3.z.number(),
|
|
183
|
+
openedAt: import_v3.z.number().optional(),
|
|
184
|
+
deletedAt: import_v3.z.number().optional(),
|
|
185
|
+
cta: import_v3.z.object({ label: import_v3.z.string(), url: import_v3.z.string().url() }).optional(),
|
|
186
|
+
metadata: import_v3.z.record(import_v3.z.string(), import_v3.z.union([import_v3.z.string(), import_v3.z.number()])),
|
|
187
|
+
error: import_v3.z.string().optional()
|
|
189
188
|
});
|
|
190
189
|
var NotificationDetailSchema = NotificationItemSchema.pick({
|
|
191
190
|
title: true,
|
|
@@ -194,53 +193,53 @@ var NotificationDetailSchema = NotificationItemSchema.pick({
|
|
|
194
193
|
metadata: true,
|
|
195
194
|
cta: true
|
|
196
195
|
});
|
|
197
|
-
var CriteriaSchema =
|
|
198
|
-
type:
|
|
199
|
-
params:
|
|
196
|
+
var CriteriaSchema = import_v3.z.object({
|
|
197
|
+
type: import_v3.z.nativeEnum(CriteriaType),
|
|
198
|
+
params: import_v3.z.record(import_v3.z.string(), import_v3.z.any())
|
|
200
199
|
});
|
|
201
|
-
var HistorySchema =
|
|
202
|
-
batchId:
|
|
203
|
-
executedAt:
|
|
204
|
-
timezone:
|
|
205
|
-
status:
|
|
206
|
-
users:
|
|
207
|
-
total:
|
|
208
|
-
success:
|
|
209
|
-
error:
|
|
200
|
+
var HistorySchema = import_v3.z.object({
|
|
201
|
+
batchId: import_v3.z.string(),
|
|
202
|
+
executedAt: import_v3.z.number(),
|
|
203
|
+
timezone: import_v3.z.string(),
|
|
204
|
+
status: import_v3.z.enum(["success", "failed", "info", "warn"]),
|
|
205
|
+
users: import_v3.z.object({
|
|
206
|
+
total: import_v3.z.number(),
|
|
207
|
+
success: import_v3.z.number(),
|
|
208
|
+
error: import_v3.z.number()
|
|
210
209
|
}),
|
|
211
|
-
errorList:
|
|
212
|
-
|
|
213
|
-
token:
|
|
214
|
-
error:
|
|
210
|
+
errorList: import_v3.z.array(
|
|
211
|
+
import_v3.z.object({
|
|
212
|
+
token: import_v3.z.string(),
|
|
213
|
+
error: import_v3.z.string()
|
|
215
214
|
})
|
|
216
215
|
).optional(),
|
|
217
|
-
executionTimeDuration:
|
|
216
|
+
executionTimeDuration: import_v3.z.number().optional()
|
|
218
217
|
});
|
|
219
|
-
var RecurrenceRuleSchema =
|
|
220
|
-
frequency:
|
|
221
|
-
interval:
|
|
222
|
-
weekDays:
|
|
223
|
-
dayOfMonth:
|
|
224
|
-
endDate:
|
|
225
|
-
ocurrences:
|
|
218
|
+
var RecurrenceRuleSchema = import_v3.z.object({
|
|
219
|
+
frequency: import_v3.z.nativeEnum(Frequency),
|
|
220
|
+
interval: import_v3.z.number(),
|
|
221
|
+
weekDays: import_v3.z.array(import_v3.z.nativeEnum(WeekDay)).optional(),
|
|
222
|
+
dayOfMonth: import_v3.z.number().optional(),
|
|
223
|
+
endDate: import_v3.z.string().optional(),
|
|
224
|
+
ocurrences: import_v3.z.number().optional()
|
|
226
225
|
});
|
|
227
|
-
var TriggerSchema =
|
|
228
|
-
id:
|
|
229
|
-
title:
|
|
230
|
-
description:
|
|
231
|
-
transportType:
|
|
226
|
+
var TriggerSchema = import_v3.z.object({
|
|
227
|
+
id: import_v3.z.string(),
|
|
228
|
+
title: import_v3.z.string(),
|
|
229
|
+
description: import_v3.z.string(),
|
|
230
|
+
transportType: import_v3.z.array(import_v3.z.nativeEnum(TransportType)),
|
|
232
231
|
notification: NotificationDetailSchema,
|
|
233
|
-
history:
|
|
234
|
-
status:
|
|
232
|
+
history: import_v3.z.array(HistorySchema).optional(),
|
|
233
|
+
status: import_v3.z.nativeEnum(Status),
|
|
235
234
|
recurrence: RecurrenceRuleSchema.optional(),
|
|
236
|
-
timezone:
|
|
237
|
-
tenantIds:
|
|
238
|
-
executionDate:
|
|
239
|
-
timeOfDay:
|
|
235
|
+
timezone: import_v3.z.string().nullable().optional(),
|
|
236
|
+
tenantIds: import_v3.z.array(import_v3.z.string()).optional(),
|
|
237
|
+
executionDate: import_v3.z.string().optional(),
|
|
238
|
+
timeOfDay: import_v3.z.string(),
|
|
240
239
|
criteria: CriteriaSchema,
|
|
241
|
-
nextExecution:
|
|
242
|
-
createdAt:
|
|
243
|
-
modified:
|
|
240
|
+
nextExecution: import_v3.z.number().optional(),
|
|
241
|
+
createdAt: import_v3.z.number().optional(),
|
|
242
|
+
modified: import_v3.z.number().optional()
|
|
244
243
|
});
|
|
245
244
|
|
|
246
245
|
// src/model/notification/Notification.api.ts
|
|
@@ -839,11 +838,11 @@ __export(email_exports, {
|
|
|
839
838
|
});
|
|
840
839
|
|
|
841
840
|
// src/model/email/Email.schema.ts
|
|
842
|
-
var
|
|
843
|
-
var EmailSchema =
|
|
844
|
-
to:
|
|
845
|
-
subject:
|
|
846
|
-
body:
|
|
841
|
+
var import_v32 = require("zod/v3");
|
|
842
|
+
var EmailSchema = import_v32.z.object({
|
|
843
|
+
to: import_v32.z.string().email().optional(),
|
|
844
|
+
subject: import_v32.z.string(),
|
|
845
|
+
body: import_v32.z.string()
|
|
847
846
|
});
|
|
848
847
|
|
|
849
848
|
// src/model/email/Email.api.ts
|
|
@@ -888,7 +887,7 @@ __export(project_exports, {
|
|
|
888
887
|
});
|
|
889
888
|
|
|
890
889
|
// src/model/project/Project.schema.ts
|
|
891
|
-
var
|
|
890
|
+
var import_v34 = require("zod/v3");
|
|
892
891
|
|
|
893
892
|
// src/model/asset/index.ts
|
|
894
893
|
var asset_exports = {};
|
|
@@ -897,20 +896,20 @@ __export(asset_exports, {
|
|
|
897
896
|
});
|
|
898
897
|
|
|
899
898
|
// src/model/asset/Asset.schema.ts
|
|
900
|
-
var
|
|
901
|
-
var AssetSchema =
|
|
902
|
-
assetId:
|
|
903
|
-
fileName:
|
|
904
|
-
extension:
|
|
905
|
-
fileSize:
|
|
906
|
-
assetUrl:
|
|
907
|
-
thumbnailUrl:
|
|
908
|
-
type:
|
|
909
|
-
duration:
|
|
910
|
-
progress:
|
|
911
|
-
error:
|
|
912
|
-
authorId:
|
|
913
|
-
uploadedAt:
|
|
899
|
+
var import_v33 = require("zod/v3");
|
|
900
|
+
var AssetSchema = import_v33.z.object({
|
|
901
|
+
assetId: import_v33.z.string(),
|
|
902
|
+
fileName: import_v33.z.string(),
|
|
903
|
+
extension: import_v33.z.string(),
|
|
904
|
+
fileSize: import_v33.z.number(),
|
|
905
|
+
assetUrl: import_v33.z.string().url(),
|
|
906
|
+
thumbnailUrl: import_v33.z.string().url(),
|
|
907
|
+
type: import_v33.z.string(),
|
|
908
|
+
duration: import_v33.z.number().optional(),
|
|
909
|
+
progress: import_v33.z.number().optional(),
|
|
910
|
+
error: import_v33.z.string().optional(),
|
|
911
|
+
authorId: import_v33.z.string(),
|
|
912
|
+
uploadedAt: import_v33.z.number()
|
|
914
913
|
});
|
|
915
914
|
|
|
916
915
|
// src/model/project/Project.schema.ts
|
|
@@ -933,8 +932,8 @@ var CaptionStyle = /* @__PURE__ */ ((CaptionStyle2) => {
|
|
|
933
932
|
CaptionStyle2[CaptionStyle2["HOME_HIGHLIGHT"] = 4] = "HOME_HIGHLIGHT";
|
|
934
933
|
return CaptionStyle2;
|
|
935
934
|
})(CaptionStyle || {});
|
|
936
|
-
var StatusSchema =
|
|
937
|
-
var CaptionStyleStatus =
|
|
935
|
+
var StatusSchema = import_v34.z.nativeEnum(Status2);
|
|
936
|
+
var CaptionStyleStatus = import_v34.z.nativeEnum(CaptionStyle);
|
|
938
937
|
var Styles = [
|
|
939
938
|
{ value: 1 /* ONE_LINE */, label: "One Line" },
|
|
940
939
|
{ value: 2 /* ONE_LINE_EMOJIS */, label: "One Line + Emojis" },
|
|
@@ -942,44 +941,44 @@ var Styles = [
|
|
|
942
941
|
{ value: 3 /* TWO_LINES_EMOJIS */, label: "Two Lines + Emojis" },
|
|
943
942
|
{ value: 4 /* HOME_HIGHLIGHT */, label: "Home Tour" }
|
|
944
943
|
];
|
|
945
|
-
var TimelineItemSchema =
|
|
946
|
-
status:
|
|
947
|
-
title:
|
|
948
|
-
description:
|
|
949
|
-
timestamp:
|
|
950
|
-
metadata:
|
|
944
|
+
var TimelineItemSchema = import_v34.z.object({
|
|
945
|
+
status: import_v34.z.nativeEnum(Status2),
|
|
946
|
+
title: import_v34.z.string(),
|
|
947
|
+
description: import_v34.z.string(),
|
|
948
|
+
timestamp: import_v34.z.number(),
|
|
949
|
+
metadata: import_v34.z.record(import_v34.z.string(), import_v34.z.any())
|
|
951
950
|
});
|
|
952
|
-
var FeedbackSchema =
|
|
953
|
-
criteria:
|
|
954
|
-
|
|
955
|
-
id:
|
|
956
|
-
label:
|
|
957
|
-
score:
|
|
958
|
-
comment:
|
|
951
|
+
var FeedbackSchema = import_v34.z.object({
|
|
952
|
+
criteria: import_v34.z.array(
|
|
953
|
+
import_v34.z.object({
|
|
954
|
+
id: import_v34.z.string(),
|
|
955
|
+
label: import_v34.z.string(),
|
|
956
|
+
score: import_v34.z.number().min(0).max(10),
|
|
957
|
+
comment: import_v34.z.string().optional()
|
|
959
958
|
})
|
|
960
959
|
),
|
|
961
|
-
comment:
|
|
960
|
+
comment: import_v34.z.string().optional()
|
|
962
961
|
});
|
|
963
|
-
var ProjectSchema =
|
|
964
|
-
id:
|
|
965
|
-
title:
|
|
966
|
-
instructions:
|
|
967
|
-
submitMonth:
|
|
968
|
-
captionStyle:
|
|
969
|
-
finalVideoId:
|
|
970
|
-
thumbnailUrl:
|
|
971
|
-
modified:
|
|
962
|
+
var ProjectSchema = import_v34.z.object({
|
|
963
|
+
id: import_v34.z.string(),
|
|
964
|
+
title: import_v34.z.string(),
|
|
965
|
+
instructions: import_v34.z.string(),
|
|
966
|
+
submitMonth: import_v34.z.string(),
|
|
967
|
+
captionStyle: import_v34.z.nativeEnum(CaptionStyle),
|
|
968
|
+
finalVideoId: import_v34.z.string().optional(),
|
|
969
|
+
thumbnailUrl: import_v34.z.string().optional(),
|
|
970
|
+
modified: import_v34.z.number(),
|
|
972
971
|
feedback: FeedbackSchema.optional(),
|
|
973
|
-
captionSuggestion:
|
|
974
|
-
editorId:
|
|
975
|
-
userId:
|
|
976
|
-
assets:
|
|
977
|
-
expirationTimestamp:
|
|
978
|
-
isFree:
|
|
979
|
-
timeline:
|
|
980
|
-
submitTimestamp:
|
|
981
|
-
tenantId:
|
|
982
|
-
status:
|
|
972
|
+
captionSuggestion: import_v34.z.string().optional(),
|
|
973
|
+
editorId: import_v34.z.string().optional(),
|
|
974
|
+
userId: import_v34.z.string(),
|
|
975
|
+
assets: import_v34.z.array(AssetSchema).optional(),
|
|
976
|
+
expirationTimestamp: import_v34.z.number(),
|
|
977
|
+
isFree: import_v34.z.boolean().optional(),
|
|
978
|
+
timeline: import_v34.z.array(TimelineItemSchema),
|
|
979
|
+
submitTimestamp: import_v34.z.number(),
|
|
980
|
+
tenantId: import_v34.z.string().optional(),
|
|
981
|
+
status: import_v34.z.nativeEnum(Status2)
|
|
983
982
|
});
|
|
984
983
|
|
|
985
984
|
// src/model/project/Project.api.ts
|
|
@@ -1436,22 +1435,22 @@ __export(goal_exports, {
|
|
|
1436
1435
|
});
|
|
1437
1436
|
|
|
1438
1437
|
// src/model/goal/Goal.schema.ts
|
|
1439
|
-
var
|
|
1440
|
-
var DailyMilestoneSchema =
|
|
1441
|
-
id:
|
|
1442
|
-
date:
|
|
1443
|
-
target:
|
|
1444
|
-
progress:
|
|
1438
|
+
var import_v35 = require("zod/v3");
|
|
1439
|
+
var DailyMilestoneSchema = import_v35.z.object({
|
|
1440
|
+
id: import_v35.z.string(),
|
|
1441
|
+
date: import_v35.z.string(),
|
|
1442
|
+
target: import_v35.z.number(),
|
|
1443
|
+
progress: import_v35.z.number()
|
|
1445
1444
|
});
|
|
1446
|
-
var GoalSchema =
|
|
1447
|
-
id:
|
|
1448
|
-
editorId:
|
|
1449
|
-
isoWeek:
|
|
1445
|
+
var GoalSchema = import_v35.z.object({
|
|
1446
|
+
id: import_v35.z.string(),
|
|
1447
|
+
editorId: import_v35.z.string(),
|
|
1448
|
+
isoWeek: import_v35.z.string(),
|
|
1450
1449
|
// ex: "2026-W27"
|
|
1451
|
-
target:
|
|
1452
|
-
progress:
|
|
1453
|
-
createdAt:
|
|
1454
|
-
dailyMilestones:
|
|
1450
|
+
target: import_v35.z.number(),
|
|
1451
|
+
progress: import_v35.z.number(),
|
|
1452
|
+
createdAt: import_v35.z.number(),
|
|
1453
|
+
dailyMilestones: import_v35.z.array(DailyMilestoneSchema)
|
|
1455
1454
|
});
|
|
1456
1455
|
|
|
1457
1456
|
// src/model/goal/Goal.api.ts
|
|
@@ -1514,29 +1513,29 @@ __export(note_exports, {
|
|
|
1514
1513
|
});
|
|
1515
1514
|
|
|
1516
1515
|
// src/model/note/Note.schema.ts
|
|
1517
|
-
var
|
|
1518
|
-
var NoteHistorySchema =
|
|
1519
|
-
type:
|
|
1516
|
+
var import_v36 = require("zod/v3");
|
|
1517
|
+
var NoteHistorySchema = import_v36.z.object({
|
|
1518
|
+
type: import_v36.z.enum([
|
|
1520
1519
|
"created",
|
|
1521
1520
|
"updated",
|
|
1522
1521
|
"deleted",
|
|
1523
1522
|
"asset-added",
|
|
1524
1523
|
"asset-removed"
|
|
1525
1524
|
]),
|
|
1526
|
-
actorEmail:
|
|
1527
|
-
timestamp:
|
|
1528
|
-
details:
|
|
1525
|
+
actorEmail: import_v36.z.string().email(),
|
|
1526
|
+
timestamp: import_v36.z.number(),
|
|
1527
|
+
details: import_v36.z.string().optional()
|
|
1529
1528
|
});
|
|
1530
|
-
var NoteSchema =
|
|
1531
|
-
id:
|
|
1532
|
-
userId:
|
|
1533
|
-
authorEmail:
|
|
1534
|
-
assets:
|
|
1535
|
-
title:
|
|
1536
|
-
content:
|
|
1537
|
-
createdAt:
|
|
1538
|
-
modified:
|
|
1539
|
-
history:
|
|
1529
|
+
var NoteSchema = import_v36.z.object({
|
|
1530
|
+
id: import_v36.z.string(),
|
|
1531
|
+
userId: import_v36.z.string(),
|
|
1532
|
+
authorEmail: import_v36.z.string().email(),
|
|
1533
|
+
assets: import_v36.z.array(AssetSchema),
|
|
1534
|
+
title: import_v36.z.string(),
|
|
1535
|
+
content: import_v36.z.string(),
|
|
1536
|
+
createdAt: import_v36.z.number(),
|
|
1537
|
+
modified: import_v36.z.number(),
|
|
1538
|
+
history: import_v36.z.array(NoteHistorySchema).optional()
|
|
1540
1539
|
});
|
|
1541
1540
|
|
|
1542
1541
|
// src/model/note/Note.api.ts
|
|
@@ -1708,26 +1707,26 @@ __export(prompt_exports, {
|
|
|
1708
1707
|
});
|
|
1709
1708
|
|
|
1710
1709
|
// src/model/prompt/Prompt.schema.ts
|
|
1711
|
-
var
|
|
1712
|
-
var ScriptSchema =
|
|
1713
|
-
id:
|
|
1714
|
-
title:
|
|
1715
|
-
content:
|
|
1716
|
-
tags:
|
|
1717
|
-
userId:
|
|
1710
|
+
var import_v37 = require("zod/v3");
|
|
1711
|
+
var ScriptSchema = import_v37.z.object({
|
|
1712
|
+
id: import_v37.z.string(),
|
|
1713
|
+
title: import_v37.z.string(),
|
|
1714
|
+
content: import_v37.z.string(),
|
|
1715
|
+
tags: import_v37.z.array(import_v37.z.string()).optional(),
|
|
1716
|
+
userId: import_v37.z.string().optional()
|
|
1718
1717
|
});
|
|
1719
|
-
var CategorySchema =
|
|
1720
|
-
id:
|
|
1721
|
-
title:
|
|
1722
|
-
pictureUrl:
|
|
1723
|
-
backgroundColor:
|
|
1724
|
-
active:
|
|
1725
|
-
scripts:
|
|
1718
|
+
var CategorySchema = import_v37.z.object({
|
|
1719
|
+
id: import_v37.z.string(),
|
|
1720
|
+
title: import_v37.z.string(),
|
|
1721
|
+
pictureUrl: import_v37.z.string().url(),
|
|
1722
|
+
backgroundColor: import_v37.z.string(),
|
|
1723
|
+
active: import_v37.z.boolean(),
|
|
1724
|
+
scripts: import_v37.z.array(ScriptSchema)
|
|
1726
1725
|
});
|
|
1727
|
-
var PromptSchema =
|
|
1728
|
-
id:
|
|
1729
|
-
tenantId:
|
|
1730
|
-
categories:
|
|
1726
|
+
var PromptSchema = import_v37.z.object({
|
|
1727
|
+
id: import_v37.z.string(),
|
|
1728
|
+
tenantId: import_v37.z.string(),
|
|
1729
|
+
categories: import_v37.z.array(CategorySchema)
|
|
1731
1730
|
});
|
|
1732
1731
|
|
|
1733
1732
|
// src/model/prompt/Prompt.api.ts
|
|
@@ -1763,85 +1762,85 @@ __export(tenant_exports, {
|
|
|
1763
1762
|
});
|
|
1764
1763
|
|
|
1765
1764
|
// src/model/tenant/Tenant.schema.ts
|
|
1766
|
-
var
|
|
1765
|
+
var import_v39 = require("zod/v3");
|
|
1767
1766
|
|
|
1768
1767
|
// src/model/subscription/Subscription.schema.ts
|
|
1769
|
-
var
|
|
1768
|
+
var import_v38 = require("zod/v3");
|
|
1770
1769
|
var Type = /* @__PURE__ */ ((Type2) => {
|
|
1771
1770
|
Type2[Type2["CUSTOMER_SUBSCRIPTION"] = 0] = "CUSTOMER_SUBSCRIPTION";
|
|
1772
1771
|
Type2[Type2["TENANT_SUBSCRIPTION"] = 1] = "TENANT_SUBSCRIPTION";
|
|
1773
1772
|
return Type2;
|
|
1774
1773
|
})(Type || {});
|
|
1775
|
-
var SubscriptionTypeSchema =
|
|
1776
|
-
var PlanSchema =
|
|
1777
|
-
id:
|
|
1778
|
-
currency:
|
|
1779
|
-
price:
|
|
1780
|
-
interval:
|
|
1781
|
-
metadata:
|
|
1782
|
-
subscriptionItemId:
|
|
1774
|
+
var SubscriptionTypeSchema = import_v38.z.nativeEnum(Type);
|
|
1775
|
+
var PlanSchema = import_v38.z.object({
|
|
1776
|
+
id: import_v38.z.string(),
|
|
1777
|
+
currency: import_v38.z.string(),
|
|
1778
|
+
price: import_v38.z.number(),
|
|
1779
|
+
interval: import_v38.z.string(),
|
|
1780
|
+
metadata: import_v38.z.record(import_v38.z.string(), import_v38.z.string()),
|
|
1781
|
+
subscriptionItemId: import_v38.z.string()
|
|
1783
1782
|
});
|
|
1784
|
-
var DescriptionSchema =
|
|
1785
|
-
description:
|
|
1786
|
-
subtitle:
|
|
1783
|
+
var DescriptionSchema = import_v38.z.object({
|
|
1784
|
+
description: import_v38.z.string(),
|
|
1785
|
+
subtitle: import_v38.z.string()
|
|
1787
1786
|
});
|
|
1788
|
-
var ProductSchema =
|
|
1789
|
-
id:
|
|
1790
|
-
name:
|
|
1791
|
-
descriptions:
|
|
1792
|
-
metadata:
|
|
1793
|
-
plans:
|
|
1794
|
-
percentOff:
|
|
1787
|
+
var ProductSchema = import_v38.z.object({
|
|
1788
|
+
id: import_v38.z.string(),
|
|
1789
|
+
name: import_v38.z.string(),
|
|
1790
|
+
descriptions: import_v38.z.array(DescriptionSchema),
|
|
1791
|
+
metadata: import_v38.z.any(),
|
|
1792
|
+
plans: import_v38.z.array(PlanSchema),
|
|
1793
|
+
percentOff: import_v38.z.number().default(0)
|
|
1795
1794
|
});
|
|
1796
|
-
var ChargeSchema =
|
|
1797
|
-
id:
|
|
1798
|
-
created:
|
|
1799
|
-
paid:
|
|
1800
|
-
receiptUrl:
|
|
1801
|
-
status:
|
|
1802
|
-
price:
|
|
1803
|
-
paymentType:
|
|
1804
|
-
last4:
|
|
1805
|
-
brand:
|
|
1795
|
+
var ChargeSchema = import_v38.z.object({
|
|
1796
|
+
id: import_v38.z.number(),
|
|
1797
|
+
created: import_v38.z.number(),
|
|
1798
|
+
paid: import_v38.z.boolean(),
|
|
1799
|
+
receiptUrl: import_v38.z.string(),
|
|
1800
|
+
status: import_v38.z.string(),
|
|
1801
|
+
price: import_v38.z.string(),
|
|
1802
|
+
paymentType: import_v38.z.string(),
|
|
1803
|
+
last4: import_v38.z.string().optional(),
|
|
1804
|
+
brand: import_v38.z.string().optional()
|
|
1806
1805
|
});
|
|
1807
|
-
var SubscriptionSchema =
|
|
1808
|
-
id:
|
|
1809
|
-
status:
|
|
1810
|
-
startDate:
|
|
1811
|
-
daysUntilDue:
|
|
1812
|
-
renewAutomatically:
|
|
1813
|
-
currentPeriodStart:
|
|
1814
|
-
currentPeriodEnd:
|
|
1815
|
-
paymentMethodId:
|
|
1806
|
+
var SubscriptionSchema = import_v38.z.object({
|
|
1807
|
+
id: import_v38.z.string(),
|
|
1808
|
+
status: import_v38.z.string(),
|
|
1809
|
+
startDate: import_v38.z.number().optional(),
|
|
1810
|
+
daysUntilDue: import_v38.z.number().optional(),
|
|
1811
|
+
renewAutomatically: import_v38.z.boolean().optional(),
|
|
1812
|
+
currentPeriodStart: import_v38.z.number().optional(),
|
|
1813
|
+
currentPeriodEnd: import_v38.z.number().optional(),
|
|
1814
|
+
paymentMethodId: import_v38.z.string().optional(),
|
|
1816
1815
|
product: ProductSchema,
|
|
1817
|
-
type:
|
|
1816
|
+
type: import_v38.z.nativeEnum(Type).optional(),
|
|
1818
1817
|
plan: PlanSchema.optional()
|
|
1819
1818
|
});
|
|
1820
1819
|
|
|
1821
1820
|
// src/model/tenant/Tenant.schema.ts
|
|
1822
|
-
var PreferencesSchema =
|
|
1823
|
-
iconUrl:
|
|
1824
|
-
logoUrl:
|
|
1825
|
-
primaryColor:
|
|
1826
|
-
secondaryColor:
|
|
1827
|
-
guidelinesUrl:
|
|
1821
|
+
var PreferencesSchema = import_v39.z.object({
|
|
1822
|
+
iconUrl: import_v39.z.string().url(),
|
|
1823
|
+
logoUrl: import_v39.z.string().url(),
|
|
1824
|
+
primaryColor: import_v39.z.string(),
|
|
1825
|
+
secondaryColor: import_v39.z.string(),
|
|
1826
|
+
guidelinesUrl: import_v39.z.string().url().optional()
|
|
1828
1827
|
});
|
|
1829
|
-
var TenantSchema =
|
|
1830
|
-
id:
|
|
1831
|
-
name:
|
|
1832
|
-
isActive:
|
|
1833
|
-
isSubscriptionActive:
|
|
1828
|
+
var TenantSchema = import_v39.z.object({
|
|
1829
|
+
id: import_v39.z.string(),
|
|
1830
|
+
name: import_v39.z.string(),
|
|
1831
|
+
isActive: import_v39.z.boolean(),
|
|
1832
|
+
isSubscriptionActive: import_v39.z.boolean(),
|
|
1834
1833
|
preferences: PreferencesSchema,
|
|
1835
|
-
inviteCode:
|
|
1836
|
-
totalUsersAllowed:
|
|
1837
|
-
currentUsersSize:
|
|
1838
|
-
chargeByEmail:
|
|
1839
|
-
defaultProductId:
|
|
1840
|
-
defaultPlanId:
|
|
1841
|
-
defaultCoupomCode:
|
|
1842
|
-
allowedProducts:
|
|
1843
|
-
useOwnScripts:
|
|
1844
|
-
subscription:
|
|
1834
|
+
inviteCode: import_v39.z.string(),
|
|
1835
|
+
totalUsersAllowed: import_v39.z.number(),
|
|
1836
|
+
currentUsersSize: import_v39.z.number().optional(),
|
|
1837
|
+
chargeByEmail: import_v39.z.boolean(),
|
|
1838
|
+
defaultProductId: import_v39.z.string().optional(),
|
|
1839
|
+
defaultPlanId: import_v39.z.string().optional(),
|
|
1840
|
+
defaultCoupomCode: import_v39.z.string().optional(),
|
|
1841
|
+
allowedProducts: import_v39.z.array(import_v39.z.string()).optional(),
|
|
1842
|
+
useOwnScripts: import_v39.z.boolean().optional(),
|
|
1843
|
+
subscription: import_v39.z.optional(import_v39.z.lazy(() => SubscriptionSchema))
|
|
1845
1844
|
});
|
|
1846
1845
|
|
|
1847
1846
|
// src/model/tenant/Tenant.api.ts
|
|
@@ -1883,7 +1882,7 @@ __export(user_exports, {
|
|
|
1883
1882
|
});
|
|
1884
1883
|
|
|
1885
1884
|
// src/model/user/User.schema.ts
|
|
1886
|
-
var
|
|
1885
|
+
var import_v310 = require("zod/v3");
|
|
1887
1886
|
var Role = /* @__PURE__ */ ((Role2) => {
|
|
1888
1887
|
Role2["USER"] = "User";
|
|
1889
1888
|
Role2["EDITOR"] = "Editor";
|
|
@@ -1899,30 +1898,30 @@ var System = /* @__PURE__ */ ((System2) => {
|
|
|
1899
1898
|
System2["ADMIN"] = "ADMIN";
|
|
1900
1899
|
return System2;
|
|
1901
1900
|
})(System || {});
|
|
1902
|
-
var PreferencesSchema2 =
|
|
1903
|
-
primaryColor:
|
|
1904
|
-
secondaryColor:
|
|
1905
|
-
facebookLink:
|
|
1906
|
-
isFeedbackEnabled:
|
|
1907
|
-
instagramLink:
|
|
1908
|
-
industries:
|
|
1909
|
-
bRoll:
|
|
1910
|
-
logo:
|
|
1901
|
+
var PreferencesSchema2 = import_v310.z.object({
|
|
1902
|
+
primaryColor: import_v310.z.string().optional(),
|
|
1903
|
+
secondaryColor: import_v310.z.string().optional(),
|
|
1904
|
+
facebookLink: import_v310.z.string().optional(),
|
|
1905
|
+
isFeedbackEnabled: import_v310.z.boolean().default(true).optional(),
|
|
1906
|
+
instagramLink: import_v310.z.string().optional(),
|
|
1907
|
+
industries: import_v310.z.array(import_v310.z.string()).optional(),
|
|
1908
|
+
bRoll: import_v310.z.boolean().optional(),
|
|
1909
|
+
logo: import_v310.z.string().optional()
|
|
1911
1910
|
});
|
|
1912
|
-
var UserSchema =
|
|
1913
|
-
id:
|
|
1914
|
-
name:
|
|
1915
|
-
email:
|
|
1916
|
-
fcmToken:
|
|
1917
|
-
profession:
|
|
1918
|
-
photoUrl:
|
|
1911
|
+
var UserSchema = import_v310.z.object({
|
|
1912
|
+
id: import_v310.z.string(),
|
|
1913
|
+
name: import_v310.z.string(),
|
|
1914
|
+
email: import_v310.z.string().email(),
|
|
1915
|
+
fcmToken: import_v310.z.string().optional(),
|
|
1916
|
+
profession: import_v310.z.string().optional(),
|
|
1917
|
+
photoUrl: import_v310.z.string().optional(),
|
|
1919
1918
|
preferences: PreferencesSchema2.optional(),
|
|
1920
|
-
tenantId:
|
|
1921
|
-
editorId:
|
|
1922
|
-
timezone:
|
|
1923
|
-
experienceId:
|
|
1924
|
-
customerId:
|
|
1925
|
-
role:
|
|
1919
|
+
tenantId: import_v310.z.string().optional(),
|
|
1920
|
+
editorId: import_v310.z.string().optional(),
|
|
1921
|
+
timezone: import_v310.z.string().optional(),
|
|
1922
|
+
experienceId: import_v310.z.string().optional(),
|
|
1923
|
+
customerId: import_v310.z.string(),
|
|
1924
|
+
role: import_v310.z.nativeEnum(Role)
|
|
1926
1925
|
});
|
|
1927
1926
|
|
|
1928
1927
|
// src/model/user/User.api.ts
|
|
@@ -2018,16 +2017,16 @@ __export(track_exports, {
|
|
|
2018
2017
|
});
|
|
2019
2018
|
|
|
2020
2019
|
// src/model/track/Track.schema.ts
|
|
2021
|
-
var
|
|
2022
|
-
var TrackParamSchema =
|
|
2023
|
-
name:
|
|
2024
|
-
value:
|
|
2020
|
+
var import_v311 = require("zod/v3");
|
|
2021
|
+
var TrackParamSchema = import_v311.z.object({
|
|
2022
|
+
name: import_v311.z.string(),
|
|
2023
|
+
value: import_v311.z.union([import_v311.z.string(), import_v311.z.number()])
|
|
2025
2024
|
});
|
|
2026
|
-
var TrackSchema =
|
|
2027
|
-
category:
|
|
2028
|
-
label:
|
|
2029
|
-
action:
|
|
2030
|
-
params:
|
|
2025
|
+
var TrackSchema = import_v311.z.object({
|
|
2026
|
+
category: import_v311.z.string(),
|
|
2027
|
+
label: import_v311.z.string(),
|
|
2028
|
+
action: import_v311.z.string(),
|
|
2029
|
+
params: import_v311.z.array(TrackParamSchema).optional()
|
|
2031
2030
|
});
|
|
2032
2031
|
|
|
2033
2032
|
// src/model/track/Track.api.ts
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/util/HTTPClient.ts","../src/model/notification/index.ts","../src/model/notification/Notification.schema.ts","../src/model/notification/Notification.api.ts","../src/api/Notification.api.ts","../src/api/Prompt.api.ts","../src/api/Subscription.api.ts","../src/api/Tenant.api.ts","../src/util/parseQuery.ts","../src/api/User.api.ts","../src/api/Track.api.ts","../src/model/email/index.ts","../src/model/email/Email.schema.ts","../src/model/email/Email.api.ts","../src/api/Email.api.ts","../src/model/project/index.ts","../src/model/project/Project.schema.ts","../src/model/asset/index.ts","../src/model/asset/Asset.schema.ts","../src/model/project/Project.api.ts","../src/model/project/StatusConfig.ts","../src/api/Project.api.ts","../src/model/goal/index.ts","../src/model/goal/Goal.schema.ts","../src/model/goal/Goal.api.ts","../src/api/Goal.api.ts","../src/model/app-config/AppConfig.api.ts","../src/api/AppConfig.api.ts","../src/model/note/index.ts","../src/model/note/Note.schema.ts","../src/model/note/Note.api.ts","../src/api/Note.api.ts","../src/model/Api.ts","../src/model/exceptions/index.ts","../src/model/exceptions/ShredException.ts","../src/model/exceptions/ConflictException.ts","../src/model/exceptions/InvalidArgumentException.ts","../src/model/exceptions/ResourceNotFoundException.ts","../src/model/exceptions/UnauthorizedException.ts","../src/model/exceptions/ForbiddenException.ts","../src/model/prompt/index.ts","../src/model/prompt/Prompt.schema.ts","../src/model/prompt/Prompt.api.ts","../src/model/tenant/index.ts","../src/model/tenant/Tenant.schema.ts","../src/model/subscription/Subscription.schema.ts","../src/model/tenant/Tenant.api.ts","../src/model/user/index.ts","../src/model/user/User.schema.ts","../src/model/user/User.api.ts","../src/model/subscription/index.ts","../src/model/subscription/Subscription.api.ts","../src/model/track/index.ts","../src/model/track/Track.schema.ts","../src/model/track/Track.api.ts","../src/model/core/index.ts"],"sourcesContent":["import { ShredAPI } from \"./model/Api\";\n\n//V2\nexport * as Exceptions from \"./model/exceptions\";\nexport * as Prompt from \"./model/prompt\";\nexport * as Asset from \"./model/asset\";\nexport * as Tenant from \"./model/tenant\";\nexport * as User from \"./model/user\";\nexport * as Subscription from \"./model/subscription\";\nexport * as Track from \"./model/track\";\nexport * as Email from \"./model/email\";\nexport * as Core from \"./model/core\";\nexport * as Project from \"./model/project\";\nexport * as Goal from \"./model/goal\";\nexport * as Notification from \"./model/notification\";\nexport * as Note from \"./model/note\";\n\nexport default ShredAPI;\n","import axios, { AxiosError, Method } from \"axios\";\nimport Environment from \"../model/Env\";\nimport Context from \"./../model/Context\";\n\nconst HOSTS = {\n prod: \"https://api.shreditapp.com\",\n staging: \"https://api.staging.shreditapp.com\",\n local: \"https://api.staging.shreditapp.com\",\n};\n\nconst OLD_HOSTS = {\n prod: \"https://api.shredmedia.co\",\n staging: \"https://api-staging.shredmedia.co\",\n local: \"https://api-staging.shredmedia.co\",\n};\n\nexport default class HTTPClient {\n async makeRequest(\n env: Environment,\n uri: string,\n method: Method,\n data?: any,\n context?: Context | null,\n useLegacyApi?: boolean\n ): Promise<any> {\n const hostDict = useLegacyApi ? OLD_HOSTS : HOSTS;\n const host = hostDict[env] || hostDict.staging;\n const url = host + uri;\n\n const headers: Record<string, string> = {\n \"Content-Type\": useLegacyApi\n ? \"application/x-www-form-urlencoded\"\n : \"application/json\",\n };\n\n if (context?.token) {\n headers[\"Authorization\"] = `Bearer ${context.token}`;\n }\n\n if (context?.requestId) {\n headers[\"X-Request-ID\"] = context.requestId;\n }\n\n try {\n const response = await axios.request({\n url,\n method,\n headers,\n data:\n method !== \"GET\" && data\n ? useLegacyApi\n ? new URLSearchParams(data).toString()\n : data // axios já faz JSON.stringify\n : undefined,\n transformResponse: [(raw) => raw], // evita parse automático para podermos tratar manual\n });\n\n try {\n return JSON.parse(response.data);\n } catch {\n return response.data;\n }\n } catch (err) {\n const error = err as AxiosError;\n\n let parsedBody: any = {};\n if (error.response) {\n try {\n parsedBody =\n typeof error.response.data === \"string\"\n ? JSON.parse(error.response.data)\n : error.response.data;\n } catch {\n parsedBody = {\n message:\n (error.response.data as any)?.message ||\n error.response.statusText ||\n \"Unknown error\",\n };\n }\n\n throw {\n message: parsedBody.message || \"Unexpected error occurred\",\n status: error.response.status,\n body: error.response.data,\n original: error,\n };\n }\n\n throw {\n message: error.message || \"Network error\",\n original: error,\n };\n }\n }\n}\n","export type {\n Trigger,\n NotificationDetail,\n NotificationItem,\n RecurrenceRule,\n History,\n Criteria,\n} from \"./Notification.schema\";\n\nexport {\n TriggerSchema,\n NotificationDetailSchema,\n NotificationItemSchema,\n RecurrenceRuleSchema,\n CriteriaSchema,\n HistorySchema,\n Frequency,\n WeekDay,\n CriteriaType,\n TransportType,\n Status,\n} from \"./Notification.schema\";\n\nexport * from \"./Notification.api\";\n","import { z } from \"zod\";\n\nexport enum Frequency {\n DAILY = \"daily\",\n WEEKLY = \"weekly\",\n MONTHLY = \"monthly\",\n}\n\nexport enum WeekDay {\n MONDAY = 1,\n TUESDAY = 2,\n WEDNESDAY = 3,\n THURSDAY = 4,\n FRIDAY = 5,\n SATURDAY = 6,\n SUNDAY = 7,\n}\n\nexport enum CriteriaType {\n AllUsers = \"allUsers\",\n NoProjects = \"noProjects\",\n NoSubscription = \"noSubscription\",\n UsersFromTier = \"usersFromTier\",\n}\n\nexport enum TransportType {\n Push = \"push\",\n Email = \"email\",\n}\n\nexport enum Status {\n SCHEDULED = \"scheduled\",\n RUNNING = \"running\",\n COMPLETED = \"completed\",\n FAILED = \"failed\",\n PAUSED = \"paused\",\n CANCELLED = \"cancelled\",\n ACTIVE = \"active\",\n EXPIRED = \"expired\",\n}\n\nexport const NotificationItemSchema = z.object({\n id: z.string(),\n userId: z.string(),\n triggerId: z.string().optional(),\n title: z.string(),\n body: z.string(),\n status: z.enum([\"failed\", \"delivered\", \"deleted\"]),\n deliveredAt: z.number(),\n openedAt: z.number().optional(),\n deletedAt: z.number().optional(),\n cta: z.object({ label: z.string(), url: z.string().url() }).optional(),\n metadata: z.record(z.union([z.string(), z.number()])),\n error: z.string().optional(),\n});\n\nexport const NotificationDetailSchema = NotificationItemSchema.pick({\n title: true,\n body: true,\n userId: true,\n metadata: true,\n cta: true,\n});\n\nexport const CriteriaSchema = z.object({\n type: z.nativeEnum(CriteriaType),\n params: z.record(z.any()),\n});\n\nexport const HistorySchema = z.object({\n batchId: z.string(),\n executedAt: z.number(),\n timezone: z.string(),\n status: z.enum([\"success\", \"failed\", \"info\", \"warn\"]),\n users: z.object({\n total: z.number(),\n success: z.number(),\n error: z.number(),\n }),\n errorList: z\n .array(\n z.object({\n token: z.string(),\n error: z.string(),\n })\n )\n .optional(),\n executionTimeDuration: z.number().optional(),\n});\n\nexport const RecurrenceRuleSchema = z.object({\n frequency: z.nativeEnum(Frequency),\n interval: z.number(),\n weekDays: z.array(z.nativeEnum(WeekDay)).optional(),\n dayOfMonth: z.number().optional(),\n endDate: z.string().optional(),\n ocurrences: z.number().optional(),\n});\n\nexport const TriggerSchema = z.object({\n id: z.string(),\n title: z.string(),\n description: z.string(),\n transportType: z.array(z.nativeEnum(TransportType)),\n notification: NotificationDetailSchema,\n history: z.array(HistorySchema).optional(),\n status: z.nativeEnum(Status),\n recurrence: RecurrenceRuleSchema.optional(),\n timezone: z.string().nullable().optional(),\n tenantIds: z.array(z.string()).optional(),\n executionDate: z.string().optional(),\n timeOfDay: z.string(),\n criteria: CriteriaSchema,\n nextExecution: z.number().optional(),\n createdAt: z.number().optional(),\n modified: z.number().optional(),\n});\n\nexport type NotificationItem = z.infer<typeof NotificationItemSchema>;\nexport type NotificationDetail = z.infer<typeof NotificationDetailSchema>;\nexport type Trigger = z.infer<typeof TriggerSchema>;\nexport type RecurrenceRule = z.infer<typeof RecurrenceRuleSchema>;\nexport type History = z.infer<typeof HistorySchema>;\nexport type Criteria = z.infer<typeof CriteriaSchema>;\n","import Context from \"../Context\";\nimport {\n Trigger,\n NotificationDetail,\n NotificationItem,\n} from \"./Notification.schema\";\nimport * as Core from \"../core/\";\n\nexport interface IAPI {\n getTriggers: (ctx: Context) => Promise<Core.APIResponse<Trigger>>;\n createTrigger: (ctx: Context, t: Trigger) => Promise<Trigger>;\n deleteTrigger: (ctx: Context, triggerId: string) => Promise<boolean>;\n updateTrigger: (\n ctx: Context,\n triggerId: string,\n trigger: Partial<Trigger>\n ) => Promise<Trigger>;\n push: (\n context: Context,\n notification: NotificationDetail\n ) => Promise<boolean>;\n getNotifications: (\n ctx: Context\n ) => Promise<Core.APIResponse<NotificationItem>>;\n markAsRead: (ctx: Context, id: string) => Promise<boolean>;\n clearNotifications: (ctx: Context) => Promise<boolean>;\n}\n\nexport const Endpoints = {\n Create: { uri: \"/notifications/trigger/\", method: \"POST\" },\n List: { uri: \"/notifications/trigger/list/\", method: \"GET\" },\n Update: { uri: \"/notifications/trigger/:id/\", method: \"PUT\" },\n Delete: { uri: \"/notifications/trigger/:id/\", method: \"DELETE\" },\n Push: { uri: \"/notifications/push/\", method: \"POST\" },\n ListNotifications: { uri: \"/notifications/list/\", method: \"GET\" },\n MarkAsRead: { uri: \"/notifications/:id/read/\", method: \"PUT\" },\n ClearNotifications: { uri: \"/notifications/clear/\", method: \"DELETE\" },\n};\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport * as Notification from \"../model/notification\";\nimport * as Core from \"../model/core\";\nimport Context from \"../model/Context\";\n\nclass NotificationAPI implements Notification.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async clearNotifications(ctx: Context): Promise<boolean> {\n const endpointData = Notification.Endpoints.ClearNotifications;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n ctx\n );\n return data;\n }\n\n async markAsRead(ctx: Context, id: string): Promise<boolean> {\n const endpointData = Notification.Endpoints.MarkAsRead;\n const endpoint = endpointData.uri.replace(\":id\", id);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n ctx\n );\n return data;\n }\n\n async getNotifications(\n ctx: Context\n ): Promise<Core.APIResponse<Notification.NotificationItem>> {\n const endpointData = Notification.Endpoints.ListNotifications;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n ctx\n );\n return data;\n }\n\n async deleteTrigger(ctx: Context, triggerId: string): Promise<boolean> {\n const endpointData = Notification.Endpoints.Delete;\n const endpoint = endpointData.uri.replace(\":id\", triggerId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n ctx\n );\n return data;\n }\n\n async updateTrigger(\n ctx: Context,\n triggerId: string,\n t: Partial<Notification.Trigger>\n ): Promise<Notification.Trigger> {\n const endpointData = Notification.Endpoints.Update;\n const endpoint = endpointData.uri.replace(\":id\", triggerId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n t,\n ctx\n );\n return data;\n }\n\n async createTrigger(\n ctx: Context,\n t: Notification.Trigger\n ): Promise<Notification.Trigger> {\n const endpointData = Notification.Endpoints.Create;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n t,\n ctx\n );\n return data;\n }\n\n async getTriggers(\n ctx: Context\n ): Promise<Core.APIResponse<Notification.Trigger>> {\n const endpointInfo = Notification.Endpoints.List;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n ctx\n );\n return data;\n }\n\n async push(\n ctx: Context,\n notification: Notification.NotificationDetail\n ): Promise<boolean> {\n const endpointInfo = Notification.Endpoints.Push;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n notification,\n ctx\n );\n\n return data.success;\n }\n}\n\nexport default NotificationAPI;\n","import Context from \"../model/Context\";\nimport HTTPClient from \"../util/HTTPClient\";\nimport { Prompt } from \"../\";\nimport Environment from \"../model/Env\";\n\nclass PromptAPI implements Prompt.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async getPrompt(context: Context): Promise<Prompt.Entity> {\n const endpointInfo = Prompt.Endpoints.GetPrompt;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n context\n );\n return data;\n }\n\n async getScripts(context: Context): Promise<Prompt.Script[]> {\n const endpointInfo = Prompt.Endpoints.ListScript;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n context\n );\n return data;\n }\n\n async updateScript(\n c: Context,\n id: string,\n script: Partial<Prompt.Script>\n ): Promise<boolean> {\n const endpointData = Prompt.Endpoints.UpdateScript;\n const endpoint = endpointData.uri.replace(\":id\", id);\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n { ...script },\n c\n );\n return data;\n }\n\n async addScript(\n c: Context,\n script: Partial<Prompt.Script>\n ): Promise<Prompt.Script> {\n const endpointInfo = Prompt.Endpoints.AddScript;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n { ...script },\n c\n );\n return data;\n }\n\n async deleteScript(c: Context, id: string): Promise<boolean> {\n const endpointData = Prompt.Endpoints.DeleteScript;\n const endpoint = endpointData.uri.replace(\":id\", id);\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n c\n );\n return data;\n }\n}\n\nexport default PromptAPI;\n","import Context from \"../model/Context\";\nimport { Subscription } from \"../\";\nimport HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\n\nclass SubscriptionAPI implements Subscription.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async getPortalUrl(ctx: Context): Promise<string> {\n const endpointInfo = Subscription.Endpoints.GetPortal;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n ctx\n );\n\n return data.url;\n }\n\n async updatePlan(ctx: Context, planId: string): Promise<boolean> {\n const endpointInfo = Subscription.Endpoints.UpdatePlan;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n { planId },\n ctx\n );\n\n return data;\n }\n\n async getProduct(\n id: string,\n context?: Context\n ): Promise<Subscription.Product> {\n const endpointInfo = Subscription.Endpoints.GetProduct;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}/${id}`,\n endpointInfo.method,\n null,\n context\n );\n\n return data;\n }\n async getCharges(ctx: Context): Promise<Subscription.Charge[]> {\n const endpointInfo = Subscription.Endpoints.GetCharges;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}`,\n endpointInfo.method,\n null,\n ctx\n );\n\n return data;\n }\n\n async getSubscription(\n context: Context,\n userId?: string\n ): Promise<Subscription.Entity | null> {\n const endpointInfo = Subscription.Endpoints.GetActiveSubscription;\n let uri = endpointInfo.uri;\n let method = endpointInfo.method;\n\n if (userId) {\n const endpointData = Subscription.Endpoints.GetUserActiveSubscription;\n const endpoint = endpointData.uri.replace(\":userId\", userId);\n uri = endpoint;\n method = endpointData.method;\n }\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n uri,\n method,\n null,\n context\n );\n return data;\n }\n\n async charge(ctx: Context): Promise<boolean> {\n const endpointInfo = Subscription.Endpoints.Charge;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n ctx\n );\n\n return data.success;\n }\n\n async pause(ctx: Context): Promise<boolean> {\n const endpointInfo = Subscription.Endpoints.Pause;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n ctx\n );\n return data;\n }\n\n async resume(ctx: Context): Promise<boolean> {\n const endpointInfo = Subscription.Endpoints.Resume;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n ctx\n );\n return data;\n }\n\n async getProducts(ctx?: Context): Promise<Subscription.Product[]> {\n const endpointInfo = ctx\n ? Subscription.Endpoints.GetProductsByUser\n : Subscription.Endpoints.GetProducts;\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n ctx\n );\n\n return data;\n }\n\n async createCheckout(planId: string | null, ctx: Context): Promise<string> {\n const endpointInfo = Subscription.Endpoints.Checkout;\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n { planId },\n ctx\n );\n\n return data.url;\n }\n}\n\nexport default SubscriptionAPI;\n","import Context from \"../model/Context\";\nimport { Tenant } from \"../\";\nimport HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\n\nclass TenantAPI implements Tenant.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async getByInviteCode(\n inviteCode: string,\n context?: Context\n ): Promise<Tenant.Entity | null> {\n const endpointInfo = Tenant.Endpoints.GetByInviteCode;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}/${inviteCode}`,\n endpointInfo.method,\n null,\n context\n );\n\n return data;\n }\n\n async getTenant(\n context: Context,\n tenantId?: string\n ): Promise<Tenant.Entity | null> {\n const endpointInfo = Tenant.Endpoints.GetTenant;\n let uri = endpointInfo.uri;\n let method = endpointInfo.method;\n\n if (tenantId) {\n const endpointData = Tenant.Endpoints.GetTenantById;\n const endpoint = endpointData.uri.replace(\":tenantId\", tenantId);\n uri = endpoint;\n method = endpointData.method;\n }\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n uri,\n method,\n null,\n context\n );\n\n return data;\n }\n\n async create(t: Tenant.Entity, context: Context): Promise<boolean> {\n const endpointInfo = Tenant.Endpoints.CreateTenant;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}`,\n endpointInfo.method,\n { ...t },\n context\n );\n\n return data;\n }\n\n async list(context: Context): Promise<Tenant.Entity[]> {\n const endpointInfo = Tenant.Endpoints.ListAll;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}`,\n endpointInfo.method,\n null,\n context\n );\n\n return data;\n }\n\n async update(\n tenantId: string,\n updateData: Pick<Tenant.Entity, \"preferences\">,\n context: Context\n ): Promise<boolean> {\n const endpointInfo = Tenant.Endpoints.UpdateTenant;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}`,\n endpointInfo.method,\n { tenantId, data: updateData },\n context\n );\n\n return data;\n }\n}\n\nexport default TenantAPI;\n","import * as Core from \"../model/core\";\n\nexport const buildQueryString = <T>(\n query: Partial<Core.QueryOptions<T>>\n): string => {\n const params: Record<string, string[]> = {};\n\n if (query.perPage) {\n params[\"perPage\"] = [String(query.perPage)];\n }\n\n if (query.cursor !== undefined && query.cursor !== null) {\n params[\"cursor\"] = [String(query.cursor)];\n }\n\n if (query.orderBy) {\n params[\"orderBy\"] = [\n `${String(query.orderBy.field)}:${query.orderBy.direction}`,\n ];\n }\n\n if (query.wheres && query.wheres.length > 0) {\n params[\"wheres\"] = query.wheres.map(\n (w) => `${String(w.field)}:${String(w.operation)}:${String(w.value)}`\n );\n }\n\n const queryString = Object.entries(params)\n .flatMap(([key, values]) =>\n values.map((value) => `${key}=${encodeURIComponent(value)}`)\n )\n .join(\"&\");\n\n return queryString ? `?${queryString}` : \"\";\n};\n","import Context from \"../model/Context\";\nimport { User } from \"../\";\nimport HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport * as Core from \"../model/core\";\nimport { buildQueryString } from \"../util/parseQuery\";\n\nclass UserAPI implements User.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async search(\n ctx: Context,\n query: Core.QueryOptions<User.Entity>\n ): Promise<Core.APIResponse<User.Entity>> {\n const endpointData = User.Endpoints.Search;\n const qs = buildQueryString(query);\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}${qs}`,\n endpointData.method,\n null,\n ctx\n );\n return data;\n }\n\n async deleteAccount(ctx: Context): Promise<boolean> {\n const endpointData = User.Endpoints.DeleteAccount;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n ctx\n );\n return data.success;\n }\n\n async createIntegrationToken(ctx: Context): Promise<string> {\n const endpointData = User.Endpoints.CreateToken;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}`,\n endpointData.method,\n null,\n ctx\n );\n return data.token;\n }\n\n async getIntegrationToken(ctx: Context): Promise<string | null> {\n const endpointData = User.Endpoints.GetIntegrationToken;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}`,\n endpointData.method,\n null,\n ctx\n );\n return data.token;\n }\n\n async sendValidationCode(email: string): Promise<boolean> {\n const endpointData = User.Endpoints.SendValidationCode;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}?email=${email}`,\n endpointData.method\n );\n return data.success;\n }\n\n async changePassword(\n email: string,\n pass: string,\n passConfirm: string,\n code: number\n ): Promise<boolean> {\n const endpointData = User.Endpoints.ChangePassword;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n { email, pass, passConfirm, code }\n );\n return data.success;\n }\n\n async changeEmail(\n ctx: Context,\n email: string,\n code: number\n ): Promise<boolean> {\n const endpointData = User.Endpoints.ChangeEmail;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n { email, code },\n ctx\n );\n return data.success;\n }\n\n async confirmCode(\n email: string,\n code: number,\n keepCode?: boolean\n ): Promise<boolean> {\n const endpointData = User.Endpoints.ConfirmCode;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}?email=${email}&code=${code}&keepCode=${keepCode}`,\n endpointData.method\n );\n return data.success;\n }\n\n async isEmailAvaliable(email: string): Promise<boolean> {\n const endpointData = User.Endpoints.IsEmailAvaliable;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}?email=${email}`,\n endpointData.method\n );\n return data.isValid;\n }\n\n async update(\n context: Context,\n update: Partial<User.Update>\n ): Promise<boolean> {\n const endpointData = User.Endpoints.UpdateUser;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}`,\n endpointData.method,\n { ...update },\n context\n );\n return data.isValid;\n }\n\n async getBindedUsers(context: Context): Promise<User.Entity[]> {\n const endpointData = User.Endpoints.GetBindedUsers;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}`,\n endpointData.method,\n null,\n context\n );\n return data;\n }\n\n async setup(context: Context): Promise<boolean> {\n const endpointData = User.Endpoints.Setup;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}`,\n endpointData.method,\n null,\n context\n );\n return data.success;\n }\n\n async authenticate(\n email: string,\n password: string,\n system: User.System\n ): Promise<string> {\n const endpointData = User.Endpoints.Authenticate;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}`,\n endpointData.method,\n { system, email, password }\n );\n return data.token;\n }\n\n async createUser(create: User.Create) {\n const endpointData = User.Endpoints.CreateUser;\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n create,\n null\n );\n\n return data;\n }\n\n async getUserInfo(context: Context): Promise<User.Entity> {\n const endpointData = User.Endpoints.GetUserInfo;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n context\n );\n\n return data;\n }\n}\n\nexport default UserAPI;\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport { Track } from \"../\";\n\nclass TrackAPI implements Track.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async send(t: Track.Entity): Promise<boolean> {\n const endpointInfo = Track.Endpoints.Track;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}`,\n endpointInfo.method,\n t\n );\n\n return data;\n }\n}\n\nexport default TrackAPI;\n","export type { Email as Entity } from \"./Email.schema\";\nexport { EmailSchema } from \"./Email.schema\";\nexport * from \"./Email.api\";\n","import { z } from \"zod\";\n\nexport const EmailSchema = z.object({\n to: z.string().email().optional(),\n subject: z.string(),\n body: z.string(),\n});\n\nexport type Email = z.infer<typeof EmailSchema>;\n","import Context from \"../Context\";\nimport { Email } from \"./Email.schema\";\n\nexport interface IAPI {\n send: (email: Email, ctx?: Context) => Promise<boolean>;\n}\n\nexport const Endpoints = {\n SendEmail: {\n uri: \"/emails/public/send\",\n method: \"POST\",\n },\n};\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport Context from \"../model/Context\";\nimport * as Email from \"../model/email\";\n\nclass EmailAPI implements Email.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async send(email: Email.Entity, ctx?: Context): Promise<boolean> {\n const endpointInfo = Email.Endpoints.SendEmail;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n email,\n ctx\n );\n\n return data.result;\n }\n}\n\nexport default EmailAPI;\n","export type {\n Project as Entity,\n Approve,\n Style,\n ProjectCreation,\n SendToApproval,\n TimelineItem,\n Feedback,\n} from \"./Project.schema\";\n\nexport {\n ProjectSchema,\n Status,\n CaptionStyle,\n Styles,\n TimelineItemSchema,\n FeedbackSchema,\n} from \"./Project.schema\";\n\nexport * from \"./Project.api\";\n\nexport type { StatusConfigType } from \"./StatusConfig\";\n\nexport { StatusConfig } from \"./StatusConfig\";\n","import { z } from \"zod\";\nimport { AssetSchema } from \"../asset\";\n\nexport enum Status {\n SUBMITTED = 0,\n EDITING = 1,\n COMPLETED = 2,\n WAITING_APPROVE = 3,\n DENIED = 4,\n REVISIONING = 5,\n CANCELLED = 6,\n SCHEDULED = 7,\n}\n\nexport enum CaptionStyle {\n ONE_LINE = 1,\n ONE_LINE_EMOJIS = 2,\n TWO_LINES = 5,\n TWO_LINES_EMOJIS = 3,\n HOME_HIGHLIGHT = 4,\n}\n\nexport const StatusSchema = z.nativeEnum(Status);\nexport const CaptionStyleStatus = z.nativeEnum(CaptionStyle);\n\nexport const Styles: Style[] = [\n { value: CaptionStyle.ONE_LINE, label: \"One Line\" },\n { value: CaptionStyle.ONE_LINE_EMOJIS, label: \"One Line + Emojis\" },\n { value: CaptionStyle.TWO_LINES, label: \"Two Lines\" },\n { value: CaptionStyle.TWO_LINES_EMOJIS, label: \"Two Lines + Emojis\" },\n { value: CaptionStyle.HOME_HIGHLIGHT, label: \"Home Tour\" },\n];\n\nexport type Style = {\n value: CaptionStyle;\n label: string;\n};\n\nexport const TimelineItemSchema = z.object({\n status: z.nativeEnum(Status),\n title: z.string(),\n description: z.string(),\n timestamp: z.number(),\n metadata: z.record(z.any()),\n});\n\nexport const FeedbackSchema = z.object({\n criteria: z.array(\n z.object({\n id: z.string(),\n label: z.string(),\n score: z.number().min(0).max(10),\n comment: z.string().optional(),\n })\n ),\n comment: z.string().optional(),\n});\n\nexport const ProjectSchema = z.object({\n id: z.string(),\n title: z.string(),\n instructions: z.string(),\n submitMonth: z.string(),\n captionStyle: z.nativeEnum(CaptionStyle),\n finalVideoId: z.string().optional(),\n thumbnailUrl: z.string().optional(),\n modified: z.number(),\n feedback: FeedbackSchema.optional(),\n captionSuggestion: z.string().optional(),\n editorId: z.string().optional(),\n userId: z.string(),\n assets: z.array(AssetSchema).optional(),\n expirationTimestamp: z.number(),\n isFree: z.boolean().optional(),\n timeline: z.array(TimelineItemSchema),\n submitTimestamp: z.number(),\n tenantId: z.string().optional(),\n status: z.nativeEnum(Status),\n});\n\nexport type ProjectCreation = Pick<\n Project,\n \"title\" | \"instructions\" | \"captionStyle\" | \"assets\"\n>;\n\nexport type SendToApproval = {\n video: string;\n thumbnail: string;\n captionSuggestion: string;\n};\n\nexport type Approve = {\n scheduleTime?: number;\n captionSuggestion: string;\n feedback?: Feedback;\n};\n\nexport type Project = z.infer<typeof ProjectSchema>;\nexport type TimelineItem = z.infer<typeof TimelineItemSchema>;\nexport type Feedback = z.infer<typeof FeedbackSchema>;\n","export { AssetSchema } from \"./Asset.schema\";\nexport type { Asset as Entity } from \"./Asset.schema\";\n","import { z } from \"zod\";\n\nconst AssetSchema = z.object({\n assetId: z.string(),\n fileName: z.string(),\n extension: z.string(),\n fileSize: z.number(),\n assetUrl: z.string().url(),\n thumbnailUrl: z.string().url(),\n type: z.string(),\n duration: z.number().optional(),\n progress: z.number().optional(),\n error: z.string().optional(),\n authorId: z.string(),\n uploadedAt: z.number(),\n});\n\ntype Asset = z.infer<typeof AssetSchema>;\n\nexport { Asset, AssetSchema };\n","import Context from \"../Context\";\nimport {\n Project,\n ProjectCreation,\n SendToApproval,\n Approve,\n} from \"./Project.schema\";\nimport * as Core from \"../core\";\n\nexport interface IAPI {\n reorder: (\n context: Context,\n projectId: string,\n position: number\n ) => Promise<boolean>;\n find: (context: Context, projectId: string) => Promise<Project>;\n create: (context: Context, data: ProjectCreation) => Promise<Project>;\n review: (\n context: Context,\n projectId: string,\n revision: string\n ) => Promise<boolean>;\n cancel: (context: Context, projectId: string) => Promise<boolean>;\n list: (\n context: Context,\n query: Core.QueryOptions<Project>\n ) => Promise<Project[]>;\n start: (context: Context) => Promise<boolean>;\n sendToApproval: (\n context: Context,\n projectId: string,\n data: SendToApproval\n ) => Promise<boolean>;\n approve: (\n context: Context,\n projectId: string,\n data: Approve\n ) => Promise<boolean>;\n deny: (\n context: Context,\n projectId: string,\n denyFeedback: string,\n categories?: string[]\n ) => Promise<boolean>;\n unschedule: (context: Context, projectId: string) => Promise<boolean>;\n rollback: (context: Context, projectId: string) => Promise<boolean>;\n getNext: (context: Context, userId: string) => Promise<Project | null>;\n getUserHistory: (\n context: Context,\n userId: string\n ) => Promise<Core.APIResponse<Project>>;\n\n getPoolSize(context: Context): Promise<number>;\n\n permissions: {\n isEligibleForFreeProject(context: Context): Promise<boolean>;\n };\n}\n\nexport const Endpoints = {\n Reorder: { uri: \"/projects/reorder/\", method: \"POST\" },\n List: { uri: \"/projects/list\", method: \"GET\" },\n GetNext: { uri: \"/projects/:userId/next\", method: \"GET\" },\n CreateProject: { uri: \"/projects/create\", method: \"POST\" },\n FindOne: { uri: `/projects/:projectId/`, method: \"GET\" },\n GetGoals: { uri: `/projects/goals/list/`, method: \"GET\" },\n Review: { uri: \"/projects/:projectId/review/\", method: \"POST\" },\n Cancel: { uri: \"/projects/:projectId/cancel/\", method: \"DELETE\" },\n StartEdition: { uri: \"/projects/edition/start/\", method: \"PUT\" },\n SendToApproval: {\n uri: \"/projects/:projectId/sendToApproval/\",\n method: \"PUT\",\n },\n IsEligibleForFreeProject: {\n uri: \"/projects/free/allowed/\",\n method: \"GET\",\n },\n Approve: { uri: \"/projects/:projectId/approve/\", method: \"POST\" },\n Unschedule: { uri: \"/projects/:projectId/unschedule/\", method: \"POST\" },\n Rollback: { uri: \"/projects/:projectId/rollback/\", method: \"POST\" },\n Deny: { uri: \"/projects/:projectId/deny/\", method: \"POST\" },\n GetUserHistory: { uri: \"/projects/user/:userId/history/\", method: \"GET\" },\n GetPoolSize: { uri: \"/projects/pool/size/\", method: \"GET\" },\n};\n","import { Status } from \"../project\";\n\nexport type StatusConfigType = {\n id: Status;\n label: string;\n\n colors: {\n text: string;\n bg: string;\n border: string;\n dot: string;\n };\n\n thumbnail: {\n primary: string;\n secondary: string;\n };\n\n icons: {\n mobile: { primary: string; secondary: string };\n web: { name: string; iconColor: string; bgColor: string };\n };\n\n progress: {\n primary: string;\n secondary: string;\n border: string;\n };\n};\n\nexport const StatusConfig: Record<Status, StatusConfigType> = {\n [Status.SUBMITTED]: {\n id: Status.SUBMITTED,\n label: \"Submitted\",\n colors: {\n text: \"#0369A1\",\n bg: \"#BAE6FD\",\n border: \"#7DD3FC\",\n dot: \"#0369A1\",\n },\n thumbnail: {\n primary: \"#7DD3FC\",\n secondary: \"#E0F2FE\",\n },\n icons: {\n mobile: { primary: \"#0EA5E9\", secondary: \"#7DD3FC\" },\n web: {\n name: \"Share\",\n iconColor: \"#0369A1\",\n bgColor: \"#7DD3FC\",\n },\n },\n progress: {\n primary: \"#7DD3FC\",\n secondary: \"#F0F9FF\",\n border: \"#E0F2FE\",\n },\n },\n [Status.EDITING]: {\n id: Status.EDITING,\n label: \"In Progress\",\n colors: {\n text: \"#7C3AED\",\n bg: \"#F5F3FF\",\n border: \"#DDD6FE\",\n dot: \"#7C3AED\",\n },\n thumbnail: {\n primary: \"#C4B5FD\",\n secondary: \"#F5F3FF\",\n },\n icons: {\n mobile: { primary: \"#A67EE7\", secondary: \"#C4A9EF\" },\n web: {\n name: \"Hourglass\",\n iconColor: \"#7C3AED\",\n bgColor: \"#DDD6FE\",\n },\n },\n progress: {\n primary: \"#C4B5FD\",\n secondary: \"#F5F3FF\",\n border: \"#EDE9FE\",\n },\n },\n [Status.WAITING_APPROVE]: {\n id: Status.WAITING_APPROVE,\n label: \"Waiting Approval\",\n colors: {\n text: \"#C2410C\",\n bg: \"#FFEDD5\",\n border: \"#FED7AA\",\n dot: \"#EA580C\",\n },\n thumbnail: {\n primary: \"#C4B5FD\",\n secondary: \"#F5F3FF\",\n },\n icons: {\n mobile: { primary: \"#A67EE7\", secondary: \"#C4A9EF\" },\n web: {\n name: \"Clock\",\n iconColor: \"#C2410C\",\n bgColor: \"#FED7AA\",\n },\n },\n progress: {\n primary: \"#FDBA74\",\n secondary: \"#FFF7ED\",\n border: \"#FFEDD5\",\n },\n },\n [Status.DENIED]: {\n id: Status.DENIED,\n label: \"Denied\",\n colors: {\n text: \"#EF4444\",\n bg: \"#FEE2E2\",\n border: \"#FECACA\",\n dot: \"#EF4444\",\n },\n thumbnail: {\n primary: \"#C4B5FD\",\n secondary: \"#F5F3FF\",\n },\n icons: {\n mobile: { primary: \"#A67EE7\", secondary: \"#C4A9EF\" },\n web: {\n name: \"CircleX\",\n iconColor: \"#EF4444\",\n bgColor: \"#FECACA\",\n },\n },\n progress: {\n primary: \"#FCA5A5\",\n secondary: \"#FEF2F2\",\n border: \"#FEE2E2\",\n },\n },\n [Status.SCHEDULED]: {\n id: Status.SCHEDULED,\n label: \"Scheduled\",\n colors: {\n text: \"#3F6212\",\n bg: \"#ECFCCB\",\n border: \"#D9F99D\",\n dot: \"#4D7C0F\",\n },\n thumbnail: {\n primary: \"#C4B5FD\",\n secondary: \"#F5F3FF\",\n },\n icons: {\n mobile: { primary: \"#A67EE7\", secondary: \"#C4A9EF\" },\n web: {\n name: \"CalendarRange\",\n iconColor: \"#3F6212\",\n bgColor: \"#D9F99D\",\n },\n },\n progress: {\n primary: \"#BEF264\",\n secondary: \"#F7FEE7\",\n border: \"#ECFCCB\",\n },\n },\n [Status.COMPLETED]: {\n id: Status.COMPLETED,\n label: \"Completed\",\n colors: {\n text: \"#16A34A\",\n bg: \"#F0FDF4\",\n border: \"#DCFCE7\",\n dot: \"#16A34A\",\n },\n thumbnail: {\n primary: \"#86EFAC\",\n secondary: \"#F0FDF4\",\n },\n icons: {\n mobile: { primary: \"#22C55E\", secondary: \"#BBF7D0\" },\n web: {\n name: \"CircleCheck\",\n iconColor: \"#16A34A\",\n bgColor: \"#DCFCE7\",\n },\n },\n progress: {\n primary: \"#4ADE80\",\n secondary: \"#DCFCE7\",\n border: \"#BBF7D0\",\n },\n },\n [Status.REVISIONING]: {\n id: Status.REVISIONING,\n label: \"Revisioning\",\n colors: {\n text: \"#854D0E\",\n bg: \"#FEF9C3\",\n border: \"#FEF08A\",\n dot: \"#A16207\",\n },\n thumbnail: {\n primary: \"#FDE047\",\n secondary: \"#FEFCE8\",\n },\n icons: {\n mobile: { primary: \"#EAB308\", secondary: \"#FACC15\" },\n web: {\n name: \"FilePen\",\n iconColor: \"#713F12\",\n bgColor: \"#FEF08A\",\n },\n },\n progress: {\n primary: \"#FACC15\",\n secondary: \"#FEF08A\",\n border: \"#FEF9C3\",\n },\n },\n [Status.CANCELLED]: {\n id: Status.CANCELLED,\n label: \"Canceled\",\n colors: {\n text: \"#A3A3A3\",\n bg: \"#F5F5F5\",\n border: \"#E5E5E5\",\n dot: \"#A3A3A3\",\n },\n thumbnail: {\n primary: \"#D4D4D4\",\n secondary: \"#FAFAFA\",\n },\n icons: {\n mobile: { primary: \"#6B7280\", secondary: \"#D1D5DB\" },\n web: {\n name: \"Ban\",\n iconColor: \"#A3A3A3\",\n bgColor: \"#F5F5F5\",\n },\n },\n progress: {\n primary: \"#A3A3A3\",\n secondary: \"#FAFAFA\",\n border: \"#E5E5E5\",\n },\n },\n};\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport * as Project from \"../model/project\";\nimport Context from \"../model/Context\";\nimport * as Core from \"../model/core\";\nimport { buildQueryString } from \"../util/parseQuery\";\n\nclass ProjectAPI implements Project.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async getPoolSize(context: Context): Promise<number> {\n const endpointData = Project.Endpoints.GetPoolSize;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n context\n );\n return data.size;\n }\n\n async reorder(\n ctx: Context,\n projectId: string,\n position: number\n ): Promise<boolean> {\n const endpointData = Project.Endpoints.Reorder;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n { projectId, position },\n ctx\n );\n\n return data.success;\n }\n\n permissions = {\n isEligibleForFreeProject: async (ctx: Context): Promise<boolean> => {\n const endpointData = Project.Endpoints.IsEligibleForFreeProject;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n ctx\n );\n return data.canCreate;\n },\n };\n\n async getNext(ctx: Context, userId: string): Promise<Project.Entity | null> {\n const endpointData = Project.Endpoints.GetNext;\n const endpoint = endpointData.uri.replace(\":userId\", userId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n ctx\n );\n return data;\n }\n\n async getUserHistory(\n context: Context,\n userId: string\n ): Promise<Core.APIResponse<Project.Entity>> {\n const endpointData = Project.Endpoints.GetUserHistory;\n const endpoint = endpointData.uri.replace(\":userId\", userId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n context\n );\n return data;\n }\n\n async find(context: Context, projectId: string): Promise<Project.Entity> {\n const endpointData = Project.Endpoints.FindOne;\n const endpoint = endpointData.uri.replace(\":projectId\", projectId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n context\n );\n return data;\n }\n\n async create(\n context: Context,\n createData: Project.ProjectCreation\n ): Promise<Project.Entity> {\n const endpointData = Project.Endpoints.CreateProject;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n createData,\n context\n );\n return data;\n }\n\n async review(ctx: Context, pId: string, revision: string): Promise<boolean> {\n const endpointData = Project.Endpoints.Review;\n const endpoint = endpointData.uri.replace(\":projectId\", pId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n { revision },\n ctx\n );\n return data.success;\n }\n\n async cancel(ctx: Context, projectId: string): Promise<boolean> {\n const endpointData = Project.Endpoints.Cancel;\n const endpoint = endpointData.uri.replace(\":projectId\", projectId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n ctx\n );\n return data.success;\n }\n\n async list(\n context: Context,\n query: Core.QueryOptions<Project.Entity>\n ): Promise<Project.Entity[]> {\n const endpointData = Project.Endpoints.List;\n const qs = buildQueryString(query);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}${qs}`,\n endpointData.method,\n null,\n context\n );\n return data;\n }\n\n async deny(\n ctx: Context,\n pId: string,\n denyFB: string,\n categories?: string[]\n ): Promise<boolean> {\n const endpointData = Project.Endpoints.Deny;\n const endpoint = endpointData.uri.replace(\":projectId\", pId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n { denyFeedback: denyFB, categories: categories || [] },\n ctx\n );\n return data.success;\n }\n\n async unschedule(context: Context, projectId: string): Promise<boolean> {\n const endpointData = Project.Endpoints.Unschedule;\n const endpoint = endpointData.uri.replace(\":projectId\", projectId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n context\n );\n return data.success;\n }\n\n async rollback(context: Context, projectId: string): Promise<boolean> {\n const endpointData = Project.Endpoints.Rollback;\n const endpoint = endpointData.uri.replace(\":projectId\", projectId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n context\n );\n return data.success;\n }\n\n async start(context: Context): Promise<boolean> {\n const endpointData = Project.Endpoints.StartEdition;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n context\n );\n return data.success;\n }\n\n async approve(\n ctx: Context,\n pId: string,\n approve: Project.Approve\n ): Promise<boolean> {\n const endpointData = Project.Endpoints.Approve;\n const endpoint = endpointData.uri.replace(\":projectId\", pId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n approve,\n ctx\n );\n return data.success;\n }\n\n async sendToApproval(\n context: Context,\n projectId: string,\n approval: Project.SendToApproval\n ): Promise<boolean> {\n const endpointData = Project.Endpoints.SendToApproval;\n const endpoint = endpointData.uri.replace(\":projectId\", projectId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n approval,\n context\n );\n return data.success;\n }\n}\n\nexport default ProjectAPI;\n","export type { Goal as Entity, DailyMilestone } from \"./Goal.schema\";\n\nexport { GoalSchema, DailyMilestoneSchema } from \"./Goal.schema\";\n\nexport * from \"./Goal.api\";\n","import { z } from \"zod\";\n\nexport const DailyMilestoneSchema = z.object({\n id: z.string(),\n date: z.string(),\n target: z.number(),\n progress: z.number(),\n});\n\nexport const GoalSchema = z.object({\n id: z.string(),\n editorId: z.string(),\n isoWeek: z.string(), // ex: \"2026-W27\"\n target: z.number(),\n progress: z.number(),\n createdAt: z.number(),\n dailyMilestones: z.array(DailyMilestoneSchema),\n});\n\nexport type DailyMilestone = z.infer<typeof DailyMilestoneSchema>;\nexport type Goal = z.infer<typeof GoalSchema>;\n","import Context from \"../Context\";\nimport { Goal } from \"./Goal.schema\";\n\nexport interface IAPI {\n getGoals: (context: Context) => Promise<Goal[]>;\n}\n\nexport const Endpoints = {\n GetGoals: { uri: `/projects/goals/list/`, method: \"GET\" },\n};\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport Context from \"../model/Context\";\nimport * as Goal from \"../model/goal\";\n\nclass GoalAPI implements Goal.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async getGoals(context: Context): Promise<Goal.Entity[]> {\n const endpointData = Goal.Endpoints.GetGoals;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n context\n );\n return data;\n }\n}\n\nexport default GoalAPI;\n","export interface IAPI {\n version: () => Promise<string>;\n}\n\nexport const Endpoints = {\n Version: {\n uri: \"/app-config/public/version/latest\",\n method: \"GET\",\n },\n};\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport * as APPConfig from \"../model/app-config\";\n\nclass AppConfigAPI implements APPConfig.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async version(): Promise<string> {\n const endpointInfo = APPConfig.Endpoints.Version;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method\n );\n\n return data.version;\n }\n}\n\nexport default AppConfigAPI;\n","export { NoteSchema, NoteHistorySchema } from \"./Note.schema\";\nexport type { Note as Entity, NoteHistory } from \"./Note.schema\";\nexport * from \"./Note.api\";\n","import { z } from \"zod\";\nimport { AssetSchema } from \"../asset\";\n\nconst NoteHistorySchema = z.object({\n type: z.enum([\n \"created\",\n \"updated\",\n \"deleted\",\n \"asset-added\",\n \"asset-removed\",\n ]),\n actorEmail: z.string().email(),\n timestamp: z.number(),\n details: z.string().optional(),\n});\n\nconst NoteSchema = z.object({\n id: z.string(),\n userId: z.string(),\n authorEmail: z.string().email(),\n assets: z.array(AssetSchema),\n title: z.string(),\n content: z.string(),\n createdAt: z.number(),\n modified: z.number(),\n history: z.array(NoteHistorySchema).optional(),\n});\n\ntype Note = z.infer<typeof NoteSchema>;\ntype NoteHistory = z.infer<typeof NoteHistorySchema>;\n\nexport { NoteHistorySchema, NoteSchema, NoteHistory, Note };\n","import Context from \"../Context\";\nimport { Note } from \"./Note.schema\";\n\nexport interface IAPI {\n list: (c: Context, userId: string) => Promise<Note[]>;\n add: (c: Context, note: Partial<Note>) => Promise<Note>;\n update: (c: Context, id: string, script: Partial<Note>) => Promise<Note>;\n delete: (c: Context, id: string) => Promise<boolean>;\n}\n\nexport const Endpoints = {\n GetNotes: {\n uri: \"/user-context/notes/user/:userId/\",\n method: \"GET\",\n },\n AddNote: {\n uri: \"/user-context/notes/\",\n method: \"PUT\",\n },\n DeleteNote: {\n uri: \"/user-context/notes/:id/\",\n method: \"DELETE\",\n },\n UpdateNote: {\n uri: \"/user-context/notes/:id/\",\n method: \"POST\",\n },\n};\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport Context from \"../model/Context\";\nimport * as Note from \"../model/note\";\n\nclass NoteAPI implements Note.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async list(c: Context, userId: string): Promise<Note.Entity[]> {\n const endpointData = Note.Endpoints.GetNotes;\n const endpoint = endpointData.uri.replace(\":userId\", userId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n c\n );\n return data;\n }\n\n async add(c: Context, note: Partial<Note.Entity>): Promise<Note.Entity> {\n const endpointData = Note.Endpoints.AddNote;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n note,\n c\n );\n return data;\n }\n\n async update(\n c: Context,\n id: string,\n toUpdate: Partial<Note.Entity>\n ): Promise<Note.Entity> {\n const endpointData = Note.Endpoints.UpdateNote;\n const endpoint = endpointData.uri.replace(\":id\", id);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n toUpdate,\n c\n );\n return data;\n }\n\n async delete(c: Context, id: string): Promise<boolean> {\n const endpointData = Note.Endpoints.DeleteNote;\n const endpoint = endpointData.uri.replace(\":id\", id);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n c\n );\n return data;\n }\n}\n\nexport default NoteAPI;\n","import NotificationAPI from \"../api/Notification.api\";\nimport PromptAPI from \"../api/Prompt.api\";\nimport SubscriptionAPI from \"../api/Subscription.api\";\nimport TenantAPI from \"../api/Tenant.api\";\nimport UserAPI from \"../api/User.api\";\nimport TrackAPI from \"../api/Track.api\";\nimport EmailAPI from \"../api/Email.api\";\nimport ProjectAPI from \"../api/Project.api\";\nimport GoalAPI from \"../api/Goal.api\";\nimport AppConfigAPI from \"../api/AppConfig.api\";\nimport NoteAPI from \"../api/Note.api\";\n\nimport Environment from \"./Env\";\n\nimport * as Prompt from \"./../model/prompt\";\nimport * as Subscription from \"./../model/subscription\";\nimport * as User from \"./../model/user\";\nimport * as Tenant from \"./../model/tenant\";\nimport * as Track from \"./../model/track\";\nimport * as Email from \"./../model/email\";\nimport * as Project from \"./../model/project\";\nimport * as Goal from \"./../model/goal\";\nimport * as Notification from \"./../model/notification\";\nimport * as AppConfig from \"./../model/app-config\";\nimport * as Note from \"./../model/note\";\n\nexport class ShredAPI {\n user: User.IAPI;\n goal: Goal.IAPI;\n subscription: Subscription.IAPI;\n prompt: Prompt.IAPI;\n pushNotification: Notification.IAPI;\n email: Email.IAPI;\n tenant: Tenant.IAPI;\n app: AppConfig.IAPI;\n project: Project.IAPI;\n track: Track.IAPI;\n note: Note.IAPI;\n\n constructor(env: Environment) {\n this.user = new UserAPI(env);\n this.goal = new GoalAPI(env);\n this.prompt = new PromptAPI(env);\n this.subscription = new SubscriptionAPI(env);\n this.pushNotification = new NotificationAPI(env);\n this.email = new EmailAPI(env);\n this.tenant = new TenantAPI(env);\n this.project = new ProjectAPI(env);\n this.app = new AppConfigAPI(env);\n this.track = new TrackAPI(env);\n this.note = new NoteAPI(env);\n }\n}\n","import ConflictException from \"./ConflictException\";\nimport InvalidArgumentException from \"./InvalidArgumentException\";\nimport ResourceNotFoundException from \"./ResourceNotFoundException\";\nimport ShredException from \"./ShredException\";\nimport UnauthorizedException from \"./UnauthorizedException\";\nimport ForbiddenException from \"./ForbiddenException\";\n\nconst Exceptions = {\n ConflictException,\n InvalidArgumentException,\n ResourceNotFoundException,\n ShredException,\n UnauthorizedException,\n ForbiddenException,\n};\n\nexport default Exceptions;\n\nexport type {\n ConflictException,\n InvalidArgumentException,\n ResourceNotFoundException,\n ShredException,\n UnauthorizedException,\n ForbiddenException,\n};\n","export default class ShredException extends Error {\n public status: number;\n\n constructor(message: string, status: number) {\n super(message);\n this.name = \"ShredException\";\n this.status = status;\n }\n}\n","import ShredException from \"./ShredException\";\n\nexport default class ConflictException extends ShredException {\n constructor(message: string) {\n super(message, 409);\n this.name = \"ConflictException\";\n }\n}\n","import ShredException from \"./ShredException\";\n\nexport default class InvalidArgumentException extends ShredException {\n constructor(message: string) {\n super(message, 400);\n this.name = \"InvalidArgumentException\";\n }\n}\n","import ShredException from \"./ShredException\";\n\nexport default class ResourceNotFoundException extends ShredException {\n constructor(message: string) {\n super(message, 404);\n this.name = \"ResourceNotFoundException\";\n }\n}\n","import ShredException from \"./ShredException\";\n\nexport default class UnauthorizedException extends ShredException {\n constructor(message: string) {\n super(message, 401);\n this.name = \"UnauthorizedException\";\n }\n}\n","import ShredException from \"./ShredException\";\n\nexport default class ForbiddenException extends ShredException {\n constructor(message: string) {\n super(message, 403);\n this.name = \"ForbiddenException\";\n }\n}\n","export { PromptSchema, ScriptSchema, CategorySchema } from \"./Prompt.schema\";\nexport type { Prompt as Entity, Script, Category } from \"./Prompt.schema\";\nexport * from \"./Prompt.api\";\n","import { z } from \"zod\";\n\nexport const ScriptSchema = z.object({\n id: z.string(),\n title: z.string(),\n content: z.string(),\n tags: z.array(z.string()).optional(),\n userId: z.string().optional(),\n});\n\nexport const CategorySchema = z.object({\n id: z.string(),\n title: z.string(),\n pictureUrl: z.string().url(),\n backgroundColor: z.string(),\n active: z.boolean(),\n scripts: z.array(ScriptSchema),\n});\n\nexport const PromptSchema = z.object({\n id: z.string(),\n tenantId: z.string(),\n categories: z.array(CategorySchema),\n});\n\n// Infer types\nexport type Script = z.infer<typeof ScriptSchema>;\nexport type Category = z.infer<typeof CategorySchema>;\nexport type Prompt = z.infer<typeof PromptSchema>;\n","import Context from \"../Context\";\nimport { Prompt, Script } from \"./Prompt.schema\";\n\nexport interface IAPI {\n getPrompt: (c: Context) => Promise<Prompt>;\n addScript: (c: Context, script: Partial<Script>) => Promise<Script>;\n deleteScript: (c: Context, id: string) => Promise<boolean>;\n getScripts: (c: Context) => Promise<Script[]>;\n updateScript: (\n c: Context,\n id: string,\n script: Partial<Script>\n ) => Promise<boolean>;\n}\n\nexport const Endpoints = {\n GetPrompt: {\n uri: \"/prompts/getPrompt\",\n method: \"GET\",\n },\n AddScript: {\n uri: \"/prompts/script/new/\",\n method: \"POST\",\n },\n DeleteScript: {\n uri: \"/prompts/script/:id/delete/\",\n method: \"DELETE\",\n },\n ListScript: {\n uri: \"/prompts/script/list/\",\n method: \"GET\",\n },\n UpdateScript: {\n uri: \"/prompts/script/:id/update/\",\n method: \"PUT\",\n },\n};\n","export type { Tenant as Entity, Preferences } from \"./Tenant.schema\";\nexport { TenantSchema, PreferencesSchema } from \"./Tenant.schema\";\nexport * from \"./Tenant.api\";\n","import { z } from \"zod\";\nimport { SubscriptionSchema } from \"../subscription/Subscription.schema\";\n\nexport const PreferencesSchema = z.object({\n iconUrl: z.string().url(),\n logoUrl: z.string().url(),\n primaryColor: z.string(),\n secondaryColor: z.string(),\n guidelinesUrl: z.string().url().optional(),\n});\n\nexport const TenantSchema = z.object({\n id: z.string(),\n name: z.string(),\n isActive: z.boolean(),\n isSubscriptionActive: z.boolean(),\n preferences: PreferencesSchema,\n inviteCode: z.string(),\n totalUsersAllowed: z.number(),\n currentUsersSize: z.number().optional(),\n chargeByEmail: z.boolean(),\n defaultProductId: z.string().optional(),\n defaultPlanId: z.string().optional(),\n defaultCoupomCode: z.string().optional(),\n allowedProducts: z.array(z.string()).optional(),\n useOwnScripts: z.boolean().optional(),\n subscription: z.optional(z.lazy(() => SubscriptionSchema)),\n});\n\nexport type Tenant = z.infer<typeof TenantSchema>;\nexport type Preferences = z.infer<typeof PreferencesSchema>;\n","import { z } from \"zod\";\n\nexport enum Type {\n CUSTOMER_SUBSCRIPTION = 0,\n TENANT_SUBSCRIPTION = 1,\n}\n\nexport const SubscriptionTypeSchema = z.nativeEnum(Type);\n\nexport const PlanSchema = z.object({\n id: z.string(),\n currency: z.string(),\n price: z.number(),\n interval: z.string(),\n metadata: z.record(z.string()),\n subscriptionItemId: z.string(),\n});\n\nexport const DescriptionSchema = z.object({\n description: z.string(),\n subtitle: z.string(),\n});\n\nexport const ProductSchema = z.object({\n id: z.string(),\n name: z.string(),\n descriptions: z.array(DescriptionSchema),\n metadata: z.any(),\n plans: z.array(PlanSchema),\n percentOff: z.number().default(0),\n});\n\nexport const ChargeSchema = z.object({\n id: z.number(),\n created: z.number(),\n paid: z.boolean(),\n receiptUrl: z.string(),\n status: z.string(),\n price: z.string(),\n paymentType: z.string(),\n last4: z.string().optional(),\n brand: z.string().optional(),\n});\n\nexport const SubscriptionSchema = z.object({\n id: z.string(),\n status: z.string(),\n startDate: z.number().optional(),\n daysUntilDue: z.number().optional(),\n renewAutomatically: z.boolean().optional(),\n currentPeriodStart: z.number().optional(),\n currentPeriodEnd: z.number().optional(),\n paymentMethodId: z.string().optional(),\n product: ProductSchema,\n type: z.nativeEnum(Type).optional(),\n plan: PlanSchema.optional(),\n});\n\nexport type Subscription = z.infer<typeof SubscriptionSchema>;\nexport type Charge = z.infer<typeof ChargeSchema>;\nexport type Plan = z.infer<typeof PlanSchema>;\nexport type Product = z.infer<typeof ProductSchema>;\n","import Context from \"../Context\";\nimport { Tenant } from \"./Tenant.schema\";\n\nexport interface IAPI {\n getByInviteCode: (code: string, context?: Context) => Promise<Tenant | null>;\n create: (tenant: Tenant, context: Context) => Promise<boolean>;\n list: (context: Context) => Promise<Tenant[]>;\n getTenant: (context: Context, tenantId?: string) => Promise<Tenant | null>;\n update: (\n tenantId: string,\n data: Pick<Tenant, \"preferences\">,\n context: Context\n ) => Promise<boolean>;\n}\n\nexport const Endpoints = {\n GetByInviteCode: {\n uri: \"/tenants/public/invitation/\",\n method: \"GET\",\n },\n CreateTenant: {\n uri: \"/tenants/create\",\n method: \"PUT\",\n },\n GetTenant: {\n uri: \"/tenants/me\",\n method: \"GET\",\n },\n GetTenantById: {\n uri: \"/tenants/:tenantId/find\",\n method: \"GET\",\n },\n UpdateTenant: {\n uri: \"/tenants/update\",\n method: \"POST\",\n },\n ListAll: {\n uri: \"/tenants/list\",\n method: \"GET\",\n },\n};\n","export type {\n User as Entity,\n Preferences,\n Update,\n Create,\n} from \"./User.schema\";\nexport { UserSchema, PreferencesSchema, Role, System } from \"./User.schema\";\nexport * from \"./User.api\";\n","import { z } from \"zod\";\n\nexport enum Role {\n USER = \"User\",\n EDITOR = \"Editor\",\n QA = \"QA\",\n ADMIN = \"ADMIN\",\n SYSTEM = \"SYSTEM\",\n}\n\nexport enum System {\n APP = \"APP\",\n EDITOR = \"EDITOR\",\n QA = \"QA\",\n ADMIN = \"ADMIN\",\n}\n\nexport const PreferencesSchema = z.object({\n primaryColor: z.string().optional(),\n secondaryColor: z.string().optional(),\n facebookLink: z.string().optional(),\n isFeedbackEnabled: z.boolean().default(true).optional(),\n instagramLink: z.string().optional(),\n industries: z.array(z.string()).optional(),\n bRoll: z.boolean().optional(),\n logo: z.string().optional(),\n});\n\nexport const UserSchema = z.object({\n id: z.string(),\n name: z.string(),\n email: z.string().email(),\n fcmToken: z.string().optional(),\n profession: z.string().optional(),\n photoUrl: z.string().optional(),\n preferences: PreferencesSchema.optional(),\n tenantId: z.string().optional(),\n editorId: z.string().optional(),\n timezone: z.string().optional(),\n experienceId: z.string().optional(),\n customerId: z.string(),\n role: z.nativeEnum(Role),\n});\n\nexport type User = z.infer<typeof UserSchema>;\nexport type Preferences = z.infer<typeof PreferencesSchema>;\nexport type Update = Pick<\n User,\n | \"name\"\n | \"profession\"\n | \"preferences\"\n | \"photoUrl\"\n | \"fcmToken\"\n | \"timezone\"\n | \"experienceId\"\n>;\n\nexport type Create = Pick<User, \"name\" | \"email\"> & {\n password?: string;\n passwordConfirmation?: string;\n invitationCode?: string;\n role?: Role;\n industries?: string[];\n};\n","import * as Core from \"../core\";\nimport Context from \"../Context\";\nimport { System, User, Update, Create } from \"./User.schema\";\n\nexport interface IAPI {\n getUserInfo: (context: Context) => Promise<User>;\n isEmailAvaliable: (email: string) => Promise<boolean>;\n sendValidationCode: (email: string) => Promise<boolean>;\n confirmCode: (\n email: string,\n code: number,\n keepCode?: boolean\n ) => Promise<boolean>;\n changePassword: (\n email: string,\n pass: string,\n passConfirm: string,\n code: number\n ) => Promise<boolean>;\n changeEmail: (ctx: Context, email: string, code: number) => Promise<boolean>;\n authenticate: (\n email: string,\n password: string,\n system: System\n ) => Promise<string>;\n update: (context: Context, update: Partial<Update>) => Promise<boolean>;\n setup: (context: Context) => Promise<boolean>;\n getBindedUsers: (ctx: Context) => Promise<User[]>;\n deleteAccount: (ctx: Context) => Promise<boolean>;\n getIntegrationToken: (ctx: Context) => Promise<string | null>;\n createIntegrationToken: (ctx: Context) => Promise<string>;\n search: (\n ctx: Context,\n query: Core.QueryOptions<User>\n ) => Promise<Core.APIResponse<User>>;\n createUser: (data: Create) => Promise<User>;\n}\n\nexport const Endpoints = {\n ChangeEmail: { uri: \"/accounts/user/changeEmail\", method: \"PUT\" },\n GetUserInfo: { uri: \"/accounts/user/info\", method: \"GET\" },\n GetBindedUsers: { uri: \"/accounts/binded/list\", method: \"GET\" },\n EnableUser: { uri: \"/api/user/register\", method: \"POST\" },\n ChangePassword: { uri: \"/accounts/public/changePassword/\", method: \"POST\" },\n IsEmailAvaliable: { uri: \"/accounts/public/email/avaliable\", method: \"GET\" },\n GetIntegrationToken: { uri: \"/accounts/user/getToken/\", method: \"GET\" },\n CreateToken: { uri: \"/accounts/user/createToken/\", method: \"POST\" },\n ConfirmCode: { uri: \"/accounts/public/email/validate\", method: \"POST\" },\n DeleteAccount: { uri: \"/accounts/user/delete/\", method: \"DELETE\" },\n SendValidationCode: { uri: \"/accounts/public/email/send\", method: \"POST\" },\n Authenticate: { uri: \"/accounts/public/login\", method: \"POST\" },\n CreateUser: { uri: \"/accounts/public/create\", method: \"POST\" },\n UpdateUser: { uri: \"/accounts/user/update\", method: \"PUT\" },\n Setup: { uri: \"/accounts/user/setup/\", method: \"POST\" },\n Search: { uri: \"/accounts/users/search/\", method: \"GET\" },\n};\n","export type {\n Subscription as Entity,\n Product,\n Plan,\n Charge,\n} from \"./Subscription.schema\";\n\nexport {\n SubscriptionSchema,\n ProductSchema,\n PlanSchema,\n ChargeSchema,\n Type,\n SubscriptionTypeSchema,\n} from \"./Subscription.schema\";\n\nexport * from \"./Subscription.api\";\n","import Context from \"../Context\";\nimport { Charge, Product, Subscription } from \"./Subscription.schema\";\n\nexport interface IAPI {\n getCharges: (ctx: Context) => Promise<Charge[]>;\n getPortalUrl: (ctx: Context) => Promise<string>;\n getSubscription: (\n context: Context,\n userId?: string\n ) => Promise<Subscription | null>;\n getProduct: (id: string, context?: Context) => Promise<Product>;\n getProducts: (ctx?: Context) => Promise<Product[]>;\n charge: (ctx: Context) => Promise<boolean>;\n pause: (ctx: Context) => Promise<boolean>;\n resume: (ctx: Context) => Promise<boolean>;\n updatePlan: (ctx: Context, planId: string) => Promise<boolean>;\n createCheckout: (planId: string | null, ctx: Context) => Promise<string>;\n}\n\nexport const Endpoints = {\n GetPortal: {\n uri: \"/subscriptions/portal/\",\n method: \"GET\",\n },\n GetProduct: {\n uri: \"/subscriptions/products/public/retrieve/\",\n method: \"GET\",\n },\n GetActiveSubscription: {\n uri: \"/subscriptions/active/\",\n method: \"GET\",\n },\n GetCharges: {\n uri: \"/subscriptions/payment/charge/list/\",\n method: \"GET\",\n },\n GetUserActiveSubscription: {\n uri: \"/subscriptions/:userId/find/\",\n method: \"GET\",\n },\n GetProducts: {\n uri: \"/subscriptions/products/public/list/\",\n method: \"GET\",\n },\n GetProductsByUser: {\n uri: \"/subscriptions/products/list/\",\n method: \"GET\",\n },\n Checkout: {\n uri: \"/subscriptions/payment/checkout/\",\n method: \"POST\",\n },\n Charge: {\n uri: \"/subscriptions/payment/charge/\",\n method: \"POST\",\n },\n Pause: {\n uri: \"/subscriptions/pause/\",\n method: \"PUT\",\n },\n Resume: {\n uri: \"/subscriptions/resume/\",\n method: \"PUT\",\n },\n UpdatePlan: {\n uri: \"/subscriptions/plan/update/\",\n method: \"PUT\",\n },\n};\n","export type { Track as Entity, TrackParam } from \"./Track.schema\";\nexport { TrackSchema, TrackParamSchema } from \"./Track.schema\";\nexport * from \"./Track.api\";\n","import { z } from \"zod\";\n\nexport const TrackParamSchema = z.object({\n name: z.string(),\n value: z.union([z.string(), z.number()]),\n});\n\nexport const TrackSchema = z.object({\n category: z.string(),\n label: z.string(),\n action: z.string(),\n params: z.array(TrackParamSchema).optional(),\n});\n\nexport type Track = z.infer<typeof TrackSchema>;\nexport type TrackParam = z.infer<typeof TrackParamSchema>;\n","import { Track } from \"./Track.schema\";\n\nexport interface IAPI {\n send: (t: Track) => Promise<boolean>;\n}\n\nexport const Endpoints = {\n Track: {\n uri: \"/track/public/send/\",\n method: \"POST\",\n },\n};\n","export * from \"./Query\";\nexport * from \"./APIResponse\";\n"],"mappings":"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","names":["axios","Frequency","WeekDay","CriteriaType","TransportType","Status","Endpoints","import_zod","Endpoints","Endpoints","Endpoints","Status","import_zod","import_zod","Status","CaptionStyle","Endpoints","Endpoints","Endpoints","import_zod","Endpoints","Endpoints","Endpoints","Endpoints","Endpoints","import_zod","Endpoints","Endpoints","Endpoints","import_zod","Endpoints","Endpoints","import_zod","import_zod","Type","Endpoints","Endpoints","PreferencesSchema","import_zod","Role","System","PreferencesSchema","Endpoints","Endpoints","Endpoints","Endpoints","import_zod","Endpoints"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/util/HTTPClient.ts","../src/model/notification/index.ts","../src/model/notification/Notification.schema.ts","../src/model/notification/Notification.api.ts","../src/api/Notification.api.ts","../src/api/Prompt.api.ts","../src/api/Subscription.api.ts","../src/api/Tenant.api.ts","../src/util/parseQuery.ts","../src/api/User.api.ts","../src/api/Track.api.ts","../src/model/email/index.ts","../src/model/email/Email.schema.ts","../src/model/email/Email.api.ts","../src/api/Email.api.ts","../src/model/project/index.ts","../src/model/project/Project.schema.ts","../src/model/asset/index.ts","../src/model/asset/Asset.schema.ts","../src/model/project/Project.api.ts","../src/model/project/StatusConfig.ts","../src/api/Project.api.ts","../src/model/goal/index.ts","../src/model/goal/Goal.schema.ts","../src/model/goal/Goal.api.ts","../src/api/Goal.api.ts","../src/model/app-config/AppConfig.api.ts","../src/api/AppConfig.api.ts","../src/model/note/index.ts","../src/model/note/Note.schema.ts","../src/model/note/Note.api.ts","../src/api/Note.api.ts","../src/model/Api.ts","../src/model/exceptions/index.ts","../src/model/exceptions/ShredException.ts","../src/model/exceptions/ConflictException.ts","../src/model/exceptions/InvalidArgumentException.ts","../src/model/exceptions/ResourceNotFoundException.ts","../src/model/exceptions/UnauthorizedException.ts","../src/model/exceptions/ForbiddenException.ts","../src/model/prompt/index.ts","../src/model/prompt/Prompt.schema.ts","../src/model/prompt/Prompt.api.ts","../src/model/tenant/index.ts","../src/model/tenant/Tenant.schema.ts","../src/model/subscription/Subscription.schema.ts","../src/model/tenant/Tenant.api.ts","../src/model/user/index.ts","../src/model/user/User.schema.ts","../src/model/user/User.api.ts","../src/model/subscription/index.ts","../src/model/subscription/Subscription.api.ts","../src/model/track/index.ts","../src/model/track/Track.schema.ts","../src/model/track/Track.api.ts","../src/model/core/index.ts"],"sourcesContent":["import { ShredAPI } from \"./model/Api\";\n\n//V2\nexport * as Exceptions from \"./model/exceptions\";\nexport * as Prompt from \"./model/prompt\";\nexport * as Asset from \"./model/asset\";\nexport * as Tenant from \"./model/tenant\";\nexport * as User from \"./model/user\";\nexport * as Subscription from \"./model/subscription\";\nexport * as Track from \"./model/track\";\nexport * as Email from \"./model/email\";\nexport * as Core from \"./model/core\";\nexport * as Project from \"./model/project\";\nexport * as Goal from \"./model/goal\";\nexport * as Notification from \"./model/notification\";\nexport * as Note from \"./model/note\";\n\nexport default ShredAPI;\n","import axios, { AxiosError, Method } from \"axios\";\nimport Environment from \"../model/Env\";\nimport Context from \"./../model/Context\";\n\nconst HOSTS = {\n prod: \"https://api.shreditapp.com\",\n staging: \"https://api.staging.shreditapp.com\",\n local: \"https://api.staging.shreditapp.com\",\n};\n\nconst OLD_HOSTS = {\n prod: \"https://api.shredmedia.co\",\n staging: \"https://api-staging.shredmedia.co\",\n local: \"https://api-staging.shredmedia.co\",\n};\n\nexport default class HTTPClient {\n async makeRequest(\n env: Environment,\n uri: string,\n method: Method,\n data?: any,\n context?: Context | null,\n useLegacyApi?: boolean\n ): Promise<any> {\n const hostDict = useLegacyApi ? OLD_HOSTS : HOSTS;\n const host = hostDict[env] || hostDict.staging;\n const url = host + uri;\n\n const headers: Record<string, string> = {\n \"Content-Type\": useLegacyApi\n ? \"application/x-www-form-urlencoded\"\n : \"application/json\",\n };\n\n if (context?.token) {\n headers[\"Authorization\"] = `Bearer ${context.token}`;\n }\n\n if (context?.requestId) {\n headers[\"X-Request-ID\"] = context.requestId;\n }\n\n try {\n const response = await axios.request({\n url,\n method,\n headers,\n data:\n method !== \"GET\" && data\n ? useLegacyApi\n ? new URLSearchParams(data).toString()\n : data // axios já faz JSON.stringify\n : undefined,\n transformResponse: [(raw) => raw], // evita parse automático para podermos tratar manual\n });\n\n try {\n return JSON.parse(response.data);\n } catch {\n return response.data;\n }\n } catch (err) {\n const error = err as AxiosError;\n\n let parsedBody: any = {};\n if (error.response) {\n try {\n parsedBody =\n typeof error.response.data === \"string\"\n ? JSON.parse(error.response.data)\n : error.response.data;\n } catch {\n parsedBody = {\n message:\n (error.response.data as any)?.message ||\n error.response.statusText ||\n \"Unknown error\",\n };\n }\n\n throw {\n message: parsedBody.message || \"Unexpected error occurred\",\n status: error.response.status,\n body: error.response.data,\n original: error,\n };\n }\n\n throw {\n message: error.message || \"Network error\",\n original: error,\n };\n }\n }\n}\n","export type {\n Trigger,\n NotificationDetail,\n NotificationItem,\n RecurrenceRule,\n History,\n Criteria,\n} from \"./Notification.schema\";\n\nexport {\n TriggerSchema,\n NotificationDetailSchema,\n NotificationItemSchema,\n RecurrenceRuleSchema,\n CriteriaSchema,\n HistorySchema,\n Frequency,\n WeekDay,\n CriteriaType,\n TransportType,\n Status,\n} from \"./Notification.schema\";\n\nexport * from \"./Notification.api\";\n","import { z } from \"zod/v3\";\n\nexport enum Frequency {\n DAILY = \"daily\",\n WEEKLY = \"weekly\",\n MONTHLY = \"monthly\",\n}\n\nexport enum WeekDay {\n MONDAY = 1,\n TUESDAY = 2,\n WEDNESDAY = 3,\n THURSDAY = 4,\n FRIDAY = 5,\n SATURDAY = 6,\n SUNDAY = 7,\n}\n\nexport enum CriteriaType {\n AllUsers = \"allUsers\",\n NoProjects = \"noProjects\",\n NoSubscription = \"noSubscription\",\n UsersFromTier = \"usersFromTier\",\n}\n\nexport enum TransportType {\n Push = \"push\",\n Email = \"email\",\n}\n\nexport enum Status {\n SCHEDULED = \"scheduled\",\n RUNNING = \"running\",\n COMPLETED = \"completed\",\n FAILED = \"failed\",\n PAUSED = \"paused\",\n CANCELLED = \"cancelled\",\n ACTIVE = \"active\",\n EXPIRED = \"expired\",\n}\n\nexport const NotificationItemSchema = z.object({\n id: z.string(),\n userId: z.string(),\n triggerId: z.string().optional(),\n title: z.string(),\n body: z.string(),\n status: z.enum([\"failed\", \"delivered\", \"deleted\"]),\n deliveredAt: z.number(),\n openedAt: z.number().optional(),\n deletedAt: z.number().optional(),\n cta: z.object({ label: z.string(), url: z.string().url() }).optional(),\n metadata: z.record(z.string(), z.union([z.string(), z.number()])),\n error: z.string().optional(),\n});\n\nexport const NotificationDetailSchema = NotificationItemSchema.pick({\n title: true,\n body: true,\n userId: true,\n metadata: true,\n cta: true,\n});\n\nexport const CriteriaSchema = z.object({\n type: z.nativeEnum(CriteriaType),\n params: z.record(z.string(), z.any()),\n});\n\nexport const HistorySchema = z.object({\n batchId: z.string(),\n executedAt: z.number(),\n timezone: z.string(),\n status: z.enum([\"success\", \"failed\", \"info\", \"warn\"]),\n users: z.object({\n total: z.number(),\n success: z.number(),\n error: z.number(),\n }),\n errorList: z\n .array(\n z.object({\n token: z.string(),\n error: z.string(),\n })\n )\n .optional(),\n executionTimeDuration: z.number().optional(),\n});\n\nexport const RecurrenceRuleSchema = z.object({\n frequency: z.nativeEnum(Frequency),\n interval: z.number(),\n weekDays: z.array(z.nativeEnum(WeekDay)).optional(),\n dayOfMonth: z.number().optional(),\n endDate: z.string().optional(),\n ocurrences: z.number().optional(),\n});\n\nexport const TriggerSchema = z.object({\n id: z.string(),\n title: z.string(),\n description: z.string(),\n transportType: z.array(z.nativeEnum(TransportType)),\n notification: NotificationDetailSchema,\n history: z.array(HistorySchema).optional(),\n status: z.nativeEnum(Status),\n recurrence: RecurrenceRuleSchema.optional(),\n timezone: z.string().nullable().optional(),\n tenantIds: z.array(z.string()).optional(),\n executionDate: z.string().optional(),\n timeOfDay: z.string(),\n criteria: CriteriaSchema,\n nextExecution: z.number().optional(),\n createdAt: z.number().optional(),\n modified: z.number().optional(),\n});\n\nexport type NotificationItem = z.infer<typeof NotificationItemSchema>;\nexport type NotificationDetail = z.infer<typeof NotificationDetailSchema>;\nexport type Trigger = z.infer<typeof TriggerSchema>;\nexport type RecurrenceRule = z.infer<typeof RecurrenceRuleSchema>;\nexport type History = z.infer<typeof HistorySchema>;\nexport type Criteria = z.infer<typeof CriteriaSchema>;\n","import Context from \"../Context\";\nimport {\n Trigger,\n NotificationDetail,\n NotificationItem,\n} from \"./Notification.schema\";\nimport * as Core from \"../core/\";\n\nexport interface IAPI {\n getTriggers: (ctx: Context) => Promise<Core.APIResponse<Trigger>>;\n createTrigger: (ctx: Context, t: Trigger) => Promise<Trigger>;\n deleteTrigger: (ctx: Context, triggerId: string) => Promise<boolean>;\n updateTrigger: (\n ctx: Context,\n triggerId: string,\n trigger: Partial<Trigger>\n ) => Promise<Trigger>;\n push: (\n context: Context,\n notification: NotificationDetail\n ) => Promise<boolean>;\n getNotifications: (\n ctx: Context\n ) => Promise<Core.APIResponse<NotificationItem>>;\n markAsRead: (ctx: Context, id: string) => Promise<boolean>;\n clearNotifications: (ctx: Context) => Promise<boolean>;\n}\n\nexport const Endpoints = {\n Create: { uri: \"/notifications/trigger/\", method: \"POST\" },\n List: { uri: \"/notifications/trigger/list/\", method: \"GET\" },\n Update: { uri: \"/notifications/trigger/:id/\", method: \"PUT\" },\n Delete: { uri: \"/notifications/trigger/:id/\", method: \"DELETE\" },\n Push: { uri: \"/notifications/push/\", method: \"POST\" },\n ListNotifications: { uri: \"/notifications/list/\", method: \"GET\" },\n MarkAsRead: { uri: \"/notifications/:id/read/\", method: \"PUT\" },\n ClearNotifications: { uri: \"/notifications/clear/\", method: \"DELETE\" },\n};\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport * as Notification from \"../model/notification\";\nimport * as Core from \"../model/core\";\nimport Context from \"../model/Context\";\n\nclass NotificationAPI implements Notification.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async clearNotifications(ctx: Context): Promise<boolean> {\n const endpointData = Notification.Endpoints.ClearNotifications;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n ctx\n );\n return data;\n }\n\n async markAsRead(ctx: Context, id: string): Promise<boolean> {\n const endpointData = Notification.Endpoints.MarkAsRead;\n const endpoint = endpointData.uri.replace(\":id\", id);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n ctx\n );\n return data;\n }\n\n async getNotifications(\n ctx: Context\n ): Promise<Core.APIResponse<Notification.NotificationItem>> {\n const endpointData = Notification.Endpoints.ListNotifications;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n ctx\n );\n return data;\n }\n\n async deleteTrigger(ctx: Context, triggerId: string): Promise<boolean> {\n const endpointData = Notification.Endpoints.Delete;\n const endpoint = endpointData.uri.replace(\":id\", triggerId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n ctx\n );\n return data;\n }\n\n async updateTrigger(\n ctx: Context,\n triggerId: string,\n t: Partial<Notification.Trigger>\n ): Promise<Notification.Trigger> {\n const endpointData = Notification.Endpoints.Update;\n const endpoint = endpointData.uri.replace(\":id\", triggerId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n t,\n ctx\n );\n return data;\n }\n\n async createTrigger(\n ctx: Context,\n t: Notification.Trigger\n ): Promise<Notification.Trigger> {\n const endpointData = Notification.Endpoints.Create;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n t,\n ctx\n );\n return data;\n }\n\n async getTriggers(\n ctx: Context\n ): Promise<Core.APIResponse<Notification.Trigger>> {\n const endpointInfo = Notification.Endpoints.List;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n ctx\n );\n return data;\n }\n\n async push(\n ctx: Context,\n notification: Notification.NotificationDetail\n ): Promise<boolean> {\n const endpointInfo = Notification.Endpoints.Push;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n notification,\n ctx\n );\n\n return data.success;\n }\n}\n\nexport default NotificationAPI;\n","import Context from \"../model/Context\";\nimport HTTPClient from \"../util/HTTPClient\";\nimport { Prompt } from \"../\";\nimport Environment from \"../model/Env\";\n\nclass PromptAPI implements Prompt.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async getPrompt(context: Context): Promise<Prompt.Entity> {\n const endpointInfo = Prompt.Endpoints.GetPrompt;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n context\n );\n return data;\n }\n\n async getScripts(context: Context): Promise<Prompt.Script[]> {\n const endpointInfo = Prompt.Endpoints.ListScript;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n context\n );\n return data;\n }\n\n async updateScript(\n c: Context,\n id: string,\n script: Partial<Prompt.Script>\n ): Promise<boolean> {\n const endpointData = Prompt.Endpoints.UpdateScript;\n const endpoint = endpointData.uri.replace(\":id\", id);\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n { ...script },\n c\n );\n return data;\n }\n\n async addScript(\n c: Context,\n script: Partial<Prompt.Script>\n ): Promise<Prompt.Script> {\n const endpointInfo = Prompt.Endpoints.AddScript;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n { ...script },\n c\n );\n return data;\n }\n\n async deleteScript(c: Context, id: string): Promise<boolean> {\n const endpointData = Prompt.Endpoints.DeleteScript;\n const endpoint = endpointData.uri.replace(\":id\", id);\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n c\n );\n return data;\n }\n}\n\nexport default PromptAPI;\n","import Context from \"../model/Context\";\nimport { Subscription } from \"../\";\nimport HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\n\nclass SubscriptionAPI implements Subscription.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async getPortalUrl(ctx: Context): Promise<string> {\n const endpointInfo = Subscription.Endpoints.GetPortal;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n ctx\n );\n\n return data.url;\n }\n\n async updatePlan(ctx: Context, planId: string): Promise<boolean> {\n const endpointInfo = Subscription.Endpoints.UpdatePlan;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n { planId },\n ctx\n );\n\n return data;\n }\n\n async getProduct(\n id: string,\n context?: Context\n ): Promise<Subscription.Product> {\n const endpointInfo = Subscription.Endpoints.GetProduct;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}/${id}`,\n endpointInfo.method,\n null,\n context\n );\n\n return data;\n }\n async getCharges(ctx: Context): Promise<Subscription.Charge[]> {\n const endpointInfo = Subscription.Endpoints.GetCharges;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}`,\n endpointInfo.method,\n null,\n ctx\n );\n\n return data;\n }\n\n async getSubscription(\n context: Context,\n userId?: string\n ): Promise<Subscription.Entity | null> {\n const endpointInfo = Subscription.Endpoints.GetActiveSubscription;\n let uri = endpointInfo.uri;\n let method = endpointInfo.method;\n\n if (userId) {\n const endpointData = Subscription.Endpoints.GetUserActiveSubscription;\n const endpoint = endpointData.uri.replace(\":userId\", userId);\n uri = endpoint;\n method = endpointData.method;\n }\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n uri,\n method,\n null,\n context\n );\n return data;\n }\n\n async charge(ctx: Context): Promise<boolean> {\n const endpointInfo = Subscription.Endpoints.Charge;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n ctx\n );\n\n return data.success;\n }\n\n async pause(ctx: Context): Promise<boolean> {\n const endpointInfo = Subscription.Endpoints.Pause;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n ctx\n );\n return data;\n }\n\n async resume(ctx: Context): Promise<boolean> {\n const endpointInfo = Subscription.Endpoints.Resume;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n ctx\n );\n return data;\n }\n\n async getProducts(ctx?: Context): Promise<Subscription.Product[]> {\n const endpointInfo = ctx\n ? Subscription.Endpoints.GetProductsByUser\n : Subscription.Endpoints.GetProducts;\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n null,\n ctx\n );\n\n return data;\n }\n\n async createCheckout(planId: string | null, ctx: Context): Promise<string> {\n const endpointInfo = Subscription.Endpoints.Checkout;\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n { planId },\n ctx\n );\n\n return data.url;\n }\n}\n\nexport default SubscriptionAPI;\n","import Context from \"../model/Context\";\nimport { Tenant } from \"../\";\nimport HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\n\nclass TenantAPI implements Tenant.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async getByInviteCode(\n inviteCode: string,\n context?: Context\n ): Promise<Tenant.Entity | null> {\n const endpointInfo = Tenant.Endpoints.GetByInviteCode;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}/${inviteCode}`,\n endpointInfo.method,\n null,\n context\n );\n\n return data;\n }\n\n async getTenant(\n context: Context,\n tenantId?: string\n ): Promise<Tenant.Entity | null> {\n const endpointInfo = Tenant.Endpoints.GetTenant;\n let uri = endpointInfo.uri;\n let method = endpointInfo.method;\n\n if (tenantId) {\n const endpointData = Tenant.Endpoints.GetTenantById;\n const endpoint = endpointData.uri.replace(\":tenantId\", tenantId);\n uri = endpoint;\n method = endpointData.method;\n }\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n uri,\n method,\n null,\n context\n );\n\n return data;\n }\n\n async create(t: Tenant.Entity, context: Context): Promise<boolean> {\n const endpointInfo = Tenant.Endpoints.CreateTenant;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}`,\n endpointInfo.method,\n { ...t },\n context\n );\n\n return data;\n }\n\n async list(context: Context): Promise<Tenant.Entity[]> {\n const endpointInfo = Tenant.Endpoints.ListAll;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}`,\n endpointInfo.method,\n null,\n context\n );\n\n return data;\n }\n\n async update(\n tenantId: string,\n updateData: Pick<Tenant.Entity, \"preferences\">,\n context: Context\n ): Promise<boolean> {\n const endpointInfo = Tenant.Endpoints.UpdateTenant;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}`,\n endpointInfo.method,\n { tenantId, data: updateData },\n context\n );\n\n return data;\n }\n}\n\nexport default TenantAPI;\n","import * as Core from \"../model/core\";\n\nexport const buildQueryString = <T>(\n query: Partial<Core.QueryOptions<T>>\n): string => {\n const params: Record<string, string[]> = {};\n\n if (query.perPage) {\n params[\"perPage\"] = [String(query.perPage)];\n }\n\n if (query.cursor !== undefined && query.cursor !== null) {\n params[\"cursor\"] = [String(query.cursor)];\n }\n\n if (query.orderBy) {\n params[\"orderBy\"] = [\n `${String(query.orderBy.field)}:${query.orderBy.direction}`,\n ];\n }\n\n if (query.wheres && query.wheres.length > 0) {\n params[\"wheres\"] = query.wheres.map(\n (w) => `${String(w.field)}:${String(w.operation)}:${String(w.value)}`\n );\n }\n\n const queryString = Object.entries(params)\n .flatMap(([key, values]) =>\n values.map((value) => `${key}=${encodeURIComponent(value)}`)\n )\n .join(\"&\");\n\n return queryString ? `?${queryString}` : \"\";\n};\n","import Context from \"../model/Context\";\nimport { User } from \"../\";\nimport HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport * as Core from \"../model/core\";\nimport { buildQueryString } from \"../util/parseQuery\";\n\nclass UserAPI implements User.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async search(\n ctx: Context,\n query: Core.QueryOptions<User.Entity>\n ): Promise<Core.APIResponse<User.Entity>> {\n const endpointData = User.Endpoints.Search;\n const qs = buildQueryString(query);\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}${qs}`,\n endpointData.method,\n null,\n ctx\n );\n return data;\n }\n\n async deleteAccount(ctx: Context): Promise<boolean> {\n const endpointData = User.Endpoints.DeleteAccount;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n ctx\n );\n return data.success;\n }\n\n async createIntegrationToken(ctx: Context): Promise<string> {\n const endpointData = User.Endpoints.CreateToken;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}`,\n endpointData.method,\n null,\n ctx\n );\n return data.token;\n }\n\n async getIntegrationToken(ctx: Context): Promise<string | null> {\n const endpointData = User.Endpoints.GetIntegrationToken;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}`,\n endpointData.method,\n null,\n ctx\n );\n return data.token;\n }\n\n async sendValidationCode(email: string): Promise<boolean> {\n const endpointData = User.Endpoints.SendValidationCode;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}?email=${email}`,\n endpointData.method\n );\n return data.success;\n }\n\n async changePassword(\n email: string,\n pass: string,\n passConfirm: string,\n code: number\n ): Promise<boolean> {\n const endpointData = User.Endpoints.ChangePassword;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n { email, pass, passConfirm, code }\n );\n return data.success;\n }\n\n async changeEmail(\n ctx: Context,\n email: string,\n code: number\n ): Promise<boolean> {\n const endpointData = User.Endpoints.ChangeEmail;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n { email, code },\n ctx\n );\n return data.success;\n }\n\n async confirmCode(\n email: string,\n code: number,\n keepCode?: boolean\n ): Promise<boolean> {\n const endpointData = User.Endpoints.ConfirmCode;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}?email=${email}&code=${code}&keepCode=${keepCode}`,\n endpointData.method\n );\n return data.success;\n }\n\n async isEmailAvaliable(email: string): Promise<boolean> {\n const endpointData = User.Endpoints.IsEmailAvaliable;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}?email=${email}`,\n endpointData.method\n );\n return data.isValid;\n }\n\n async update(\n context: Context,\n update: Partial<User.Update>\n ): Promise<boolean> {\n const endpointData = User.Endpoints.UpdateUser;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}`,\n endpointData.method,\n { ...update },\n context\n );\n return data.isValid;\n }\n\n async getBindedUsers(context: Context): Promise<User.Entity[]> {\n const endpointData = User.Endpoints.GetBindedUsers;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}`,\n endpointData.method,\n null,\n context\n );\n return data;\n }\n\n async setup(context: Context): Promise<boolean> {\n const endpointData = User.Endpoints.Setup;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}`,\n endpointData.method,\n null,\n context\n );\n return data.success;\n }\n\n async authenticate(\n email: string,\n password: string,\n system: User.System\n ): Promise<string> {\n const endpointData = User.Endpoints.Authenticate;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}`,\n endpointData.method,\n { system, email, password }\n );\n return data.token;\n }\n\n async createUser(create: User.Create) {\n const endpointData = User.Endpoints.CreateUser;\n\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n create,\n null\n );\n\n return data;\n }\n\n async getUserInfo(context: Context): Promise<User.Entity> {\n const endpointData = User.Endpoints.GetUserInfo;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n context\n );\n\n return data;\n }\n}\n\nexport default UserAPI;\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport { Track } from \"../\";\n\nclass TrackAPI implements Track.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async send(t: Track.Entity): Promise<boolean> {\n const endpointInfo = Track.Endpoints.Track;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointInfo.uri}`,\n endpointInfo.method,\n t\n );\n\n return data;\n }\n}\n\nexport default TrackAPI;\n","export type { Email as Entity } from \"./Email.schema\";\nexport { EmailSchema } from \"./Email.schema\";\nexport * from \"./Email.api\";\n","import { z } from \"zod/v3\";\n\nexport const EmailSchema = z.object({\n to: z.string().email().optional(),\n subject: z.string(),\n body: z.string(),\n});\n\nexport type Email = z.infer<typeof EmailSchema>;\n","import Context from \"../Context\";\nimport { Email } from \"./Email.schema\";\n\nexport interface IAPI {\n send: (email: Email, ctx?: Context) => Promise<boolean>;\n}\n\nexport const Endpoints = {\n SendEmail: {\n uri: \"/emails/public/send\",\n method: \"POST\",\n },\n};\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport Context from \"../model/Context\";\nimport * as Email from \"../model/email\";\n\nclass EmailAPI implements Email.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async send(email: Email.Entity, ctx?: Context): Promise<boolean> {\n const endpointInfo = Email.Endpoints.SendEmail;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method,\n email,\n ctx\n );\n\n return data.result;\n }\n}\n\nexport default EmailAPI;\n","export type {\n Project as Entity,\n Approve,\n Style,\n ProjectCreation,\n SendToApproval,\n TimelineItem,\n Feedback,\n} from \"./Project.schema\";\n\nexport {\n ProjectSchema,\n Status,\n CaptionStyle,\n Styles,\n TimelineItemSchema,\n FeedbackSchema,\n} from \"./Project.schema\";\n\nexport * from \"./Project.api\";\n\nexport type { StatusConfigType } from \"./StatusConfig\";\n\nexport { StatusConfig } from \"./StatusConfig\";\n","import { z } from \"zod/v3\";\nimport { AssetSchema } from \"../asset\";\n\nexport enum Status {\n SUBMITTED = 0,\n EDITING = 1,\n COMPLETED = 2,\n WAITING_APPROVE = 3,\n DENIED = 4,\n REVISIONING = 5,\n CANCELLED = 6,\n SCHEDULED = 7,\n}\n\nexport enum CaptionStyle {\n ONE_LINE = 1,\n ONE_LINE_EMOJIS = 2,\n TWO_LINES = 5,\n TWO_LINES_EMOJIS = 3,\n HOME_HIGHLIGHT = 4,\n}\n\nexport const StatusSchema = z.nativeEnum(Status);\nexport const CaptionStyleStatus = z.nativeEnum(CaptionStyle);\n\nexport const Styles: Style[] = [\n { value: CaptionStyle.ONE_LINE, label: \"One Line\" },\n { value: CaptionStyle.ONE_LINE_EMOJIS, label: \"One Line + Emojis\" },\n { value: CaptionStyle.TWO_LINES, label: \"Two Lines\" },\n { value: CaptionStyle.TWO_LINES_EMOJIS, label: \"Two Lines + Emojis\" },\n { value: CaptionStyle.HOME_HIGHLIGHT, label: \"Home Tour\" },\n];\n\nexport type Style = {\n value: CaptionStyle;\n label: string;\n};\n\nexport const TimelineItemSchema = z.object({\n status: z.nativeEnum(Status),\n title: z.string(),\n description: z.string(),\n timestamp: z.number(),\n metadata: z.record(z.string(), z.any()),\n});\n\nexport const FeedbackSchema = z.object({\n criteria: z.array(\n z.object({\n id: z.string(),\n label: z.string(),\n score: z.number().min(0).max(10),\n comment: z.string().optional(),\n })\n ),\n comment: z.string().optional(),\n});\n\nexport const ProjectSchema = z.object({\n id: z.string(),\n title: z.string(),\n instructions: z.string(),\n submitMonth: z.string(),\n captionStyle: z.nativeEnum(CaptionStyle),\n finalVideoId: z.string().optional(),\n thumbnailUrl: z.string().optional(),\n modified: z.number(),\n feedback: FeedbackSchema.optional(),\n captionSuggestion: z.string().optional(),\n editorId: z.string().optional(),\n userId: z.string(),\n assets: z.array(AssetSchema).optional(),\n expirationTimestamp: z.number(),\n isFree: z.boolean().optional(),\n timeline: z.array(TimelineItemSchema),\n submitTimestamp: z.number(),\n tenantId: z.string().optional(),\n status: z.nativeEnum(Status),\n});\n\nexport type ProjectCreation = Pick<\n Project,\n \"title\" | \"instructions\" | \"captionStyle\" | \"assets\"\n>;\n\nexport type SendToApproval = {\n video: string;\n thumbnail: string;\n captionSuggestion: string;\n};\n\nexport type Approve = {\n scheduleTime?: number;\n captionSuggestion: string;\n feedback?: Feedback;\n};\n\nexport type Project = z.infer<typeof ProjectSchema>;\nexport type TimelineItem = z.infer<typeof TimelineItemSchema>;\nexport type Feedback = z.infer<typeof FeedbackSchema>;\n","export { AssetSchema } from \"./Asset.schema\";\nexport type { Asset as Entity } from \"./Asset.schema\";\n","import { z } from \"zod/v3\";\n\nconst AssetSchema = z.object({\n assetId: z.string(),\n fileName: z.string(),\n extension: z.string(),\n fileSize: z.number(),\n assetUrl: z.string().url(),\n thumbnailUrl: z.string().url(),\n type: z.string(),\n duration: z.number().optional(),\n progress: z.number().optional(),\n error: z.string().optional(),\n authorId: z.string(),\n uploadedAt: z.number(),\n});\n\ntype Asset = z.infer<typeof AssetSchema>;\n\nexport { Asset, AssetSchema };\n","import Context from \"../Context\";\nimport {\n Project,\n ProjectCreation,\n SendToApproval,\n Approve,\n} from \"./Project.schema\";\nimport * as Core from \"../core\";\n\nexport interface IAPI {\n reorder: (\n context: Context,\n projectId: string,\n position: number\n ) => Promise<boolean>;\n find: (context: Context, projectId: string) => Promise<Project>;\n create: (context: Context, data: ProjectCreation) => Promise<Project>;\n review: (\n context: Context,\n projectId: string,\n revision: string\n ) => Promise<boolean>;\n cancel: (context: Context, projectId: string) => Promise<boolean>;\n list: (\n context: Context,\n query: Core.QueryOptions<Project>\n ) => Promise<Project[]>;\n start: (context: Context) => Promise<boolean>;\n sendToApproval: (\n context: Context,\n projectId: string,\n data: SendToApproval\n ) => Promise<boolean>;\n approve: (\n context: Context,\n projectId: string,\n data: Approve\n ) => Promise<boolean>;\n deny: (\n context: Context,\n projectId: string,\n denyFeedback: string,\n categories?: string[]\n ) => Promise<boolean>;\n unschedule: (context: Context, projectId: string) => Promise<boolean>;\n rollback: (context: Context, projectId: string) => Promise<boolean>;\n getNext: (context: Context, userId: string) => Promise<Project | null>;\n getUserHistory: (\n context: Context,\n userId: string\n ) => Promise<Core.APIResponse<Project>>;\n\n getPoolSize(context: Context): Promise<number>;\n\n permissions: {\n isEligibleForFreeProject(context: Context): Promise<boolean>;\n };\n}\n\nexport const Endpoints = {\n Reorder: { uri: \"/projects/reorder/\", method: \"POST\" },\n List: { uri: \"/projects/list\", method: \"GET\" },\n GetNext: { uri: \"/projects/:userId/next\", method: \"GET\" },\n CreateProject: { uri: \"/projects/create\", method: \"POST\" },\n FindOne: { uri: `/projects/:projectId/`, method: \"GET\" },\n GetGoals: { uri: `/projects/goals/list/`, method: \"GET\" },\n Review: { uri: \"/projects/:projectId/review/\", method: \"POST\" },\n Cancel: { uri: \"/projects/:projectId/cancel/\", method: \"DELETE\" },\n StartEdition: { uri: \"/projects/edition/start/\", method: \"PUT\" },\n SendToApproval: {\n uri: \"/projects/:projectId/sendToApproval/\",\n method: \"PUT\",\n },\n IsEligibleForFreeProject: {\n uri: \"/projects/free/allowed/\",\n method: \"GET\",\n },\n Approve: { uri: \"/projects/:projectId/approve/\", method: \"POST\" },\n Unschedule: { uri: \"/projects/:projectId/unschedule/\", method: \"POST\" },\n Rollback: { uri: \"/projects/:projectId/rollback/\", method: \"POST\" },\n Deny: { uri: \"/projects/:projectId/deny/\", method: \"POST\" },\n GetUserHistory: { uri: \"/projects/user/:userId/history/\", method: \"GET\" },\n GetPoolSize: { uri: \"/projects/pool/size/\", method: \"GET\" },\n};\n","import { Status } from \"../project\";\n\nexport type StatusConfigType = {\n id: Status;\n label: string;\n\n colors: {\n text: string;\n bg: string;\n border: string;\n dot: string;\n };\n\n thumbnail: {\n primary: string;\n secondary: string;\n };\n\n icons: {\n mobile: { primary: string; secondary: string };\n web: { name: string; iconColor: string; bgColor: string };\n };\n\n progress: {\n primary: string;\n secondary: string;\n border: string;\n };\n};\n\nexport const StatusConfig: Record<Status, StatusConfigType> = {\n [Status.SUBMITTED]: {\n id: Status.SUBMITTED,\n label: \"Submitted\",\n colors: {\n text: \"#0369A1\",\n bg: \"#BAE6FD\",\n border: \"#7DD3FC\",\n dot: \"#0369A1\",\n },\n thumbnail: {\n primary: \"#7DD3FC\",\n secondary: \"#E0F2FE\",\n },\n icons: {\n mobile: { primary: \"#0EA5E9\", secondary: \"#7DD3FC\" },\n web: {\n name: \"Share\",\n iconColor: \"#0369A1\",\n bgColor: \"#7DD3FC\",\n },\n },\n progress: {\n primary: \"#7DD3FC\",\n secondary: \"#F0F9FF\",\n border: \"#E0F2FE\",\n },\n },\n [Status.EDITING]: {\n id: Status.EDITING,\n label: \"In Progress\",\n colors: {\n text: \"#7C3AED\",\n bg: \"#F5F3FF\",\n border: \"#DDD6FE\",\n dot: \"#7C3AED\",\n },\n thumbnail: {\n primary: \"#C4B5FD\",\n secondary: \"#F5F3FF\",\n },\n icons: {\n mobile: { primary: \"#A67EE7\", secondary: \"#C4A9EF\" },\n web: {\n name: \"Hourglass\",\n iconColor: \"#7C3AED\",\n bgColor: \"#DDD6FE\",\n },\n },\n progress: {\n primary: \"#C4B5FD\",\n secondary: \"#F5F3FF\",\n border: \"#EDE9FE\",\n },\n },\n [Status.WAITING_APPROVE]: {\n id: Status.WAITING_APPROVE,\n label: \"Waiting Approval\",\n colors: {\n text: \"#C2410C\",\n bg: \"#FFEDD5\",\n border: \"#FED7AA\",\n dot: \"#EA580C\",\n },\n thumbnail: {\n primary: \"#C4B5FD\",\n secondary: \"#F5F3FF\",\n },\n icons: {\n mobile: { primary: \"#A67EE7\", secondary: \"#C4A9EF\" },\n web: {\n name: \"Clock\",\n iconColor: \"#C2410C\",\n bgColor: \"#FED7AA\",\n },\n },\n progress: {\n primary: \"#FDBA74\",\n secondary: \"#FFF7ED\",\n border: \"#FFEDD5\",\n },\n },\n [Status.DENIED]: {\n id: Status.DENIED,\n label: \"Denied\",\n colors: {\n text: \"#EF4444\",\n bg: \"#FEE2E2\",\n border: \"#FECACA\",\n dot: \"#EF4444\",\n },\n thumbnail: {\n primary: \"#C4B5FD\",\n secondary: \"#F5F3FF\",\n },\n icons: {\n mobile: { primary: \"#A67EE7\", secondary: \"#C4A9EF\" },\n web: {\n name: \"CircleX\",\n iconColor: \"#EF4444\",\n bgColor: \"#FECACA\",\n },\n },\n progress: {\n primary: \"#FCA5A5\",\n secondary: \"#FEF2F2\",\n border: \"#FEE2E2\",\n },\n },\n [Status.SCHEDULED]: {\n id: Status.SCHEDULED,\n label: \"Scheduled\",\n colors: {\n text: \"#3F6212\",\n bg: \"#ECFCCB\",\n border: \"#D9F99D\",\n dot: \"#4D7C0F\",\n },\n thumbnail: {\n primary: \"#C4B5FD\",\n secondary: \"#F5F3FF\",\n },\n icons: {\n mobile: { primary: \"#A67EE7\", secondary: \"#C4A9EF\" },\n web: {\n name: \"CalendarRange\",\n iconColor: \"#3F6212\",\n bgColor: \"#D9F99D\",\n },\n },\n progress: {\n primary: \"#BEF264\",\n secondary: \"#F7FEE7\",\n border: \"#ECFCCB\",\n },\n },\n [Status.COMPLETED]: {\n id: Status.COMPLETED,\n label: \"Completed\",\n colors: {\n text: \"#16A34A\",\n bg: \"#F0FDF4\",\n border: \"#DCFCE7\",\n dot: \"#16A34A\",\n },\n thumbnail: {\n primary: \"#86EFAC\",\n secondary: \"#F0FDF4\",\n },\n icons: {\n mobile: { primary: \"#22C55E\", secondary: \"#BBF7D0\" },\n web: {\n name: \"CircleCheck\",\n iconColor: \"#16A34A\",\n bgColor: \"#DCFCE7\",\n },\n },\n progress: {\n primary: \"#4ADE80\",\n secondary: \"#DCFCE7\",\n border: \"#BBF7D0\",\n },\n },\n [Status.REVISIONING]: {\n id: Status.REVISIONING,\n label: \"Revisioning\",\n colors: {\n text: \"#854D0E\",\n bg: \"#FEF9C3\",\n border: \"#FEF08A\",\n dot: \"#A16207\",\n },\n thumbnail: {\n primary: \"#FDE047\",\n secondary: \"#FEFCE8\",\n },\n icons: {\n mobile: { primary: \"#EAB308\", secondary: \"#FACC15\" },\n web: {\n name: \"FilePen\",\n iconColor: \"#713F12\",\n bgColor: \"#FEF08A\",\n },\n },\n progress: {\n primary: \"#FACC15\",\n secondary: \"#FEF08A\",\n border: \"#FEF9C3\",\n },\n },\n [Status.CANCELLED]: {\n id: Status.CANCELLED,\n label: \"Canceled\",\n colors: {\n text: \"#A3A3A3\",\n bg: \"#F5F5F5\",\n border: \"#E5E5E5\",\n dot: \"#A3A3A3\",\n },\n thumbnail: {\n primary: \"#D4D4D4\",\n secondary: \"#FAFAFA\",\n },\n icons: {\n mobile: { primary: \"#6B7280\", secondary: \"#D1D5DB\" },\n web: {\n name: \"Ban\",\n iconColor: \"#A3A3A3\",\n bgColor: \"#F5F5F5\",\n },\n },\n progress: {\n primary: \"#A3A3A3\",\n secondary: \"#FAFAFA\",\n border: \"#E5E5E5\",\n },\n },\n};\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport * as Project from \"../model/project\";\nimport Context from \"../model/Context\";\nimport * as Core from \"../model/core\";\nimport { buildQueryString } from \"../util/parseQuery\";\n\nclass ProjectAPI implements Project.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async getPoolSize(context: Context): Promise<number> {\n const endpointData = Project.Endpoints.GetPoolSize;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n context\n );\n return data.size;\n }\n\n async reorder(\n ctx: Context,\n projectId: string,\n position: number\n ): Promise<boolean> {\n const endpointData = Project.Endpoints.Reorder;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n { projectId, position },\n ctx\n );\n\n return data.success;\n }\n\n permissions = {\n isEligibleForFreeProject: async (ctx: Context): Promise<boolean> => {\n const endpointData = Project.Endpoints.IsEligibleForFreeProject;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n ctx\n );\n return data.canCreate;\n },\n };\n\n async getNext(ctx: Context, userId: string): Promise<Project.Entity | null> {\n const endpointData = Project.Endpoints.GetNext;\n const endpoint = endpointData.uri.replace(\":userId\", userId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n ctx\n );\n return data;\n }\n\n async getUserHistory(\n context: Context,\n userId: string\n ): Promise<Core.APIResponse<Project.Entity>> {\n const endpointData = Project.Endpoints.GetUserHistory;\n const endpoint = endpointData.uri.replace(\":userId\", userId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n context\n );\n return data;\n }\n\n async find(context: Context, projectId: string): Promise<Project.Entity> {\n const endpointData = Project.Endpoints.FindOne;\n const endpoint = endpointData.uri.replace(\":projectId\", projectId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n context\n );\n return data;\n }\n\n async create(\n context: Context,\n createData: Project.ProjectCreation\n ): Promise<Project.Entity> {\n const endpointData = Project.Endpoints.CreateProject;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n createData,\n context\n );\n return data;\n }\n\n async review(ctx: Context, pId: string, revision: string): Promise<boolean> {\n const endpointData = Project.Endpoints.Review;\n const endpoint = endpointData.uri.replace(\":projectId\", pId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n { revision },\n ctx\n );\n return data.success;\n }\n\n async cancel(ctx: Context, projectId: string): Promise<boolean> {\n const endpointData = Project.Endpoints.Cancel;\n const endpoint = endpointData.uri.replace(\":projectId\", projectId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n ctx\n );\n return data.success;\n }\n\n async list(\n context: Context,\n query: Core.QueryOptions<Project.Entity>\n ): Promise<Project.Entity[]> {\n const endpointData = Project.Endpoints.List;\n const qs = buildQueryString(query);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n `${endpointData.uri}${qs}`,\n endpointData.method,\n null,\n context\n );\n return data;\n }\n\n async deny(\n ctx: Context,\n pId: string,\n denyFB: string,\n categories?: string[]\n ): Promise<boolean> {\n const endpointData = Project.Endpoints.Deny;\n const endpoint = endpointData.uri.replace(\":projectId\", pId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n { denyFeedback: denyFB, categories: categories || [] },\n ctx\n );\n return data.success;\n }\n\n async unschedule(context: Context, projectId: string): Promise<boolean> {\n const endpointData = Project.Endpoints.Unschedule;\n const endpoint = endpointData.uri.replace(\":projectId\", projectId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n context\n );\n return data.success;\n }\n\n async rollback(context: Context, projectId: string): Promise<boolean> {\n const endpointData = Project.Endpoints.Rollback;\n const endpoint = endpointData.uri.replace(\":projectId\", projectId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n context\n );\n return data.success;\n }\n\n async start(context: Context): Promise<boolean> {\n const endpointData = Project.Endpoints.StartEdition;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n context\n );\n return data.success;\n }\n\n async approve(\n ctx: Context,\n pId: string,\n approve: Project.Approve\n ): Promise<boolean> {\n const endpointData = Project.Endpoints.Approve;\n const endpoint = endpointData.uri.replace(\":projectId\", pId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n approve,\n ctx\n );\n return data.success;\n }\n\n async sendToApproval(\n context: Context,\n projectId: string,\n approval: Project.SendToApproval\n ): Promise<boolean> {\n const endpointData = Project.Endpoints.SendToApproval;\n const endpoint = endpointData.uri.replace(\":projectId\", projectId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n approval,\n context\n );\n return data.success;\n }\n}\n\nexport default ProjectAPI;\n","export type { Goal as Entity, DailyMilestone } from \"./Goal.schema\";\n\nexport { GoalSchema, DailyMilestoneSchema } from \"./Goal.schema\";\n\nexport * from \"./Goal.api\";\n","import { z } from \"zod/v3\";\n\nexport const DailyMilestoneSchema = z.object({\n id: z.string(),\n date: z.string(),\n target: z.number(),\n progress: z.number(),\n});\n\nexport const GoalSchema = z.object({\n id: z.string(),\n editorId: z.string(),\n isoWeek: z.string(), // ex: \"2026-W27\"\n target: z.number(),\n progress: z.number(),\n createdAt: z.number(),\n dailyMilestones: z.array(DailyMilestoneSchema),\n});\n\nexport type DailyMilestone = z.infer<typeof DailyMilestoneSchema>;\nexport type Goal = z.infer<typeof GoalSchema>;\n","import Context from \"../Context\";\nimport { Goal } from \"./Goal.schema\";\n\nexport interface IAPI {\n getGoals: (context: Context) => Promise<Goal[]>;\n}\n\nexport const Endpoints = {\n GetGoals: { uri: `/projects/goals/list/`, method: \"GET\" },\n};\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport Context from \"../model/Context\";\nimport * as Goal from \"../model/goal\";\n\nclass GoalAPI implements Goal.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async getGoals(context: Context): Promise<Goal.Entity[]> {\n const endpointData = Goal.Endpoints.GetGoals;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n null,\n context\n );\n return data;\n }\n}\n\nexport default GoalAPI;\n","export interface IAPI {\n version: () => Promise<string>;\n}\n\nexport const Endpoints = {\n Version: {\n uri: \"/app-config/public/version/latest\",\n method: \"GET\",\n },\n};\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport * as APPConfig from \"../model/app-config\";\n\nclass AppConfigAPI implements APPConfig.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async version(): Promise<string> {\n const endpointInfo = APPConfig.Endpoints.Version;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointInfo.uri,\n endpointInfo.method\n );\n\n return data.version;\n }\n}\n\nexport default AppConfigAPI;\n","export { NoteSchema, NoteHistorySchema } from \"./Note.schema\";\nexport type { Note as Entity, NoteHistory } from \"./Note.schema\";\nexport * from \"./Note.api\";\n","import { z } from \"zod/v3\";\nimport { AssetSchema } from \"../asset\";\n\nconst NoteHistorySchema = z.object({\n type: z.enum([\n \"created\",\n \"updated\",\n \"deleted\",\n \"asset-added\",\n \"asset-removed\",\n ]),\n actorEmail: z.string().email(),\n timestamp: z.number(),\n details: z.string().optional(),\n});\n\nconst NoteSchema = z.object({\n id: z.string(),\n userId: z.string(),\n authorEmail: z.string().email(),\n assets: z.array(AssetSchema),\n title: z.string(),\n content: z.string(),\n createdAt: z.number(),\n modified: z.number(),\n history: z.array(NoteHistorySchema).optional(),\n});\n\ntype Note = z.infer<typeof NoteSchema>;\ntype NoteHistory = z.infer<typeof NoteHistorySchema>;\n\nexport { NoteHistorySchema, NoteSchema, NoteHistory, Note };\n","import Context from \"../Context\";\nimport { Note } from \"./Note.schema\";\n\nexport interface IAPI {\n list: (c: Context, userId: string) => Promise<Note[]>;\n add: (c: Context, note: Partial<Note>) => Promise<Note>;\n update: (c: Context, id: string, script: Partial<Note>) => Promise<Note>;\n delete: (c: Context, id: string) => Promise<boolean>;\n}\n\nexport const Endpoints = {\n GetNotes: {\n uri: \"/user-context/notes/user/:userId/\",\n method: \"GET\",\n },\n AddNote: {\n uri: \"/user-context/notes/\",\n method: \"PUT\",\n },\n DeleteNote: {\n uri: \"/user-context/notes/:id/\",\n method: \"DELETE\",\n },\n UpdateNote: {\n uri: \"/user-context/notes/:id/\",\n method: \"POST\",\n },\n};\n","import HTTPClient from \"../util/HTTPClient\";\nimport Environment from \"../model/Env\";\nimport Context from \"../model/Context\";\nimport * as Note from \"../model/note\";\n\nclass NoteAPI implements Note.IAPI {\n private env: Environment;\n private clientHTTP: HTTPClient;\n\n constructor(env: Environment) {\n this.env = env;\n this.clientHTTP = new HTTPClient();\n }\n\n async list(c: Context, userId: string): Promise<Note.Entity[]> {\n const endpointData = Note.Endpoints.GetNotes;\n const endpoint = endpointData.uri.replace(\":userId\", userId);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n c\n );\n return data;\n }\n\n async add(c: Context, note: Partial<Note.Entity>): Promise<Note.Entity> {\n const endpointData = Note.Endpoints.AddNote;\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpointData.uri,\n endpointData.method,\n note,\n c\n );\n return data;\n }\n\n async update(\n c: Context,\n id: string,\n toUpdate: Partial<Note.Entity>\n ): Promise<Note.Entity> {\n const endpointData = Note.Endpoints.UpdateNote;\n const endpoint = endpointData.uri.replace(\":id\", id);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n toUpdate,\n c\n );\n return data;\n }\n\n async delete(c: Context, id: string): Promise<boolean> {\n const endpointData = Note.Endpoints.DeleteNote;\n const endpoint = endpointData.uri.replace(\":id\", id);\n const data = await this.clientHTTP.makeRequest(\n this.env,\n endpoint,\n endpointData.method,\n null,\n c\n );\n return data;\n }\n}\n\nexport default NoteAPI;\n","import NotificationAPI from \"../api/Notification.api\";\nimport PromptAPI from \"../api/Prompt.api\";\nimport SubscriptionAPI from \"../api/Subscription.api\";\nimport TenantAPI from \"../api/Tenant.api\";\nimport UserAPI from \"../api/User.api\";\nimport TrackAPI from \"../api/Track.api\";\nimport EmailAPI from \"../api/Email.api\";\nimport ProjectAPI from \"../api/Project.api\";\nimport GoalAPI from \"../api/Goal.api\";\nimport AppConfigAPI from \"../api/AppConfig.api\";\nimport NoteAPI from \"../api/Note.api\";\n\nimport Environment from \"./Env\";\n\nimport * as Prompt from \"./../model/prompt\";\nimport * as Subscription from \"./../model/subscription\";\nimport * as User from \"./../model/user\";\nimport * as Tenant from \"./../model/tenant\";\nimport * as Track from \"./../model/track\";\nimport * as Email from \"./../model/email\";\nimport * as Project from \"./../model/project\";\nimport * as Goal from \"./../model/goal\";\nimport * as Notification from \"./../model/notification\";\nimport * as AppConfig from \"./../model/app-config\";\nimport * as Note from \"./../model/note\";\n\nexport class ShredAPI {\n user: User.IAPI;\n goal: Goal.IAPI;\n subscription: Subscription.IAPI;\n prompt: Prompt.IAPI;\n pushNotification: Notification.IAPI;\n email: Email.IAPI;\n tenant: Tenant.IAPI;\n app: AppConfig.IAPI;\n project: Project.IAPI;\n track: Track.IAPI;\n note: Note.IAPI;\n\n constructor(env: Environment) {\n this.user = new UserAPI(env);\n this.goal = new GoalAPI(env);\n this.prompt = new PromptAPI(env);\n this.subscription = new SubscriptionAPI(env);\n this.pushNotification = new NotificationAPI(env);\n this.email = new EmailAPI(env);\n this.tenant = new TenantAPI(env);\n this.project = new ProjectAPI(env);\n this.app = new AppConfigAPI(env);\n this.track = new TrackAPI(env);\n this.note = new NoteAPI(env);\n }\n}\n","import ConflictException from \"./ConflictException\";\nimport InvalidArgumentException from \"./InvalidArgumentException\";\nimport ResourceNotFoundException from \"./ResourceNotFoundException\";\nimport ShredException from \"./ShredException\";\nimport UnauthorizedException from \"./UnauthorizedException\";\nimport ForbiddenException from \"./ForbiddenException\";\n\nconst Exceptions = {\n ConflictException,\n InvalidArgumentException,\n ResourceNotFoundException,\n ShredException,\n UnauthorizedException,\n ForbiddenException,\n};\n\nexport default Exceptions;\n\nexport type {\n ConflictException,\n InvalidArgumentException,\n ResourceNotFoundException,\n ShredException,\n UnauthorizedException,\n ForbiddenException,\n};\n","export default class ShredException extends Error {\n public status: number;\n\n constructor(message: string, status: number) {\n super(message);\n this.name = \"ShredException\";\n this.status = status;\n }\n}\n","import ShredException from \"./ShredException\";\n\nexport default class ConflictException extends ShredException {\n constructor(message: string) {\n super(message, 409);\n this.name = \"ConflictException\";\n }\n}\n","import ShredException from \"./ShredException\";\n\nexport default class InvalidArgumentException extends ShredException {\n constructor(message: string) {\n super(message, 400);\n this.name = \"InvalidArgumentException\";\n }\n}\n","import ShredException from \"./ShredException\";\n\nexport default class ResourceNotFoundException extends ShredException {\n constructor(message: string) {\n super(message, 404);\n this.name = \"ResourceNotFoundException\";\n }\n}\n","import ShredException from \"./ShredException\";\n\nexport default class UnauthorizedException extends ShredException {\n constructor(message: string) {\n super(message, 401);\n this.name = \"UnauthorizedException\";\n }\n}\n","import ShredException from \"./ShredException\";\n\nexport default class ForbiddenException extends ShredException {\n constructor(message: string) {\n super(message, 403);\n this.name = \"ForbiddenException\";\n }\n}\n","export { PromptSchema, ScriptSchema, CategorySchema } from \"./Prompt.schema\";\nexport type { Prompt as Entity, Script, Category } from \"./Prompt.schema\";\nexport * from \"./Prompt.api\";\n","import { z } from \"zod/v3\";\n\nexport const ScriptSchema = z.object({\n id: z.string(),\n title: z.string(),\n content: z.string(),\n tags: z.array(z.string()).optional(),\n userId: z.string().optional(),\n});\n\nexport const CategorySchema = z.object({\n id: z.string(),\n title: z.string(),\n pictureUrl: z.string().url(),\n backgroundColor: z.string(),\n active: z.boolean(),\n scripts: z.array(ScriptSchema),\n});\n\nexport const PromptSchema = z.object({\n id: z.string(),\n tenantId: z.string(),\n categories: z.array(CategorySchema),\n});\n\n// Infer types\nexport type Script = z.infer<typeof ScriptSchema>;\nexport type Category = z.infer<typeof CategorySchema>;\nexport type Prompt = z.infer<typeof PromptSchema>;\n","import Context from \"../Context\";\nimport { Prompt, Script } from \"./Prompt.schema\";\n\nexport interface IAPI {\n getPrompt: (c: Context) => Promise<Prompt>;\n addScript: (c: Context, script: Partial<Script>) => Promise<Script>;\n deleteScript: (c: Context, id: string) => Promise<boolean>;\n getScripts: (c: Context) => Promise<Script[]>;\n updateScript: (\n c: Context,\n id: string,\n script: Partial<Script>\n ) => Promise<boolean>;\n}\n\nexport const Endpoints = {\n GetPrompt: {\n uri: \"/prompts/getPrompt\",\n method: \"GET\",\n },\n AddScript: {\n uri: \"/prompts/script/new/\",\n method: \"POST\",\n },\n DeleteScript: {\n uri: \"/prompts/script/:id/delete/\",\n method: \"DELETE\",\n },\n ListScript: {\n uri: \"/prompts/script/list/\",\n method: \"GET\",\n },\n UpdateScript: {\n uri: \"/prompts/script/:id/update/\",\n method: \"PUT\",\n },\n};\n","export type { Tenant as Entity, Preferences } from \"./Tenant.schema\";\nexport { TenantSchema, PreferencesSchema } from \"./Tenant.schema\";\nexport * from \"./Tenant.api\";\n","import { z } from \"zod/v3\";\nimport { SubscriptionSchema } from \"../subscription/Subscription.schema\";\n\nexport const PreferencesSchema = z.object({\n iconUrl: z.string().url(),\n logoUrl: z.string().url(),\n primaryColor: z.string(),\n secondaryColor: z.string(),\n guidelinesUrl: z.string().url().optional(),\n});\n\nexport const TenantSchema = z.object({\n id: z.string(),\n name: z.string(),\n isActive: z.boolean(),\n isSubscriptionActive: z.boolean(),\n preferences: PreferencesSchema,\n inviteCode: z.string(),\n totalUsersAllowed: z.number(),\n currentUsersSize: z.number().optional(),\n chargeByEmail: z.boolean(),\n defaultProductId: z.string().optional(),\n defaultPlanId: z.string().optional(),\n defaultCoupomCode: z.string().optional(),\n allowedProducts: z.array(z.string()).optional(),\n useOwnScripts: z.boolean().optional(),\n subscription: z.optional(z.lazy(() => SubscriptionSchema)),\n});\n\nexport type Tenant = z.infer<typeof TenantSchema>;\nexport type Preferences = z.infer<typeof PreferencesSchema>;\n","import { z } from \"zod/v3\";\n\nexport enum Type {\n CUSTOMER_SUBSCRIPTION = 0,\n TENANT_SUBSCRIPTION = 1,\n}\n\nexport const SubscriptionTypeSchema = z.nativeEnum(Type);\n\nexport const PlanSchema = z.object({\n id: z.string(),\n currency: z.string(),\n price: z.number(),\n interval: z.string(),\n metadata: z.record(z.string(), z.string()),\n subscriptionItemId: z.string(),\n});\n\nexport const DescriptionSchema = z.object({\n description: z.string(),\n subtitle: z.string(),\n});\n\nexport const ProductSchema = z.object({\n id: z.string(),\n name: z.string(),\n descriptions: z.array(DescriptionSchema),\n metadata: z.any(),\n plans: z.array(PlanSchema),\n percentOff: z.number().default(0),\n});\n\nexport const ChargeSchema = z.object({\n id: z.number(),\n created: z.number(),\n paid: z.boolean(),\n receiptUrl: z.string(),\n status: z.string(),\n price: z.string(),\n paymentType: z.string(),\n last4: z.string().optional(),\n brand: z.string().optional(),\n});\n\nexport const SubscriptionSchema = z.object({\n id: z.string(),\n status: z.string(),\n startDate: z.number().optional(),\n daysUntilDue: z.number().optional(),\n renewAutomatically: z.boolean().optional(),\n currentPeriodStart: z.number().optional(),\n currentPeriodEnd: z.number().optional(),\n paymentMethodId: z.string().optional(),\n product: ProductSchema,\n type: z.nativeEnum(Type).optional(),\n plan: PlanSchema.optional(),\n});\n\nexport type Subscription = z.infer<typeof SubscriptionSchema>;\nexport type Charge = z.infer<typeof ChargeSchema>;\nexport type Plan = z.infer<typeof PlanSchema>;\nexport type Product = z.infer<typeof ProductSchema>;\n","import Context from \"../Context\";\nimport { Tenant } from \"./Tenant.schema\";\n\nexport interface IAPI {\n getByInviteCode: (code: string, context?: Context) => Promise<Tenant | null>;\n create: (tenant: Tenant, context: Context) => Promise<boolean>;\n list: (context: Context) => Promise<Tenant[]>;\n getTenant: (context: Context, tenantId?: string) => Promise<Tenant | null>;\n update: (\n tenantId: string,\n data: Pick<Tenant, \"preferences\">,\n context: Context\n ) => Promise<boolean>;\n}\n\nexport const Endpoints = {\n GetByInviteCode: {\n uri: \"/tenants/public/invitation/\",\n method: \"GET\",\n },\n CreateTenant: {\n uri: \"/tenants/create\",\n method: \"PUT\",\n },\n GetTenant: {\n uri: \"/tenants/me\",\n method: \"GET\",\n },\n GetTenantById: {\n uri: \"/tenants/:tenantId/find\",\n method: \"GET\",\n },\n UpdateTenant: {\n uri: \"/tenants/update\",\n method: \"POST\",\n },\n ListAll: {\n uri: \"/tenants/list\",\n method: \"GET\",\n },\n};\n","export type {\n User as Entity,\n Preferences,\n Update,\n Create,\n} from \"./User.schema\";\nexport { UserSchema, PreferencesSchema, Role, System } from \"./User.schema\";\nexport * from \"./User.api\";\n","import { z } from \"zod/v3\";\n\nexport enum Role {\n USER = \"User\",\n EDITOR = \"Editor\",\n QA = \"QA\",\n ADMIN = \"ADMIN\",\n SYSTEM = \"SYSTEM\",\n}\n\nexport enum System {\n APP = \"APP\",\n EDITOR = \"EDITOR\",\n QA = \"QA\",\n ADMIN = \"ADMIN\",\n}\n\nexport const PreferencesSchema = z.object({\n primaryColor: z.string().optional(),\n secondaryColor: z.string().optional(),\n facebookLink: z.string().optional(),\n isFeedbackEnabled: z.boolean().default(true).optional(),\n instagramLink: z.string().optional(),\n industries: z.array(z.string()).optional(),\n bRoll: z.boolean().optional(),\n logo: z.string().optional(),\n});\n\nexport const UserSchema = z.object({\n id: z.string(),\n name: z.string(),\n email: z.string().email(),\n fcmToken: z.string().optional(),\n profession: z.string().optional(),\n photoUrl: z.string().optional(),\n preferences: PreferencesSchema.optional(),\n tenantId: z.string().optional(),\n editorId: z.string().optional(),\n timezone: z.string().optional(),\n experienceId: z.string().optional(),\n customerId: z.string(),\n role: z.nativeEnum(Role),\n});\n\nexport type User = z.infer<typeof UserSchema>;\nexport type Preferences = z.infer<typeof PreferencesSchema>;\nexport type Update = Pick<\n User,\n | \"name\"\n | \"profession\"\n | \"preferences\"\n | \"photoUrl\"\n | \"fcmToken\"\n | \"timezone\"\n | \"experienceId\"\n>;\n\nexport type Create = Pick<User, \"name\" | \"email\"> & {\n password?: string;\n passwordConfirmation?: string;\n invitationCode?: string;\n role?: Role;\n industries?: string[];\n};\n","import * as Core from \"../core\";\nimport Context from \"../Context\";\nimport { System, User, Update, Create } from \"./User.schema\";\n\nexport interface IAPI {\n getUserInfo: (context: Context) => Promise<User>;\n isEmailAvaliable: (email: string) => Promise<boolean>;\n sendValidationCode: (email: string) => Promise<boolean>;\n confirmCode: (\n email: string,\n code: number,\n keepCode?: boolean\n ) => Promise<boolean>;\n changePassword: (\n email: string,\n pass: string,\n passConfirm: string,\n code: number\n ) => Promise<boolean>;\n changeEmail: (ctx: Context, email: string, code: number) => Promise<boolean>;\n authenticate: (\n email: string,\n password: string,\n system: System\n ) => Promise<string>;\n update: (context: Context, update: Partial<Update>) => Promise<boolean>;\n setup: (context: Context) => Promise<boolean>;\n getBindedUsers: (ctx: Context) => Promise<User[]>;\n deleteAccount: (ctx: Context) => Promise<boolean>;\n getIntegrationToken: (ctx: Context) => Promise<string | null>;\n createIntegrationToken: (ctx: Context) => Promise<string>;\n search: (\n ctx: Context,\n query: Core.QueryOptions<User>\n ) => Promise<Core.APIResponse<User>>;\n createUser: (data: Create) => Promise<User>;\n}\n\nexport const Endpoints = {\n ChangeEmail: { uri: \"/accounts/user/changeEmail\", method: \"PUT\" },\n GetUserInfo: { uri: \"/accounts/user/info\", method: \"GET\" },\n GetBindedUsers: { uri: \"/accounts/binded/list\", method: \"GET\" },\n EnableUser: { uri: \"/api/user/register\", method: \"POST\" },\n ChangePassword: { uri: \"/accounts/public/changePassword/\", method: \"POST\" },\n IsEmailAvaliable: { uri: \"/accounts/public/email/avaliable\", method: \"GET\" },\n GetIntegrationToken: { uri: \"/accounts/user/getToken/\", method: \"GET\" },\n CreateToken: { uri: \"/accounts/user/createToken/\", method: \"POST\" },\n ConfirmCode: { uri: \"/accounts/public/email/validate\", method: \"POST\" },\n DeleteAccount: { uri: \"/accounts/user/delete/\", method: \"DELETE\" },\n SendValidationCode: { uri: \"/accounts/public/email/send\", method: \"POST\" },\n Authenticate: { uri: \"/accounts/public/login\", method: \"POST\" },\n CreateUser: { uri: \"/accounts/public/create\", method: \"POST\" },\n UpdateUser: { uri: \"/accounts/user/update\", method: \"PUT\" },\n Setup: { uri: \"/accounts/user/setup/\", method: \"POST\" },\n Search: { uri: \"/accounts/users/search/\", method: \"GET\" },\n};\n","export type {\n Subscription as Entity,\n Product,\n Plan,\n Charge,\n} from \"./Subscription.schema\";\n\nexport {\n SubscriptionSchema,\n ProductSchema,\n PlanSchema,\n ChargeSchema,\n Type,\n SubscriptionTypeSchema,\n} from \"./Subscription.schema\";\n\nexport * from \"./Subscription.api\";\n","import Context from \"../Context\";\nimport { Charge, Product, Subscription } from \"./Subscription.schema\";\n\nexport interface IAPI {\n getCharges: (ctx: Context) => Promise<Charge[]>;\n getPortalUrl: (ctx: Context) => Promise<string>;\n getSubscription: (\n context: Context,\n userId?: string\n ) => Promise<Subscription | null>;\n getProduct: (id: string, context?: Context) => Promise<Product>;\n getProducts: (ctx?: Context) => Promise<Product[]>;\n charge: (ctx: Context) => Promise<boolean>;\n pause: (ctx: Context) => Promise<boolean>;\n resume: (ctx: Context) => Promise<boolean>;\n updatePlan: (ctx: Context, planId: string) => Promise<boolean>;\n createCheckout: (planId: string | null, ctx: Context) => Promise<string>;\n}\n\nexport const Endpoints = {\n GetPortal: {\n uri: \"/subscriptions/portal/\",\n method: \"GET\",\n },\n GetProduct: {\n uri: \"/subscriptions/products/public/retrieve/\",\n method: \"GET\",\n },\n GetActiveSubscription: {\n uri: \"/subscriptions/active/\",\n method: \"GET\",\n },\n GetCharges: {\n uri: \"/subscriptions/payment/charge/list/\",\n method: \"GET\",\n },\n GetUserActiveSubscription: {\n uri: \"/subscriptions/:userId/find/\",\n method: \"GET\",\n },\n GetProducts: {\n uri: \"/subscriptions/products/public/list/\",\n method: \"GET\",\n },\n GetProductsByUser: {\n uri: \"/subscriptions/products/list/\",\n method: \"GET\",\n },\n Checkout: {\n uri: \"/subscriptions/payment/checkout/\",\n method: \"POST\",\n },\n Charge: {\n uri: \"/subscriptions/payment/charge/\",\n method: \"POST\",\n },\n Pause: {\n uri: \"/subscriptions/pause/\",\n method: \"PUT\",\n },\n Resume: {\n uri: \"/subscriptions/resume/\",\n method: \"PUT\",\n },\n UpdatePlan: {\n uri: \"/subscriptions/plan/update/\",\n method: \"PUT\",\n },\n};\n","export type { Track as Entity, TrackParam } from \"./Track.schema\";\nexport { TrackSchema, TrackParamSchema } from \"./Track.schema\";\nexport * from \"./Track.api\";\n","import { z } from \"zod/v3\";\n\nexport const TrackParamSchema = z.object({\n name: z.string(),\n value: z.union([z.string(), z.number()]),\n});\n\nexport const TrackSchema = z.object({\n category: z.string(),\n label: z.string(),\n action: z.string(),\n params: z.array(TrackParamSchema).optional(),\n});\n\nexport type Track = z.infer<typeof TrackSchema>;\nexport type TrackParam = z.infer<typeof TrackParamSchema>;\n","import { Track } from \"./Track.schema\";\n\nexport interface IAPI {\n send: (t: Track) => Promise<boolean>;\n}\n\nexport const Endpoints = {\n Track: {\n uri: \"/track/public/send/\",\n method: \"POST\",\n },\n};\n","export * from \"./Query\";\nexport * from \"./APIResponse\";\n"],"mappings":"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","names":["axios","Frequency","WeekDay","CriteriaType","TransportType","Status","Endpoints","import_v3","Endpoints","Endpoints","Endpoints","Status","import_v3","import_v3","Status","CaptionStyle","Endpoints","Endpoints","Endpoints","import_v3","Endpoints","Endpoints","Endpoints","Endpoints","Endpoints","import_v3","Endpoints","Endpoints","Endpoints","import_v3","Endpoints","Endpoints","import_v3","import_v3","Type","Endpoints","Endpoints","PreferencesSchema","import_v3","Role","System","PreferencesSchema","Endpoints","Endpoints","Endpoints","Endpoints","import_v3","Endpoints"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shred-api-client",
|
|
3
|
-
"version": "2.3.5-rc.
|
|
3
|
+
"version": "2.3.5-rc.5",
|
|
4
4
|
"description": "API Client for Shred",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"axios": "^1.12.2",
|
|
20
20
|
"uuid": "^13.0.0",
|
|
21
21
|
"winston": "^3.13.0",
|
|
22
|
-
"zod": "
|
|
22
|
+
"zod": "4"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@types/node": "^24.0.3",
|