@kohost/api-client 7.8.1 → 7.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/httpClient.js +2 -3
- package/dist/httpClient.js.map +1 -1
- package/dist/lib/deliveryStatus.d.ts +3 -0
- package/dist/lib/deliveryStatus.js +31 -0
- package/dist/lib/deliveryStatus.js.map +1 -0
- package/dist/lib/emergencyContacts.d.ts +14 -0
- package/dist/lib/emergencyContacts.js +1 -0
- package/dist/lib/index.d.ts +6 -1
- package/dist/lib/index.js +15 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/messageErrorCodes.d.ts +4 -0
- package/dist/lib/messageErrorCodes.js +24 -0
- package/dist/lib/messageErrorCodes.js.map +1 -0
- package/dist/lib/money.d.ts +7 -1
- package/dist/lib/money.js +11 -2
- package/dist/lib/money.js.map +1 -1
- package/dist/lib/sisDrivers.d.ts +3 -0
- package/dist/lib/sisDrivers.js +9 -0
- package/dist/lib/sisDrivers.js.map +1 -0
- package/dist/lib/sosAudiences.d.ts +2 -0
- package/dist/lib/sosAudiences.js +6 -0
- package/dist/lib/sosAudiences.js.map +1 -0
- package/dist/models/announcement.js +4 -2
- package/dist/models/announcement.js.map +1 -1
- package/dist/models/category.js +2 -0
- package/dist/models/category.js.map +1 -1
- package/dist/models/emailMessage.js +1 -0
- package/dist/models/emailMessage.js.map +1 -1
- package/dist/models/index.d.ts +2 -0
- package/dist/models/index.js +5 -1
- package/dist/models/index.js.map +1 -1
- package/dist/models/resource.d.ts +17 -0
- package/dist/models/resource.js +31 -0
- package/dist/models/resource.js.map +1 -0
- package/dist/models/smsMessage.js +1 -0
- package/dist/models/smsMessage.js.map +1 -1
- package/dist/models/sosEvent.d.ts +17 -0
- package/dist/models/sosEvent.js +29 -0
- package/dist/models/sosEvent.js.map +1 -0
- package/dist/models/systemUser.js +2 -0
- package/dist/models/systemUser.js.map +1 -1
- package/dist/schemas/announcement.d.ts +47 -3
- package/dist/schemas/announcement.js +50 -4
- package/dist/schemas/announcement.js.map +1 -1
- package/dist/schemas/category.d.ts +11 -1
- package/dist/schemas/category.js +12 -1
- package/dist/schemas/category.js.map +1 -1
- package/dist/schemas/definitions.d.ts +160 -0
- package/dist/schemas/definitions.js +104 -1
- package/dist/schemas/definitions.js.map +1 -1
- package/dist/schemas/emailMessage.d.ts +4 -0
- package/dist/schemas/emailMessage.js +4 -0
- package/dist/schemas/emailMessage.js.map +1 -1
- package/dist/schemas/index.d.ts +2 -0
- package/dist/schemas/index.js +3 -1
- package/dist/schemas/organization.d.ts +19 -0
- package/dist/schemas/organization.js +13 -0
- package/dist/schemas/organization.js.map +1 -1
- package/dist/schemas/property.d.ts +14 -0
- package/dist/schemas/property.js +12 -0
- package/dist/schemas/property.js.map +1 -1
- package/dist/schemas/resource.d.ts +137 -0
- package/dist/schemas/resource.js +112 -0
- package/dist/schemas/resource.js.map +1 -0
- package/dist/schemas/smsMessage.d.ts +4 -0
- package/dist/schemas/smsMessage.js +4 -0
- package/dist/schemas/smsMessage.js.map +1 -1
- package/dist/schemas/sosEvent.d.ts +318 -0
- package/dist/schemas/sosEvent.js +267 -0
- package/dist/schemas/sosEvent.js.map +1 -0
- package/dist/schemas/systemUser.d.ts +8 -0
- package/dist/schemas/systemUser.js +9 -1
- package/dist/schemas/systemUser.js.map +1 -1
- package/dist/schemas/ticket.d.ts +1 -1
- package/dist/schemas/ticket.js +1 -0
- package/dist/schemas/ticket.js.map +1 -1
- package/dist/useCases/autoAssociateDiscoveredDevices.d.ts +3 -3
- package/dist/useCases/autoAssociateDiscoveredDevices.js.map +1 -1
- package/dist/useCases/bulkUpdateIssue.d.ts +3 -3
- package/dist/useCases/bulkUpdateIssue.js.map +1 -1
- package/dist/useCases/copyIssueRouting.d.ts +3 -3
- package/dist/useCases/copyIssueRouting.js.map +1 -1
- package/dist/useCases/createAutomation.d.ts +3 -3
- package/dist/useCases/createAutomation.js.map +1 -1
- package/dist/useCases/createBill.d.ts +3 -3
- package/dist/useCases/createBill.js.map +1 -1
- package/dist/useCases/createBillingCategory.d.ts +3 -3
- package/dist/useCases/createBillingCategory.js.map +1 -1
- package/dist/useCases/createCategory.d.ts +3 -3
- package/dist/useCases/createCategory.js.map +1 -1
- package/dist/useCases/createDefaultAutomations.d.ts +3 -3
- package/dist/useCases/createDefaultAutomations.js.map +1 -1
- package/dist/useCases/createDepartment.d.ts +3 -3
- package/dist/useCases/createDepartment.js.map +1 -1
- package/dist/useCases/createDiscoveredDevice.d.ts +3 -3
- package/dist/useCases/createDiscoveredDevice.js.map +1 -1
- package/dist/useCases/createDiscoveredDeviceAssociationMap.d.ts +3 -3
- package/dist/useCases/createDiscoveredDeviceAssociationMap.js.map +1 -1
- package/dist/useCases/createIssue.d.ts +3 -3
- package/dist/useCases/createIssue.js.map +1 -1
- package/dist/useCases/createOrganization.d.ts +3 -3
- package/dist/useCases/createOrganization.js.map +1 -1
- package/dist/useCases/createPolicy.d.ts +3 -3
- package/dist/useCases/createPolicy.js.map +1 -1
- package/dist/useCases/createProperty.d.ts +3 -3
- package/dist/useCases/createProperty.js.map +1 -1
- package/dist/useCases/createPwaHandoffToken.d.ts +3 -3
- package/dist/useCases/createPwaHandoffToken.js.map +1 -1
- package/dist/useCases/createResource.d.ts +27 -0
- package/dist/useCases/createResource.js +47 -0
- package/dist/useCases/createResource.js.map +1 -0
- package/dist/useCases/createServer.d.ts +3 -3
- package/dist/useCases/createServer.js.map +1 -1
- package/dist/useCases/createSpace.d.ts +3 -3
- package/dist/useCases/createSpace.js.map +1 -1
- package/dist/useCases/createSystem.d.ts +3 -3
- package/dist/useCases/createSystem.js.map +1 -1
- package/dist/useCases/createTicket.d.ts +3 -3
- package/dist/useCases/createTicket.js.map +1 -1
- package/dist/useCases/createTimeSheet.d.ts +3 -3
- package/dist/useCases/createTimeSheet.js.map +1 -1
- package/dist/useCases/createUser.d.ts +3 -3
- package/dist/useCases/createUser.js.map +1 -1
- package/dist/useCases/createVendor.d.ts +3 -3
- package/dist/useCases/createVendor.js.map +1 -1
- package/dist/useCases/deleteResource.d.ts +36 -0
- package/dist/useCases/deleteResource.js +47 -0
- package/dist/useCases/deleteResource.js.map +1 -0
- package/dist/useCases/describeConciergeFacilitiesViewer.d.ts +3 -3
- package/dist/useCases/describeConciergeFacilitiesViewer.js.map +1 -1
- package/dist/useCases/describeConciergeStatsFilters.d.ts +3 -3
- package/dist/useCases/describeConciergeStatsFilters.js.map +1 -1
- package/dist/useCases/describeConciergeStatsHeatmap.d.ts +3 -3
- package/dist/useCases/describeConciergeStatsHeatmap.js.map +1 -1
- package/dist/useCases/describeConciergeStatsSummary.d.ts +3 -3
- package/dist/useCases/describeConciergeStatsSummary.js.map +1 -1
- package/dist/useCases/describeConciergeStatsTickets.d.ts +3 -3
- package/dist/useCases/describeConciergeStatsTickets.js.map +1 -1
- package/dist/useCases/describeConciergeWorkspaceFilters.d.ts +3 -3
- package/dist/useCases/describeConciergeWorkspaceFilters.js.map +1 -1
- package/dist/useCases/describeMyAuth.d.ts +3 -3
- package/dist/useCases/describeMyAuth.js.map +1 -1
- package/dist/useCases/describeMyOrganization.d.ts +3 -3
- package/dist/useCases/describeMyOrganization.js.map +1 -1
- package/dist/useCases/describeMyPasskeyRegistrations.d.ts +3 -3
- package/dist/useCases/describeMyPasskeyRegistrations.js.map +1 -1
- package/dist/useCases/describeOrgNotificationDefaults.d.ts +3 -3
- package/dist/useCases/describeOrgNotificationDefaults.js.map +1 -1
- package/dist/useCases/describePushVapidPublicKey.d.ts +3 -3
- package/dist/useCases/describePushVapidPublicKey.js.map +1 -1
- package/dist/useCases/describeResource.d.ts +36 -0
- package/dist/useCases/describeResource.js +47 -0
- package/dist/useCases/describeResource.js.map +1 -0
- package/dist/useCases/describeSOS.d.ts +3 -3
- package/dist/useCases/describeSOS.js.map +1 -1
- package/dist/useCases/describeSOSEvent.d.ts +36 -0
- package/dist/useCases/describeSOSEvent.js +47 -0
- package/dist/useCases/describeSOSEvent.js.map +1 -0
- package/dist/useCases/describeSelf.d.ts +3 -3
- package/dist/useCases/describeSelf.js.map +1 -1
- package/dist/useCases/describeSelfAccess.d.ts +3 -3
- package/dist/useCases/describeSelfAccess.js.map +1 -1
- package/dist/useCases/describeStaffFunctions.d.ts +3 -3
- package/dist/useCases/describeStaffFunctions.js.map +1 -1
- package/dist/useCases/describeTicketFilters.d.ts +3 -3
- package/dist/useCases/describeTicketFilters.js.map +1 -1
- package/dist/useCases/describeTicketStats.d.ts +3 -3
- package/dist/useCases/describeTicketStats.js.map +1 -1
- package/dist/useCases/describeTicketStatsFilters.d.ts +3 -3
- package/dist/useCases/describeTicketStatsFilters.js.map +1 -1
- package/dist/useCases/describeTicketStatsHeatmap.d.ts +3 -3
- package/dist/useCases/describeTicketStatsHeatmap.js.map +1 -1
- package/dist/useCases/describeTicketStatsSummary.d.ts +3 -3
- package/dist/useCases/describeTicketStatsSummary.js.map +1 -1
- package/dist/useCases/describeTicketStatsTickets.d.ts +3 -3
- package/dist/useCases/describeTicketStatsTickets.js.map +1 -1
- package/dist/useCases/describeTimeSheetStats.d.ts +3 -3
- package/dist/useCases/describeTimeSheetStats.js.map +1 -1
- package/dist/useCases/fetchEmergencyContacts.d.ts +27 -0
- package/dist/useCases/fetchEmergencyContacts.js +47 -0
- package/dist/useCases/fetchEmergencyContacts.js.map +1 -0
- package/dist/useCases/index.d.ts +11 -0
- package/dist/useCases/index.js +23 -1
- package/dist/useCases/index.js.map +1 -1
- package/dist/useCases/listAutomations.d.ts +3 -3
- package/dist/useCases/listAutomations.js.map +1 -1
- package/dist/useCases/listBillingCategories.d.ts +3 -3
- package/dist/useCases/listBillingCategories.js.map +1 -1
- package/dist/useCases/listBills.d.ts +3 -3
- package/dist/useCases/listBills.js.map +1 -1
- package/dist/useCases/listCategories.d.ts +3 -3
- package/dist/useCases/listCategories.js.map +1 -1
- package/dist/useCases/listConciergeUninvoicedCosts.d.ts +3 -3
- package/dist/useCases/listConciergeUninvoicedCosts.js.map +1 -1
- package/dist/useCases/listConciergeWorkspaceBills.d.ts +3 -3
- package/dist/useCases/listConciergeWorkspaceBills.js.map +1 -1
- package/dist/useCases/listConciergeWorkspaceTickets.d.ts +3 -3
- package/dist/useCases/listConciergeWorkspaceTickets.js.map +1 -1
- package/dist/useCases/listDepartments.d.ts +3 -3
- package/dist/useCases/listDepartments.js.map +1 -1
- package/dist/useCases/listDiscoveredDevices.d.ts +3 -3
- package/dist/useCases/listDiscoveredDevices.js.map +1 -1
- package/dist/useCases/listFacilitiesStaffIds.d.ts +3 -3
- package/dist/useCases/listFacilitiesStaffIds.js.map +1 -1
- package/dist/useCases/listIntegrations.d.ts +3 -3
- package/dist/useCases/listIntegrations.js.map +1 -1
- package/dist/useCases/listIssues.d.ts +3 -3
- package/dist/useCases/listIssues.js.map +1 -1
- package/dist/useCases/listKohostStaff.d.ts +3 -3
- package/dist/useCases/listKohostStaff.js.map +1 -1
- package/dist/useCases/listMyOrganizations.d.ts +3 -3
- package/dist/useCases/listMyOrganizations.js.map +1 -1
- package/dist/useCases/listMyProperties.d.ts +3 -3
- package/dist/useCases/listMyProperties.js.map +1 -1
- package/dist/useCases/listMyPushSubscriptions.d.ts +3 -3
- package/dist/useCases/listMyPushSubscriptions.js.map +1 -1
- package/dist/useCases/listMyTimeSheets.d.ts +3 -3
- package/dist/useCases/listMyTimeSheets.js.map +1 -1
- package/dist/useCases/listOrganizationBills.d.ts +3 -3
- package/dist/useCases/listOrganizationBills.js.map +1 -1
- package/dist/useCases/listOrganizations.d.ts +3 -3
- package/dist/useCases/listOrganizations.js.map +1 -1
- package/dist/useCases/listPolicies.d.ts +3 -3
- package/dist/useCases/listPolicies.js.map +1 -1
- package/dist/useCases/listProperties.d.ts +3 -3
- package/dist/useCases/listProperties.js.map +1 -1
- package/dist/useCases/listResources.d.ts +27 -0
- package/dist/useCases/listResources.js +47 -0
- package/dist/useCases/listResources.js.map +1 -0
- package/dist/useCases/listSOSEvents.d.ts +27 -0
- package/dist/useCases/listSOSEvents.js +47 -0
- package/dist/useCases/listSOSEvents.js.map +1 -0
- package/dist/useCases/listServers.d.ts +3 -3
- package/dist/useCases/listServers.js.map +1 -1
- package/dist/useCases/listSessions.d.ts +3 -3
- package/dist/useCases/listSessions.js.map +1 -1
- package/dist/useCases/listSpaces.d.ts +3 -3
- package/dist/useCases/listSpaces.js.map +1 -1
- package/dist/useCases/listSystems.d.ts +3 -3
- package/dist/useCases/listSystems.js.map +1 -1
- package/dist/useCases/listTicketLocations.d.ts +3 -3
- package/dist/useCases/listTicketLocations.js.map +1 -1
- package/dist/useCases/listTickets.d.ts +3 -3
- package/dist/useCases/listTickets.js.map +1 -1
- package/dist/useCases/listTimeSheets.d.ts +3 -3
- package/dist/useCases/listTimeSheets.js.map +1 -1
- package/dist/useCases/listUsers.d.ts +3 -3
- package/dist/useCases/listUsers.js.map +1 -1
- package/dist/useCases/listVendors.d.ts +3 -3
- package/dist/useCases/listVendors.js.map +1 -1
- package/dist/useCases/mergeIssue.d.ts +3 -3
- package/dist/useCases/mergeIssue.js.map +1 -1
- package/dist/useCases/replaceDevice.d.ts +39 -0
- package/dist/useCases/replaceDevice.js +47 -0
- package/dist/useCases/replaceDevice.js.map +1 -0
- package/dist/useCases/selectOrganization.d.ts +3 -3
- package/dist/useCases/selectOrganization.js.map +1 -1
- package/dist/useCases/sendAnnouncement.d.ts +27 -0
- package/dist/useCases/sendAnnouncement.js +47 -0
- package/dist/useCases/sendAnnouncement.js.map +1 -0
- package/dist/useCases/sendNotification.d.ts +3 -3
- package/dist/useCases/sendNotification.js.map +1 -1
- package/dist/useCases/sendSOSUpdate.d.ts +27 -0
- package/dist/useCases/sendSOSUpdate.js +47 -0
- package/dist/useCases/sendSOSUpdate.js.map +1 -0
- package/dist/useCases/setDevices.d.ts +3 -3
- package/dist/useCases/setDevices.js.map +1 -1
- package/dist/useCases/startSOS.d.ts +3 -3
- package/dist/useCases/startSOS.js.map +1 -1
- package/dist/useCases/stopSOS.d.ts +3 -3
- package/dist/useCases/stopSOS.js.map +1 -1
- package/dist/useCases/subscribePushDevice.d.ts +3 -3
- package/dist/useCases/subscribePushDevice.js.map +1 -1
- package/dist/useCases/updateOrgNotificationDefaults.d.ts +3 -3
- package/dist/useCases/updateOrgNotificationDefaults.js.map +1 -1
- package/dist/useCases/updateResource.d.ts +36 -0
- package/dist/useCases/updateResource.js +47 -0
- package/dist/useCases/updateResource.js.map +1 -0
- package/dist/useCases/updateSelf.d.ts +3 -3
- package/dist/useCases/updateSelf.js.map +1 -1
- package/dist/useCases/upsertDiscoveredDevice.d.ts +3 -3
- package/dist/useCases/upsertDiscoveredDevice.js.map +1 -1
- package/dist/useCases/validateAuth.d.ts +3 -3
- package/dist/useCases/validateAuth.js.map +1 -1
- package/dist/validate.d.ts +34 -0
- package/dist/validate.js +7 -1
- package/dist/validate.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
//#region .generated/schemas/resource.ts
|
|
2
|
+
const resourceSchema = {
|
|
3
|
+
$schema: "http://json-schema.org/draft-07/schema",
|
|
4
|
+
$id: "resource.json",
|
|
5
|
+
title: "Resource",
|
|
6
|
+
description: "An entry in the organization's resource library — an uploaded file or an external link.",
|
|
7
|
+
type: "object",
|
|
8
|
+
required: [
|
|
9
|
+
"id",
|
|
10
|
+
"type",
|
|
11
|
+
"discriminator",
|
|
12
|
+
"name",
|
|
13
|
+
"scope"
|
|
14
|
+
],
|
|
15
|
+
properties: {
|
|
16
|
+
id: { $ref: "definitions.json#/definitions/id" },
|
|
17
|
+
type: {
|
|
18
|
+
type: "string",
|
|
19
|
+
enum: ["resource"],
|
|
20
|
+
default: "resource"
|
|
21
|
+
},
|
|
22
|
+
discriminator: {
|
|
23
|
+
type: "string",
|
|
24
|
+
enum: ["file", "link"],
|
|
25
|
+
description: "Which payload the resource carries: `file` an uploaded document in `media`, `link` an external address in `url`."
|
|
26
|
+
},
|
|
27
|
+
name: {
|
|
28
|
+
type: "string",
|
|
29
|
+
minLength: 1,
|
|
30
|
+
description: "Display name. A file resource defaults to its filename at creation and is editable independently of it."
|
|
31
|
+
},
|
|
32
|
+
description: { type: "string" },
|
|
33
|
+
url: {
|
|
34
|
+
type: "string",
|
|
35
|
+
format: "uri",
|
|
36
|
+
description: "The external address a `link` resource points at."
|
|
37
|
+
},
|
|
38
|
+
media: {
|
|
39
|
+
$ref: "mediaFile.json",
|
|
40
|
+
description: "The uploaded document a `file` resource carries."
|
|
41
|
+
},
|
|
42
|
+
preview: {
|
|
43
|
+
type: "object",
|
|
44
|
+
additionalProperties: false,
|
|
45
|
+
required: ["url"],
|
|
46
|
+
description: "The generated Open Graph preview image for a `link` resource, stored in the file store's org tier. Written by the system after the link is saved, never by the caller.",
|
|
47
|
+
properties: {
|
|
48
|
+
url: {
|
|
49
|
+
type: "string",
|
|
50
|
+
format: "uri"
|
|
51
|
+
},
|
|
52
|
+
width: { type: "number" },
|
|
53
|
+
height: { type: "number" }
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
categoryIds: {
|
|
57
|
+
type: "array",
|
|
58
|
+
items: { type: "string" },
|
|
59
|
+
default: [],
|
|
60
|
+
description: "The `resource` categories this resource appears under. Empty means uncategorized."
|
|
61
|
+
},
|
|
62
|
+
scope: {
|
|
63
|
+
type: "object",
|
|
64
|
+
description: "Where this resource is available: an org-wide `default` plus a sparse map of per-Property overrides. Mirrors an SOS Type's scope; `false` suppresses, an absent key inherits `default`.",
|
|
65
|
+
additionalProperties: false,
|
|
66
|
+
properties: {
|
|
67
|
+
default: {
|
|
68
|
+
type: "boolean",
|
|
69
|
+
default: false,
|
|
70
|
+
description: "Org-wide baseline: whether the resource is available at Properties with no override, including Properties added later."
|
|
71
|
+
},
|
|
72
|
+
properties: {
|
|
73
|
+
type: "object",
|
|
74
|
+
additionalProperties: { type: "boolean" },
|
|
75
|
+
default: {},
|
|
76
|
+
description: "Sparse per-Property overrides keyed by Property ID: `true` opts in, `false` opts out, an absent key inherits `default`."
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
createdBy: {
|
|
81
|
+
type: "object",
|
|
82
|
+
additionalProperties: false,
|
|
83
|
+
required: [
|
|
84
|
+
"id",
|
|
85
|
+
"discriminator",
|
|
86
|
+
"name"
|
|
87
|
+
],
|
|
88
|
+
description: "Who added the resource, embedded at creation so the library shows provenance without a join.",
|
|
89
|
+
properties: {
|
|
90
|
+
id: { type: "string" },
|
|
91
|
+
discriminator: {
|
|
92
|
+
type: "string",
|
|
93
|
+
enum: ["user", "system"]
|
|
94
|
+
},
|
|
95
|
+
name: { type: "string" },
|
|
96
|
+
photo: { anyOf: [
|
|
97
|
+
{ $ref: "mediaFile.json" },
|
|
98
|
+
{ type: "null" },
|
|
99
|
+
{ type: "string" }
|
|
100
|
+
] }
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
createdAt: { $ref: "definitions.json#/definitions/date" },
|
|
104
|
+
updatedAt: { $ref: "definitions.json#/definitions/date" },
|
|
105
|
+
deletedAt: { $ref: "definitions.json#/definitions/date" }
|
|
106
|
+
},
|
|
107
|
+
additionalProperties: false
|
|
108
|
+
};
|
|
109
|
+
//#endregion
|
|
110
|
+
export { resourceSchema };
|
|
111
|
+
|
|
112
|
+
//# sourceMappingURL=resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.js","names":[],"sources":["../../.generated/schemas/resource.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { mediaFileSchema } from \"./mediaFile\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const resourceSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"resource.json\",\n title: \"Resource\",\n description:\n \"An entry in the organization's resource library — an uploaded file or an external link.\",\n type: \"object\",\n required: [\"id\", \"type\", \"discriminator\", \"name\", \"scope\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"resource\"],\n default: \"resource\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"file\", \"link\"],\n description:\n \"Which payload the resource carries: `file` an uploaded document in `media`, `link` an external address in `url`.\",\n },\n name: {\n type: \"string\",\n minLength: 1,\n description:\n \"Display name. A file resource defaults to its filename at creation and is editable independently of it.\",\n },\n description: {\n type: \"string\",\n },\n url: {\n type: \"string\",\n format: \"uri\",\n description: \"The external address a `link` resource points at.\",\n },\n media: {\n $ref: \"mediaFile.json\",\n description: \"The uploaded document a `file` resource carries.\",\n },\n preview: {\n type: \"object\",\n additionalProperties: false,\n required: [\"url\"],\n description:\n \"The generated Open Graph preview image for a `link` resource, stored in the file store's org tier. Written by the system after the link is saved, never by the caller.\",\n properties: {\n url: {\n type: \"string\",\n format: \"uri\",\n },\n width: {\n type: \"number\",\n },\n height: {\n type: \"number\",\n },\n },\n },\n categoryIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n default: [],\n description:\n \"The `resource` categories this resource appears under. Empty means uncategorized.\",\n },\n scope: {\n type: \"object\",\n description:\n \"Where this resource is available: an org-wide `default` plus a sparse map of per-Property overrides. Mirrors an SOS Type's scope; `false` suppresses, an absent key inherits `default`.\",\n additionalProperties: false,\n properties: {\n default: {\n type: \"boolean\",\n default: false,\n description:\n \"Org-wide baseline: whether the resource is available at Properties with no override, including Properties added later.\",\n },\n properties: {\n type: \"object\",\n additionalProperties: {\n type: \"boolean\",\n },\n default: {},\n description:\n \"Sparse per-Property overrides keyed by Property ID: `true` opts in, `false` opts out, an absent key inherits `default`.\",\n },\n },\n },\n createdBy: {\n type: \"object\",\n additionalProperties: false,\n required: [\"id\", \"discriminator\", \"name\"],\n description:\n \"Who added the resource, embedded at creation so the library shows provenance without a join.\",\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"system\"],\n },\n name: {\n type: \"string\",\n },\n photo: {\n anyOf: [\n {\n $ref: \"mediaFile.json\",\n },\n {\n type: \"null\",\n },\n {\n type: \"string\",\n },\n ],\n },\n },\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n additionalProperties: false,\n} as const;\n\nexport type ResourceSchema = FromSchema<\n typeof resourceSchema,\n {\n references: [typeof defs, typeof mediaFileSchema];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":";AAIA,MAAa,iBAAiB;CAC5B,SAAS;CACT,KAAK;CACL,OAAO;CACP,aACE;CACF,MAAM;CACN,UAAU;EAAC;EAAM;EAAQ;EAAiB;EAAQ;CAAO;CACzD,YAAY;EACV,IAAI,EACF,MAAM,mCACR;EACA,MAAM;GACJ,MAAM;GACN,MAAM,CAAC,UAAU;GACjB,SAAS;EACX;EACA,eAAe;GACb,MAAM;GACN,MAAM,CAAC,QAAQ,MAAM;GACrB,aACE;EACJ;EACA,MAAM;GACJ,MAAM;GACN,WAAW;GACX,aACE;EACJ;EACA,aAAa,EACX,MAAM,SACR;EACA,KAAK;GACH,MAAM;GACN,QAAQ;GACR,aAAa;EACf;EACA,OAAO;GACL,MAAM;GACN,aAAa;EACf;EACA,SAAS;GACP,MAAM;GACN,sBAAsB;GACtB,UAAU,CAAC,KAAK;GAChB,aACE;GACF,YAAY;IACV,KAAK;KACH,MAAM;KACN,QAAQ;IACV;IACA,OAAO,EACL,MAAM,SACR;IACA,QAAQ,EACN,MAAM,SACR;GACF;EACF;EACA,aAAa;GACX,MAAM;GACN,OAAO,EACL,MAAM,SACR;GACA,SAAS,CAAC;GACV,aACE;EACJ;EACA,OAAO;GACL,MAAM;GACN,aACE;GACF,sBAAsB;GACtB,YAAY;IACV,SAAS;KACP,MAAM;KACN,SAAS;KACT,aACE;IACJ;IACA,YAAY;KACV,MAAM;KACN,sBAAsB,EACpB,MAAM,UACR;KACA,SAAS,CAAC;KACV,aACE;IACJ;GACF;EACF;EACA,WAAW;GACT,MAAM;GACN,sBAAsB;GACtB,UAAU;IAAC;IAAM;IAAiB;GAAM;GACxC,aACE;GACF,YAAY;IACV,IAAI,EACF,MAAM,SACR;IACA,eAAe;KACb,MAAM;KACN,MAAM,CAAC,QAAQ,QAAQ;IACzB;IACA,MAAM,EACJ,MAAM,SACR;IACA,OAAO,EACL,OAAO;KACL,EACE,MAAM,iBACR;KACA,EACE,MAAM,OACR;KACA,EACE,MAAM,SACR;IACF,EACF;GACF;EACF;EACA,WAAW,EACT,MAAM,qCACR;EACA,WAAW,EACT,MAAM,qCACR;EACA,WAAW,EACT,MAAM,qCACR;CACF;CACA,sBAAsB;AACxB"}
|
|
@@ -34,6 +34,10 @@ export declare const smsMessageSchema: {
|
|
|
34
34
|
readonly type: "string";
|
|
35
35
|
readonly enum: readonly ["queued", "accepted", "sending", "sent", "failed", "delivered", "undelivered", "receiving", "received", "read"];
|
|
36
36
|
};
|
|
37
|
+
readonly errorCode: {
|
|
38
|
+
readonly type: "string";
|
|
39
|
+
readonly description: "Raw vendor delivery-failure code, e.g. Twilio 21610.";
|
|
40
|
+
};
|
|
37
41
|
readonly body: {
|
|
38
42
|
readonly type: "string";
|
|
39
43
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smsMessage.js","names":[],"sources":["../../.generated/schemas/smsMessage.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const smsMessageSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"smsMessage.json\",\n title: \"Sms Message\",\n type: \"object\",\n required: [\"id\", \"type\", \"to\", \"from\", \"status\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n propertyId: {\n type: \"string\",\n description: \"ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.\",\n },\n type: {\n type: \"string\",\n default: \"smsMessage\",\n enum: [\"smsMessage\", \"whatsappMessage\"],\n },\n to: {\n type: \"string\",\n },\n from: {\n type: \"string\",\n },\n media: {\n type: \"string\",\n format: \"uri\",\n },\n status: {\n type: \"string\",\n enum: [\n \"queued\",\n \"accepted\",\n \"sending\",\n \"sent\",\n \"failed\",\n \"delivered\",\n \"undelivered\",\n \"receiving\",\n \"received\",\n \"read\",\n ],\n },\n body: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n },\n appData: {\n type: \"object\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n} as const;\n\nexport type SmsMessageSchema = FromSchema<\n typeof smsMessageSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":";AAGA,MAAa,mBAAmB;CAC9B,SAAS;CACT,KAAK;CACL,OAAO;CACP,MAAM;CACN,UAAU;EAAC;EAAM;EAAQ;EAAM;EAAQ;CAAQ;CAC/C,sBAAsB;CACtB,YAAY;EACV,IAAI,EACF,MAAM,mCACR;EACA,YAAY;GACV,MAAM;GACN,aAAa;EACf;EACA,MAAM;GACJ,MAAM;GACN,SAAS;GACT,MAAM,CAAC,cAAc,iBAAiB;EACxC;EACA,IAAI,EACF,MAAM,SACR;EACA,MAAM,EACJ,MAAM,SACR;EACA,OAAO;GACL,MAAM;GACN,QAAQ;EACV;EACA,QAAQ;GACN,MAAM;GACN,MAAM;IACJ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF;EACA,MAAM,EACJ,MAAM,SACR;EACA,QAAQ,EACN,MAAM,SACR;EACA,SAAS,EACP,MAAM,SACR;EACA,WAAW,EACT,MAAM,qCACR;EACA,WAAW,EACT,MAAM,qCACR;EACA,WAAW,EACT,MAAM,qCACR;EACA,UAAU,EACR,MAAM,yCACR;CACF;AACF"}
|
|
1
|
+
{"version":3,"file":"smsMessage.js","names":[],"sources":["../../.generated/schemas/smsMessage.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const smsMessageSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"smsMessage.json\",\n title: \"Sms Message\",\n type: \"object\",\n required: [\"id\", \"type\", \"to\", \"from\", \"status\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n propertyId: {\n type: \"string\",\n description: \"ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.\",\n },\n type: {\n type: \"string\",\n default: \"smsMessage\",\n enum: [\"smsMessage\", \"whatsappMessage\"],\n },\n to: {\n type: \"string\",\n },\n from: {\n type: \"string\",\n },\n media: {\n type: \"string\",\n format: \"uri\",\n },\n status: {\n type: \"string\",\n enum: [\n \"queued\",\n \"accepted\",\n \"sending\",\n \"sent\",\n \"failed\",\n \"delivered\",\n \"undelivered\",\n \"receiving\",\n \"received\",\n \"read\",\n ],\n },\n errorCode: {\n type: \"string\",\n description: \"Raw vendor delivery-failure code, e.g. Twilio 21610.\",\n },\n body: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n },\n appData: {\n type: \"object\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n} as const;\n\nexport type SmsMessageSchema = FromSchema<\n typeof smsMessageSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":";AAGA,MAAa,mBAAmB;CAC9B,SAAS;CACT,KAAK;CACL,OAAO;CACP,MAAM;CACN,UAAU;EAAC;EAAM;EAAQ;EAAM;EAAQ;CAAQ;CAC/C,sBAAsB;CACtB,YAAY;EACV,IAAI,EACF,MAAM,mCACR;EACA,YAAY;GACV,MAAM;GACN,aAAa;EACf;EACA,MAAM;GACJ,MAAM;GACN,SAAS;GACT,MAAM,CAAC,cAAc,iBAAiB;EACxC;EACA,IAAI,EACF,MAAM,SACR;EACA,MAAM,EACJ,MAAM,SACR;EACA,OAAO;GACL,MAAM;GACN,QAAQ;EACV;EACA,QAAQ;GACN,MAAM;GACN,MAAM;IACJ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF;EACA,WAAW;GACT,MAAM;GACN,aAAa;EACf;EACA,MAAM,EACJ,MAAM,SACR;EACA,QAAQ,EACN,MAAM,SACR;EACA,SAAS,EACP,MAAM,SACR;EACA,WAAW,EACT,MAAM,qCACR;EACA,WAAW,EACT,MAAM,qCACR;EACA,WAAW,EACT,MAAM,qCACR;EACA,UAAU,EACR,MAAM,yCACR;CACF;AACF"}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
import defs, { ISODateString } from "./definitions.js";
|
|
2
|
+
import type { FromSchema } from "json-schema-to-ts";
|
|
3
|
+
export declare const sosEventSchema: {
|
|
4
|
+
readonly $schema: "http://json-schema.org/draft-07/schema";
|
|
5
|
+
readonly $id: "sosEvent.json";
|
|
6
|
+
readonly title: "SOS Event";
|
|
7
|
+
readonly description: "A durable record of a single SOS activation on a Property, with an append-only timeline of updates. Persists as audit history after the SOS is cleared.";
|
|
8
|
+
readonly type: "object";
|
|
9
|
+
readonly required: readonly ["id", "type", "sosTypeIds", "activatedAt", "timeline"];
|
|
10
|
+
readonly additionalProperties: false;
|
|
11
|
+
readonly properties: {
|
|
12
|
+
readonly id: {
|
|
13
|
+
readonly $ref: "definitions.json#/definitions/id";
|
|
14
|
+
readonly description: "Unique identifier for the SOS Event.";
|
|
15
|
+
};
|
|
16
|
+
readonly type: {
|
|
17
|
+
readonly type: "string";
|
|
18
|
+
readonly enum: readonly ["sosEvent"];
|
|
19
|
+
readonly default: "sosEvent";
|
|
20
|
+
};
|
|
21
|
+
readonly propertyId: {
|
|
22
|
+
readonly type: "string";
|
|
23
|
+
readonly description: "ID of the Property this SOS was raised on. Used as a per-document filter inside the org-scoped database.";
|
|
24
|
+
};
|
|
25
|
+
readonly sosTypeIds: {
|
|
26
|
+
readonly type: "array";
|
|
27
|
+
readonly items: {
|
|
28
|
+
readonly type: "string";
|
|
29
|
+
};
|
|
30
|
+
readonly description: "The SOS Type ids this event was raised for.";
|
|
31
|
+
};
|
|
32
|
+
readonly activatedAt: {
|
|
33
|
+
readonly $ref: "definitions.json#/definitions/date";
|
|
34
|
+
readonly description: "When the SOS was raised.";
|
|
35
|
+
};
|
|
36
|
+
readonly activatedBy: {
|
|
37
|
+
readonly type: readonly ["object", "null"];
|
|
38
|
+
readonly additionalProperties: false;
|
|
39
|
+
readonly required: readonly ["id", "discriminator"];
|
|
40
|
+
readonly properties: {
|
|
41
|
+
readonly id: {
|
|
42
|
+
readonly type: "string";
|
|
43
|
+
};
|
|
44
|
+
readonly discriminator: {
|
|
45
|
+
readonly type: "string";
|
|
46
|
+
readonly enum: readonly ["user", "device", "automation"];
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
readonly description: "Actor that raised the SOS (user, device, or automation); null when unattributed.";
|
|
50
|
+
};
|
|
51
|
+
readonly deactivatedAt: {
|
|
52
|
+
readonly $ref: "definitions.json#/definitions/date";
|
|
53
|
+
readonly description: "When the SOS was cleared. Absent while the event is active.";
|
|
54
|
+
};
|
|
55
|
+
readonly deactivatedBy: {
|
|
56
|
+
readonly type: readonly ["object", "null"];
|
|
57
|
+
readonly additionalProperties: false;
|
|
58
|
+
readonly required: readonly ["id", "discriminator"];
|
|
59
|
+
readonly properties: {
|
|
60
|
+
readonly id: {
|
|
61
|
+
readonly type: "string";
|
|
62
|
+
};
|
|
63
|
+
readonly discriminator: {
|
|
64
|
+
readonly type: "string";
|
|
65
|
+
readonly enum: readonly ["user", "device", "automation"];
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
readonly description: "Actor that cleared the SOS; null when unattributed. Absent while the event is active.";
|
|
69
|
+
};
|
|
70
|
+
readonly timeline: {
|
|
71
|
+
readonly type: "array";
|
|
72
|
+
readonly default: readonly [];
|
|
73
|
+
readonly description: "Append-only timeline. The first entry is the `activation`; later entries are operator `update`s, automation runs, and a closing `final`.";
|
|
74
|
+
readonly items: {
|
|
75
|
+
readonly oneOf: readonly [{
|
|
76
|
+
readonly type: "object";
|
|
77
|
+
readonly additionalProperties: false;
|
|
78
|
+
readonly required: readonly ["id", "type", "message", "by", "at", "audience"];
|
|
79
|
+
readonly properties: {
|
|
80
|
+
readonly id: {
|
|
81
|
+
readonly type: "string";
|
|
82
|
+
readonly description: "Unique identifier for the timeline entry.";
|
|
83
|
+
};
|
|
84
|
+
readonly type: {
|
|
85
|
+
readonly type: "string";
|
|
86
|
+
readonly enum: readonly ["activation", "update", "final"];
|
|
87
|
+
readonly description: "`activation` opens the event, `update` is an interim message, `final` closes it.";
|
|
88
|
+
};
|
|
89
|
+
readonly message: {
|
|
90
|
+
readonly type: "string";
|
|
91
|
+
readonly description: "The entry's message body. May be empty for entries that carry only audience/delivery intent.";
|
|
92
|
+
};
|
|
93
|
+
readonly by: {
|
|
94
|
+
readonly type: readonly ["object", "null"];
|
|
95
|
+
readonly additionalProperties: false;
|
|
96
|
+
readonly required: readonly ["id", "discriminator"];
|
|
97
|
+
readonly properties: {
|
|
98
|
+
readonly id: {
|
|
99
|
+
readonly type: "string";
|
|
100
|
+
};
|
|
101
|
+
readonly discriminator: {
|
|
102
|
+
readonly type: "string";
|
|
103
|
+
readonly enum: readonly ["user", "device", "automation"];
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
readonly description: "Actor that authored the entry; null when unattributed.";
|
|
107
|
+
};
|
|
108
|
+
readonly at: {
|
|
109
|
+
readonly $ref: "definitions.json#/definitions/date";
|
|
110
|
+
readonly description: "When the entry was recorded.";
|
|
111
|
+
};
|
|
112
|
+
readonly audience: {
|
|
113
|
+
readonly $ref: "definitions.json#/definitions/audience";
|
|
114
|
+
readonly description: "Who this entry was directed at, and who it resolved to. `activation` and `final` entries always carry the everyone wildcard — neither is narrowable.";
|
|
115
|
+
};
|
|
116
|
+
readonly deliveryStatus: {
|
|
117
|
+
readonly type: "object";
|
|
118
|
+
readonly additionalProperties: false;
|
|
119
|
+
readonly description: "Computed on demand by DescribeSOSEvent (not persisted): live per-audience, per-channel outcome counts grouped from the sms/email collections by appData.sosUpdateId × status. Absent on the returned event until at least one matching message exists; only audiences/channels with data are present.";
|
|
120
|
+
readonly properties: {
|
|
121
|
+
readonly internal: {
|
|
122
|
+
readonly type: "object";
|
|
123
|
+
readonly additionalProperties: false;
|
|
124
|
+
readonly description: "Per-channel live outcomes for one audience.";
|
|
125
|
+
readonly properties: {
|
|
126
|
+
readonly sms: {
|
|
127
|
+
readonly type: "object";
|
|
128
|
+
readonly additionalProperties: false;
|
|
129
|
+
readonly required: readonly ["sent", "delivered", "failed"];
|
|
130
|
+
readonly properties: {
|
|
131
|
+
readonly sent: {
|
|
132
|
+
readonly type: "integer";
|
|
133
|
+
readonly minimum: 0;
|
|
134
|
+
};
|
|
135
|
+
readonly delivered: {
|
|
136
|
+
readonly type: "integer";
|
|
137
|
+
readonly minimum: 0;
|
|
138
|
+
};
|
|
139
|
+
readonly failed: {
|
|
140
|
+
readonly type: "integer";
|
|
141
|
+
readonly minimum: 0;
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
readonly email: {
|
|
146
|
+
readonly type: "object";
|
|
147
|
+
readonly additionalProperties: false;
|
|
148
|
+
readonly required: readonly ["sent", "delivered", "failed"];
|
|
149
|
+
readonly properties: {
|
|
150
|
+
readonly sent: {
|
|
151
|
+
readonly type: "integer";
|
|
152
|
+
readonly minimum: 0;
|
|
153
|
+
};
|
|
154
|
+
readonly delivered: {
|
|
155
|
+
readonly type: "integer";
|
|
156
|
+
readonly minimum: 0;
|
|
157
|
+
};
|
|
158
|
+
readonly failed: {
|
|
159
|
+
readonly type: "integer";
|
|
160
|
+
readonly minimum: 0;
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
readonly emergencyContacts: {
|
|
167
|
+
readonly type: "object";
|
|
168
|
+
readonly additionalProperties: false;
|
|
169
|
+
readonly description: "Per-channel live outcomes for one audience.";
|
|
170
|
+
readonly properties: {
|
|
171
|
+
readonly sms: {
|
|
172
|
+
readonly type: "object";
|
|
173
|
+
readonly additionalProperties: false;
|
|
174
|
+
readonly required: readonly ["sent", "delivered", "failed"];
|
|
175
|
+
readonly properties: {
|
|
176
|
+
readonly sent: {
|
|
177
|
+
readonly type: "integer";
|
|
178
|
+
readonly minimum: 0;
|
|
179
|
+
};
|
|
180
|
+
readonly delivered: {
|
|
181
|
+
readonly type: "integer";
|
|
182
|
+
readonly minimum: 0;
|
|
183
|
+
};
|
|
184
|
+
readonly failed: {
|
|
185
|
+
readonly type: "integer";
|
|
186
|
+
readonly minimum: 0;
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
readonly email: {
|
|
191
|
+
readonly type: "object";
|
|
192
|
+
readonly additionalProperties: false;
|
|
193
|
+
readonly required: readonly ["sent", "delivered", "failed"];
|
|
194
|
+
readonly properties: {
|
|
195
|
+
readonly sent: {
|
|
196
|
+
readonly type: "integer";
|
|
197
|
+
readonly minimum: 0;
|
|
198
|
+
};
|
|
199
|
+
readonly delivered: {
|
|
200
|
+
readonly type: "integer";
|
|
201
|
+
readonly minimum: 0;
|
|
202
|
+
};
|
|
203
|
+
readonly failed: {
|
|
204
|
+
readonly type: "integer";
|
|
205
|
+
readonly minimum: 0;
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
};
|
|
209
|
+
};
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
};
|
|
213
|
+
};
|
|
214
|
+
}, {
|
|
215
|
+
readonly type: "object";
|
|
216
|
+
readonly additionalProperties: false;
|
|
217
|
+
readonly required: readonly ["id", "type", "at", "by", "automationName", "runId", "trigger", "actions"];
|
|
218
|
+
readonly properties: {
|
|
219
|
+
readonly id: {
|
|
220
|
+
readonly type: "string";
|
|
221
|
+
readonly description: "Unique identifier for the timeline entry.";
|
|
222
|
+
};
|
|
223
|
+
readonly type: {
|
|
224
|
+
readonly type: "string";
|
|
225
|
+
readonly enum: readonly ["automationRun"];
|
|
226
|
+
readonly description: "Discriminator: an automation that ran in response to this SOS.";
|
|
227
|
+
};
|
|
228
|
+
readonly at: {
|
|
229
|
+
readonly $ref: "definitions.json#/definitions/date";
|
|
230
|
+
readonly description: "When the run started. The entry is stamped with pending actions up front and settled in place.";
|
|
231
|
+
};
|
|
232
|
+
readonly by: {
|
|
233
|
+
readonly type: "object";
|
|
234
|
+
readonly additionalProperties: false;
|
|
235
|
+
readonly required: readonly ["id", "discriminator"];
|
|
236
|
+
readonly description: "The Automation that ran. Its id is the automation's id — there is no separate automationId.";
|
|
237
|
+
readonly properties: {
|
|
238
|
+
readonly id: {
|
|
239
|
+
readonly type: "string";
|
|
240
|
+
};
|
|
241
|
+
readonly discriminator: {
|
|
242
|
+
readonly type: "string";
|
|
243
|
+
readonly enum: readonly ["automation"];
|
|
244
|
+
};
|
|
245
|
+
};
|
|
246
|
+
};
|
|
247
|
+
readonly automationName: {
|
|
248
|
+
readonly type: "string";
|
|
249
|
+
readonly description: "The automation's name snapshotted at run time, so a later rename or delete leaves the timeline readable.";
|
|
250
|
+
};
|
|
251
|
+
readonly runId: {
|
|
252
|
+
readonly type: "string";
|
|
253
|
+
readonly description: "Groups this run's Activity records; one event matching several automations yields one runId each.";
|
|
254
|
+
};
|
|
255
|
+
readonly trigger: {
|
|
256
|
+
readonly type: "string";
|
|
257
|
+
readonly enum: readonly ["SOSActive", "SOSInactive"];
|
|
258
|
+
readonly description: "The SOS event type that matched the automation's trigger.";
|
|
259
|
+
};
|
|
260
|
+
readonly actions: {
|
|
261
|
+
readonly type: "array";
|
|
262
|
+
readonly default: readonly [];
|
|
263
|
+
readonly description: "Per-action outcome, in the automation's action order.";
|
|
264
|
+
readonly items: {
|
|
265
|
+
readonly type: "object";
|
|
266
|
+
readonly additionalProperties: false;
|
|
267
|
+
readonly required: readonly ["type", "status"];
|
|
268
|
+
readonly properties: {
|
|
269
|
+
readonly type: {
|
|
270
|
+
readonly type: "string";
|
|
271
|
+
readonly description: "The use case the automation action invoked.";
|
|
272
|
+
};
|
|
273
|
+
readonly status: {
|
|
274
|
+
readonly type: "string";
|
|
275
|
+
readonly enum: readonly ["pending", "success", "failure"];
|
|
276
|
+
readonly description: "`pending` while the action is in flight; settles to `success` or `failure`.";
|
|
277
|
+
};
|
|
278
|
+
readonly error: {
|
|
279
|
+
readonly type: readonly ["string", "null"];
|
|
280
|
+
readonly description: "Failure message; absent when the action succeeded.";
|
|
281
|
+
};
|
|
282
|
+
readonly params: {
|
|
283
|
+
readonly type: "object";
|
|
284
|
+
readonly description: "Pruned snapshot of the action's configured params (e.g. SetDevices device states, StartSOS type ids), enough to render a human summary of what the action did. Absent when the use case has no summarizable params.";
|
|
285
|
+
};
|
|
286
|
+
};
|
|
287
|
+
};
|
|
288
|
+
};
|
|
289
|
+
};
|
|
290
|
+
}];
|
|
291
|
+
};
|
|
292
|
+
};
|
|
293
|
+
readonly createdAt: {
|
|
294
|
+
readonly $ref: "definitions.json#/definitions/date";
|
|
295
|
+
readonly description: "When the SOS Event was created.";
|
|
296
|
+
};
|
|
297
|
+
readonly updatedAt: {
|
|
298
|
+
readonly $ref: "definitions.json#/definitions/date";
|
|
299
|
+
readonly description: "When the SOS Event was last modified.";
|
|
300
|
+
};
|
|
301
|
+
readonly deletedAt: {
|
|
302
|
+
readonly type: readonly ["string", "object", "null"];
|
|
303
|
+
readonly format: "date-time";
|
|
304
|
+
readonly description: "Soft-delete tombstone.";
|
|
305
|
+
};
|
|
306
|
+
};
|
|
307
|
+
};
|
|
308
|
+
export type SOSEventSchema = FromSchema<typeof sosEventSchema, {
|
|
309
|
+
references: [typeof defs];
|
|
310
|
+
deserialize: [
|
|
311
|
+
{
|
|
312
|
+
pattern: {
|
|
313
|
+
format: "date-time";
|
|
314
|
+
};
|
|
315
|
+
output: Date | ISODateString;
|
|
316
|
+
}
|
|
317
|
+
];
|
|
318
|
+
}>;
|