@openbrf/plugin-sdk 1.2.0 → 1.4.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/catalog.d.ts +670 -11
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +174 -81
- package/dist/catalog.js.map +1 -1
- package/dist/findings.d.ts +3 -1
- package/dist/findings.d.ts.map +1 -1
- package/dist/findings.js +2 -0
- package/dist/findings.js.map +1 -1
- package/dist/host.d.ts +108 -2
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +15 -0
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +129 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +154 -3
- package/dist/manifest.js.map +1 -1
- package/dist/package-check.d.ts.map +1 -1
- package/dist/package-check.js +9 -1
- package/dist/package-check.js.map +1 -1
- package/package.json +1 -1
- package/src/catalog.ts +231 -116
- package/src/findings.ts +2 -0
- package/src/host.ts +112 -2
- package/src/index.ts +16 -0
- package/src/manifest.ts +199 -7
- package/src/package-check.ts +15 -0
package/dist/host.js
CHANGED
|
@@ -20,6 +20,21 @@ export class PluginPermissionError extends Error {
|
|
|
20
20
|
this.name = "PluginPermissionError";
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
+
/** The bounds `host.audit.record` holds an entry to. */
|
|
24
|
+
export const PLUGIN_AUDIT_LIMITS = {
|
|
25
|
+
/** Characters in `event`, which is also part of a text key. */
|
|
26
|
+
event: 64,
|
|
27
|
+
/** Characters in `targetKind`. */
|
|
28
|
+
targetKind: 64,
|
|
29
|
+
/** Characters in `targetId`. */
|
|
30
|
+
targetId: 200,
|
|
31
|
+
/** Values in `detail`. */
|
|
32
|
+
detailValues: 8,
|
|
33
|
+
/** Characters in a key of `detail`, letters and digits. */
|
|
34
|
+
detailKey: 64,
|
|
35
|
+
/** Characters in a string value of `detail`. */
|
|
36
|
+
detailValue: 200,
|
|
37
|
+
};
|
|
23
38
|
/** Why `host.recipients.fetch` sent nothing, or got no answer. */
|
|
24
39
|
export const PLUGIN_RECIPIENT_ERROR_CODES = [
|
|
25
40
|
/** The manifest declares no recipient by that id. */
|
package/dist/host.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;GAUG;AAEH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAEnC,QAAQ;IACR,UAAU;IAFrB,YACW,QAAgB,EAChB,UAA4B;QAErC,KAAK,CACH,WAAW,QAAQ,mCAAmC,UAAU,IAAI;YAClE,kDAAkD,CACrD,CAAC;wBANO,QAAQ;0BACR,UAAU;QAMnB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;GAUG;AAEH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAEnC,QAAQ;IACR,UAAU;IAFrB,YACW,QAAgB,EAChB,UAA4B;QAErC,KAAK,CACH,WAAW,QAAQ,mCAAmC,UAAU,IAAI;YAClE,kDAAkD,CACrD,CAAC;wBANO,QAAQ;0BACR,UAAU;QAMnB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAiND,wDAAwD;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,+DAA+D;IAC/D,KAAK,EAAE,EAAE;IACT,kCAAkC;IAClC,UAAU,EAAE,EAAE;IACd,gCAAgC;IAChC,QAAQ,EAAE,GAAG;IACb,0BAA0B;IAC1B,YAAY,EAAE,CAAC;IACf,2DAA2D;IAC3D,SAAS,EAAE,EAAE;IACb,gDAAgD;IAChD,WAAW,EAAE,GAAG;CACR,CAAC;AA6cX,kEAAkE;AAClE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,qDAAqD;IACrD,wBAAwB;IACxB,wDAAwD;IACxD,cAAc;IACd,+EAA+E;IAC/E,iBAAiB;IACjB,gFAAgF;IAChF,4BAA4B;IAC5B,wEAAwE;IACxE,iBAAiB;IACjB,wEAAwE;IACxE,iBAAiB;IACjB,2EAA2E;IAC3E,kBAAkB;IAClB,+DAA+D;IAC/D,aAAa;IACb,gDAAgD;IAChD,oBAAoB;CACZ,CAAC;AAKX;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAElC,QAAQ;IACR,SAAS;IACT,IAAI;IAHf,YACW,QAAgB,EAChB,SAAiB,EACjB,IAA8B;QAEvC,KAAK,CACH,WAAW,QAAQ,oCAAoC,SAAS,MAAM,IAAI,GAAG,CAC9E,CAAC;wBANO,QAAQ;yBACR,SAAS;oBACT,IAAI;QAKb,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAiOD;;;;;;;GAOG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAExC,QAAQ;IACR,MAAM;IAFjB,YACW,QAAgB,EAChB,MAAc;QAEvB,KAAK,CAAC,WAAW,QAAQ,yBAAyB,MAAM,EAAE,CAAC,CAAC;wBAHnD,QAAQ;sBACR,MAAM;QAGf,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { ACTION_ERROR_MCP, ACTION_ERROR_REASONS, type ActionErrorReason, type Ac
|
|
|
13
13
|
export { actionInputJsonSchema, actionOutputJsonSchema, isHostZodSchema, } from "./action-schema.ts";
|
|
14
14
|
export { isSupportedApiVersion, PLUGIN_API_VERSION, SUPPORTED_PLUGIN_API_VERSIONS, } from "./api-version.ts";
|
|
15
15
|
export { PLUGIN_BLOCK_ATTRIBUTES, PLUGIN_BLOCK_CATEGORIES, PLUGIN_BLOCK_ELEMENTS, PLUGIN_BLOCK_ICONS, PLUGIN_BLOCK_NAME_PATTERN, PLUGIN_BLOCK_RENDER_TIMEOUT_MS, type PluginBlockAbortSignal, type PluginBlockCategory, type PluginBlockContent, type PluginBlockDeclaration, type PluginBlockElement, type PluginBlockElementName, type PluginBlockIcon, type PluginBlockNode, type PluginBlockRegistration, type PluginBlockRenderContext, type PluginBlocks, pluginBlockSchema, pluginBlocksSchema, pluginBlockType, } from "./blocks.ts";
|
|
16
|
-
export { type Catalog, CATALOG_INDEX_VERSIONS, CATALOG_REFUSALS, type CatalogArtifact, catalogArtifactSchema, type CatalogDiagnostic, type CatalogEntry, catalogEntrySchema, type CatalogExtensionPoint, catalogExtensionPointSchema, type CatalogParseResult, type CatalogPluginEntry, catalogPluginEntrySchema, type CatalogRefusal, type CatalogRefusalCode, catalogSchema, type CatalogThemeEntry, catalogThemeEntrySchema, type LocalizedText, parseCatalogIndex, } from "./catalog.ts";
|
|
16
|
+
export { type Catalog, CATALOG_INDEX_VERSIONS, CATALOG_REFUSALS, type CatalogArtifact, catalogArtifactSchema, type CatalogDiagnostic, type CatalogEntry, catalogEntrySchema, catalogEntryV2Schema, CATALOG_INDEX_VERSION, type CatalogExtensionPoint, catalogExtensionPointSchema, type CatalogParseResult, type CatalogPluginEntry, catalogPluginEntrySchema, catalogPluginEntryV2Schema, type CatalogRefusal, type CatalogRefusalCode, catalogSchema, type CatalogThemeEntry, catalogThemeEntrySchema, type LocalizedText, parseCatalogIndex, } from "./catalog.ts";
|
|
17
17
|
export { definePlugin } from "./define-plugin.ts";
|
|
18
18
|
export { createTestEntitlements, ENTITLEMENT_STATUSES, type EntitlementState, type EntitlementStatus, LICENCE_FILE_MAX_BYTES, LICENCE_FORMAT, LICENCE_PRESENTATION_FORMAT, LICENCE_PRESENTATION_MAX_BYTES, type PluginEntitlements, type TestEntitlementsOptions, undeclaredAudienceError, } from "./entitlements.ts";
|
|
19
19
|
export { EXTENSION_MAX_OUTPUT_LENGTH, EXTENSION_MAX_TIMEOUT_MS, EXTENSION_POINT_ID_PATTERN, EXTENSION_RESULT_REASONS, EXTENSION_TIMEOUT_MS, type ExtensionContext, type ExtensionContributionDefinition, type ExtensionContributionSummary, type ExtensionPointDefinition, type ExtensionResult, type ExtensionResultReason, type ExtensionTarget, MAX_EXTENSION_POINTS, type PluginExtensions, } from "./extensions.ts";
|
|
@@ -21,9 +21,9 @@ export { PLUGIN_FINANCE_EVENTS, PluginDeliveryRefusedError, type PluginDeliveryR
|
|
|
21
21
|
export { IMPORT_PROPOSAL_REFUSAL_REASONS, IMPORT_PROPOSAL_STATES, type ImportProposalFile, type ImportProposalReceipt, type ImportProposalRefusalReason, ImportProposalRefusedError, type ImportProposalState, type ImportProposalStatus, type PluginImports, } from "./imports.ts";
|
|
22
22
|
export { formatSha512, IntegrityError, parseSha512 } from "./integrity.ts";
|
|
23
23
|
export { PLUGIN_FINDING_REASONS, PLUGIN_MANIFEST_RULES, type PluginFindingDetail, type PluginFindingReason, type PluginManifestRule, } from "./findings.ts";
|
|
24
|
-
export { PLUGIN_RECIPIENT_ERROR_CODES, type DeviceTokenSummary, type PluginAddress, type PluginAddressBook, type PluginAddresses, type PluginApartment, type PluginBookableResource, type PluginBookings, type PluginBusyInterval, type PluginCalendar, type PluginContentAudience, type PluginDevices, type PluginDisclosure, type PluginHost, PluginHostUnavailableError, type PluginJobs, type PluginLogger, type PluginMail, type PluginMailMessage, type PluginMedia, type PluginMediaFile, type PluginMediaStream, type PluginMeetingNotice, type PluginNews, type PluginNewsItem, type PluginOccupancySummary, type PluginOccurrence, PluginPermissionError, PluginRecipientError, type PluginRecipientErrorCode, type PluginRecipientRequest, type PluginRecipientResponse, type PluginRecipients, type PluginResident, type PluginSettings, type PluginInstalledTheme, type PluginSms, type PluginSmsMessage, type PluginThemeInstallOptions, type PluginThemeInstallResult, type PluginThemeInstallWarning, type PluginThemes, } from "./host.ts";
|
|
24
|
+
export { PLUGIN_RECIPIENT_ERROR_CODES, type DeviceTokenSummary, type PluginAddress, type PluginAddressBook, type PluginAddresses, type PluginApartment, type PluginAudit, type PluginAuditEntry, PLUGIN_AUDIT_LIMITS, type PluginBookableResource, type PluginBookings, type PluginBusyInterval, type PluginCalendar, type PluginContentAudience, type PluginDevices, type PluginDisclosure, type PluginHost, PluginHostUnavailableError, type PluginJobs, type PluginLogger, type PluginMail, type PluginMailMessage, type PluginMedia, type PluginMediaFile, type PluginMediaStream, type PluginMeetingNotice, type PluginNews, type PluginNewsItem, type PluginOccupancySummary, type PluginOccurrence, PluginPermissionError, PluginRecipientError, type PluginRecipientErrorCode, type PluginRecipientRequest, type PluginRecipientResponse, type PluginRecipients, type PluginResident, type PluginResidentFilter, type PluginSettings, type PluginInstalledTheme, type PluginSms, type PluginSmsMessage, type PluginThemeInstallOptions, type PluginThemeInstallResult, type PluginThemeInstallWarning, type PluginThemes, } from "./host.ts";
|
|
25
25
|
export type { PluginModuleFactory } from "./module.ts";
|
|
26
|
-
export { assertPluginPackage, composedActionName, CURRENT_PLUGIN_API_VERSION, declaredExtensionPointsSchema, declaredExtensionsSchema, extensionGroupRefusals, extensionHostPersonalDataRefused, extensionPermissionsRefused, extensionPointIdSchema, extensionPointRefusal, type ExtensionPointRefusal, extensionRuleIssues, MAX_DEVICE_ROUTES, isCalendarDay, licenceAudienceSchema, licenceKeyIdSchema, licencePublicKeySchema, type ManifestParseResult, type PluginActionDeclaration, pluginActionSchema, pluginActionsSchema, type PluginDeviceRoute, pluginDeviceRouteSchema, pluginDeviceRoutesSchema, type PluginEntry, pluginEntrySchema, type PluginExtensionDeclaration, type PluginExtensionPointDeclaration, pluginExtensionPointSchema, pluginExtensionSchema, pluginIdSchema, type PluginLicenceDeclaration, pluginLicenceSchema, type PluginManifest, pluginManifestSchema, type PluginPackage, pluginPackageSchema, type PluginView, pluginViewSchema, type PluginViewSection, PLUGIN_VIEW_SECTIONS, parsePluginPackage, proposeImportPersonalDataIssues, routePathsOverlap, } from "./manifest.ts";
|
|
26
|
+
export { assertPluginPackage, composedActionName, CURRENT_PLUGIN_API_VERSION, declaredExtensionPointsSchema, declaredExtensionsSchema, extensionGroupRefusals, extensionHostPersonalDataRefused, extensionPermissionsRefused, extensionPointIdSchema, extensionPointRefusal, type ExtensionPointRefusal, extensionRuleIssues, MAX_DEVICE_ROUTES, isCalendarDay, licenceAudienceSchema, licenceKeyIdSchema, licencePublicKeySchema, type ManifestParseResult, missingProcessingProblem, readsAddressBook, undeclaredPersonalDataProblem, PLUGIN_DATA_SUBJECTS, PLUGIN_LEGAL_BASES, type PluginActionDeclaration, pluginActionSchema, pluginActionsSchema, type PluginDeviceRoute, pluginDeviceRouteSchema, pluginDeviceRoutesSchema, type PluginEntry, pluginEntrySchema, type PluginExtensionDeclaration, type PluginExtensionPointDeclaration, pluginExtensionPointSchema, pluginExtensionSchema, pluginIdSchema, type PluginDataSubject, type PluginLegalBasis, type PluginLicenceDeclaration, pluginLicenceSchema, type PluginManifest, pluginManifestSchema, type PluginPackage, pluginPackageSchema, type PluginProcessing, pluginProcessingSchema, type PluginView, pluginViewSchema, type PluginViewSection, PLUGIN_VIEW_SECTIONS, parsePluginPackage, proposeImportPersonalDataIssues, routePathsOverlap, } from "./manifest.ts";
|
|
27
27
|
export { HOST_SHARED_PACKAGES, type PluginPackageContents, pluginPackageProblems, } from "./package-check.ts";
|
|
28
28
|
export { PLUGIN_ROUTE_CAPABILITIES, type PluginRouteCapability, REQUIRED_CAPABILITIES_KEY, RequireCapability, } from "./require-capability.ts";
|
|
29
29
|
export type { StandardSchemaIssue, StandardSchemaResult, StandardSchemaV1, } from "./standard-schema.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ export { ACTION_ERROR_MCP, ACTION_ERROR_REASONS, isActionRefusal, } from "./acti
|
|
|
12
12
|
export { actionInputJsonSchema, actionOutputJsonSchema, isHostZodSchema, } from "./action-schema.js";
|
|
13
13
|
export { isSupportedApiVersion, PLUGIN_API_VERSION, SUPPORTED_PLUGIN_API_VERSIONS, } from "./api-version.js";
|
|
14
14
|
export { PLUGIN_BLOCK_ATTRIBUTES, PLUGIN_BLOCK_CATEGORIES, PLUGIN_BLOCK_ELEMENTS, PLUGIN_BLOCK_ICONS, PLUGIN_BLOCK_NAME_PATTERN, PLUGIN_BLOCK_RENDER_TIMEOUT_MS, pluginBlockSchema, pluginBlocksSchema, pluginBlockType, } from "./blocks.js";
|
|
15
|
-
export { CATALOG_INDEX_VERSIONS, CATALOG_REFUSALS, catalogArtifactSchema, catalogEntrySchema, catalogExtensionPointSchema, catalogPluginEntrySchema, catalogSchema, catalogThemeEntrySchema, parseCatalogIndex, } from "./catalog.js";
|
|
15
|
+
export { CATALOG_INDEX_VERSIONS, CATALOG_REFUSALS, catalogArtifactSchema, catalogEntrySchema, catalogEntryV2Schema, CATALOG_INDEX_VERSION, catalogExtensionPointSchema, catalogPluginEntrySchema, catalogPluginEntryV2Schema, catalogSchema, catalogThemeEntrySchema, parseCatalogIndex, } from "./catalog.js";
|
|
16
16
|
export { definePlugin } from "./define-plugin.js";
|
|
17
17
|
export { createTestEntitlements, ENTITLEMENT_STATUSES, LICENCE_FILE_MAX_BYTES, LICENCE_FORMAT, LICENCE_PRESENTATION_FORMAT, LICENCE_PRESENTATION_MAX_BYTES, undeclaredAudienceError, } from "./entitlements.js";
|
|
18
18
|
export { EXTENSION_MAX_OUTPUT_LENGTH, EXTENSION_MAX_TIMEOUT_MS, EXTENSION_POINT_ID_PATTERN, EXTENSION_RESULT_REASONS, EXTENSION_TIMEOUT_MS, MAX_EXTENSION_POINTS, } from "./extensions.js";
|
|
@@ -20,8 +20,8 @@ export { PLUGIN_FINANCE_EVENTS, PluginDeliveryRefusedError, } from "./finances.j
|
|
|
20
20
|
export { IMPORT_PROPOSAL_REFUSAL_REASONS, IMPORT_PROPOSAL_STATES, ImportProposalRefusedError, } from "./imports.js";
|
|
21
21
|
export { formatSha512, IntegrityError, parseSha512 } from "./integrity.js";
|
|
22
22
|
export { PLUGIN_FINDING_REASONS, PLUGIN_MANIFEST_RULES, } from "./findings.js";
|
|
23
|
-
export { PLUGIN_RECIPIENT_ERROR_CODES, PluginHostUnavailableError, PluginPermissionError, PluginRecipientError, } from "./host.js";
|
|
24
|
-
export { assertPluginPackage, composedActionName, CURRENT_PLUGIN_API_VERSION, declaredExtensionPointsSchema, declaredExtensionsSchema, extensionGroupRefusals, extensionHostPersonalDataRefused, extensionPermissionsRefused, extensionPointIdSchema, extensionPointRefusal, extensionRuleIssues, MAX_DEVICE_ROUTES, isCalendarDay, licenceAudienceSchema, licenceKeyIdSchema, licencePublicKeySchema, pluginActionSchema, pluginActionsSchema, pluginDeviceRouteSchema, pluginDeviceRoutesSchema, pluginEntrySchema, pluginExtensionPointSchema, pluginExtensionSchema, pluginIdSchema, pluginLicenceSchema, pluginManifestSchema, pluginPackageSchema, pluginViewSchema, PLUGIN_VIEW_SECTIONS, parsePluginPackage, proposeImportPersonalDataIssues, routePathsOverlap, } from "./manifest.js";
|
|
23
|
+
export { PLUGIN_RECIPIENT_ERROR_CODES, PLUGIN_AUDIT_LIMITS, PluginHostUnavailableError, PluginPermissionError, PluginRecipientError, } from "./host.js";
|
|
24
|
+
export { assertPluginPackage, composedActionName, CURRENT_PLUGIN_API_VERSION, declaredExtensionPointsSchema, declaredExtensionsSchema, extensionGroupRefusals, extensionHostPersonalDataRefused, extensionPermissionsRefused, extensionPointIdSchema, extensionPointRefusal, extensionRuleIssues, MAX_DEVICE_ROUTES, isCalendarDay, licenceAudienceSchema, licenceKeyIdSchema, licencePublicKeySchema, missingProcessingProblem, readsAddressBook, undeclaredPersonalDataProblem, PLUGIN_DATA_SUBJECTS, PLUGIN_LEGAL_BASES, pluginActionSchema, pluginActionsSchema, pluginDeviceRouteSchema, pluginDeviceRoutesSchema, pluginEntrySchema, pluginExtensionPointSchema, pluginExtensionSchema, pluginIdSchema, pluginLicenceSchema, pluginManifestSchema, pluginPackageSchema, pluginProcessingSchema, pluginViewSchema, PLUGIN_VIEW_SECTIONS, parsePluginPackage, proposeImportPersonalDataIssues, routePathsOverlap, } from "./manifest.js";
|
|
25
25
|
export { HOST_SHARED_PACKAGES, pluginPackageProblems, } from "./package-check.js";
|
|
26
26
|
export { PLUGIN_ROUTE_CAPABILITIES, REQUIRED_CAPABILITIES_KEY, RequireCapability, } from "./require-capability.js";
|
|
27
27
|
export { isPluginPermission, PLUGIN_PERMISSIONS, PLUGIN_PERSONAL_DATA_CATEGORIES, PROPOSE_IMPORT_ONLY_PERSONAL_DATA, PROPOSE_IMPORT_PERSONAL_DATA, } from "./permissions.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,GAkBhB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EAKpB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAY9B,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,sBAAsB,EACtB,gBAAgB,EAEhB,qBAAqB,EAGrB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest.d.ts
CHANGED
|
@@ -153,6 +153,53 @@ export declare function composedActionName(pluginId: string, actionId: string):
|
|
|
153
153
|
*/
|
|
154
154
|
export declare const PLUGIN_VIEW_SECTIONS: readonly ["association", "building", "board", "settings"];
|
|
155
155
|
export type PluginViewSection = (typeof PLUGIN_VIEW_SECTIONS)[number];
|
|
156
|
+
/**
|
|
157
|
+
* The art. 6(1) bases a plugin may declare its processing on.
|
|
158
|
+
*
|
|
159
|
+
* Four of the six. Vital interests and public task are not bases a housing
|
|
160
|
+
* cooperative's plugin has any business with, and a declaration naming one
|
|
161
|
+
* would be a claim the board then has to correct rather than a statement it can
|
|
162
|
+
* publish.
|
|
163
|
+
*/
|
|
164
|
+
export declare const PLUGIN_LEGAL_BASES: readonly ["consent", "contract", "legalObligation", "legitimateInterest"];
|
|
165
|
+
export type PluginLegalBasis = (typeof PLUGIN_LEGAL_BASES)[number];
|
|
166
|
+
/** Whose personal data a plugin's processing concerns. */
|
|
167
|
+
export declare const PLUGIN_DATA_SUBJECTS: readonly ["members", "residents"];
|
|
168
|
+
export type PluginDataSubject = (typeof PLUGIN_DATA_SUBJECTS)[number];
|
|
169
|
+
/**
|
|
170
|
+
* What a plugin's processing of personal data is for, on what basis, for how
|
|
171
|
+
* long, and about whom (ADR 0035).
|
|
172
|
+
*
|
|
173
|
+
* The install seeds the plugin's row in the record of processing activities
|
|
174
|
+
* from it, in the association's language, and the consent screen shows it
|
|
175
|
+
* before anything is downloaded. It grants nothing: what a plugin may read is
|
|
176
|
+
* its permissions.
|
|
177
|
+
*/
|
|
178
|
+
export declare const pluginProcessingSchema: z.ZodObject<{
|
|
179
|
+
purpose: z.ZodObject<{
|
|
180
|
+
sv: z.ZodString;
|
|
181
|
+
en: z.ZodString;
|
|
182
|
+
}, z.core.$strict>;
|
|
183
|
+
legalBasis: z.ZodEnum<{
|
|
184
|
+
consent: "consent";
|
|
185
|
+
contract: "contract";
|
|
186
|
+
legalObligation: "legalObligation";
|
|
187
|
+
legitimateInterest: "legitimateInterest";
|
|
188
|
+
}>;
|
|
189
|
+
legitimateInterest: z.ZodOptional<z.ZodObject<{
|
|
190
|
+
sv: z.ZodString;
|
|
191
|
+
en: z.ZodString;
|
|
192
|
+
}, z.core.$strict>>;
|
|
193
|
+
retention: z.ZodObject<{
|
|
194
|
+
sv: z.ZodString;
|
|
195
|
+
en: z.ZodString;
|
|
196
|
+
}, z.core.$strict>;
|
|
197
|
+
dataSubjects: z.ZodArray<z.ZodEnum<{
|
|
198
|
+
members: "members";
|
|
199
|
+
residents: "residents";
|
|
200
|
+
}>>;
|
|
201
|
+
}, z.core.$strict>;
|
|
202
|
+
export type PluginProcessing = z.infer<typeof pluginProcessingSchema>;
|
|
156
203
|
export declare const pluginViewSchema: z.ZodObject<{
|
|
157
204
|
module: z.ZodDefault<z.ZodString>;
|
|
158
205
|
titleKey: z.ZodString;
|
|
@@ -237,6 +284,7 @@ export interface ExtensionDeclarations {
|
|
|
237
284
|
readonly id: string;
|
|
238
285
|
readonly permissions: readonly string[];
|
|
239
286
|
readonly personalData: readonly string[];
|
|
287
|
+
readonly deviceRoutes?: readonly unknown[];
|
|
240
288
|
readonly extensionPoints: readonly {
|
|
241
289
|
readonly personalData: readonly string[];
|
|
242
290
|
}[];
|
|
@@ -255,6 +303,7 @@ export interface ExtensionDeclarations {
|
|
|
255
303
|
export declare function extensionRuleIssues(declaration: ExtensionDeclarations): {
|
|
256
304
|
path: (string | number)[];
|
|
257
305
|
message: string;
|
|
306
|
+
rule?: PluginManifestRule;
|
|
258
307
|
}[];
|
|
259
308
|
/**
|
|
260
309
|
* The permissions that keep an addon and the plugin it extends apart, or an
|
|
@@ -531,6 +580,30 @@ export declare const pluginManifestSchema: z.ZodObject<{
|
|
|
531
580
|
protected: "protected";
|
|
532
581
|
residency: "residency";
|
|
533
582
|
}>>>;
|
|
583
|
+
processing: z.ZodOptional<z.ZodObject<{
|
|
584
|
+
purpose: z.ZodObject<{
|
|
585
|
+
sv: z.ZodString;
|
|
586
|
+
en: z.ZodString;
|
|
587
|
+
}, z.core.$strict>;
|
|
588
|
+
legalBasis: z.ZodEnum<{
|
|
589
|
+
consent: "consent";
|
|
590
|
+
contract: "contract";
|
|
591
|
+
legalObligation: "legalObligation";
|
|
592
|
+
legitimateInterest: "legitimateInterest";
|
|
593
|
+
}>;
|
|
594
|
+
legitimateInterest: z.ZodOptional<z.ZodObject<{
|
|
595
|
+
sv: z.ZodString;
|
|
596
|
+
en: z.ZodString;
|
|
597
|
+
}, z.core.$strict>>;
|
|
598
|
+
retention: z.ZodObject<{
|
|
599
|
+
sv: z.ZodString;
|
|
600
|
+
en: z.ZodString;
|
|
601
|
+
}, z.core.$strict>;
|
|
602
|
+
dataSubjects: z.ZodArray<z.ZodEnum<{
|
|
603
|
+
members: "members";
|
|
604
|
+
residents: "residents";
|
|
605
|
+
}>>;
|
|
606
|
+
}, z.core.$strict>>;
|
|
534
607
|
settingsSchema: z.ZodOptional<z.ZodObject<{
|
|
535
608
|
fields: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
536
609
|
key: z.ZodString;
|
|
@@ -779,6 +852,38 @@ export type PluginView = z.infer<typeof pluginViewSchema>;
|
|
|
779
852
|
export type PluginExtensionPointDeclaration = z.infer<typeof pluginExtensionPointSchema>;
|
|
780
853
|
export type PluginExtensionDeclaration = z.infer<typeof pluginExtensionSchema>;
|
|
781
854
|
export type PluginDeviceRoute = z.infer<typeof pluginDeviceRouteSchema>;
|
|
855
|
+
/**
|
|
856
|
+
* The problem with a declaration that names personal data and no processing,
|
|
857
|
+
* or null when there is none.
|
|
858
|
+
*
|
|
859
|
+
* Not part of the manifest schema, which the loader also reads: a plugin
|
|
860
|
+
* published before the field existed has to keep loading, and its row keeps
|
|
861
|
+
* the placeholder it was seeded with. The package check and version 2 of the
|
|
862
|
+
* catalog index refuse it, so nothing listed from now on lacks one.
|
|
863
|
+
*/
|
|
864
|
+
export declare function missingProcessingProblem(declaration: {
|
|
865
|
+
personalData: readonly string[];
|
|
866
|
+
processing?: PluginProcessing | undefined;
|
|
867
|
+
}): string | null;
|
|
868
|
+
/**
|
|
869
|
+
* Whether these permissions read the address book: a plugin holding one
|
|
870
|
+
* processes the residents' personal data, whatever it declares.
|
|
871
|
+
*/
|
|
872
|
+
export declare function readsAddressBook(permissions: readonly string[]): boolean;
|
|
873
|
+
/**
|
|
874
|
+
* The problem with a declaration that reads the address book and names no
|
|
875
|
+
* personal data, or null when there is none.
|
|
876
|
+
*
|
|
877
|
+
* Such a plugin would have no processing declaration and no row in the record
|
|
878
|
+
* of processing activities, so nobody could object to what it reads. Held
|
|
879
|
+
* where `missingProcessingProblem` is, and for the same reason not in the
|
|
880
|
+
* manifest schema: a plugin published before this rule keeps loading, and its
|
|
881
|
+
* install keeps a row (`readsAddressBook`).
|
|
882
|
+
*/
|
|
883
|
+
export declare function undeclaredPersonalDataProblem(declaration: {
|
|
884
|
+
permissions: readonly string[];
|
|
885
|
+
personalData: readonly string[];
|
|
886
|
+
}): string | null;
|
|
782
887
|
/**
|
|
783
888
|
* Dependency fields npm installs at install time.
|
|
784
889
|
*
|
|
@@ -840,6 +945,30 @@ export declare const pluginPackageSchema: z.ZodObject<{
|
|
|
840
945
|
protected: "protected";
|
|
841
946
|
residency: "residency";
|
|
842
947
|
}>>>;
|
|
948
|
+
processing: z.ZodOptional<z.ZodObject<{
|
|
949
|
+
purpose: z.ZodObject<{
|
|
950
|
+
sv: z.ZodString;
|
|
951
|
+
en: z.ZodString;
|
|
952
|
+
}, z.core.$strict>;
|
|
953
|
+
legalBasis: z.ZodEnum<{
|
|
954
|
+
consent: "consent";
|
|
955
|
+
contract: "contract";
|
|
956
|
+
legalObligation: "legalObligation";
|
|
957
|
+
legitimateInterest: "legitimateInterest";
|
|
958
|
+
}>;
|
|
959
|
+
legitimateInterest: z.ZodOptional<z.ZodObject<{
|
|
960
|
+
sv: z.ZodString;
|
|
961
|
+
en: z.ZodString;
|
|
962
|
+
}, z.core.$strict>>;
|
|
963
|
+
retention: z.ZodObject<{
|
|
964
|
+
sv: z.ZodString;
|
|
965
|
+
en: z.ZodString;
|
|
966
|
+
}, z.core.$strict>;
|
|
967
|
+
dataSubjects: z.ZodArray<z.ZodEnum<{
|
|
968
|
+
members: "members";
|
|
969
|
+
residents: "residents";
|
|
970
|
+
}>>;
|
|
971
|
+
}, z.core.$strict>>;
|
|
843
972
|
settingsSchema: z.ZodOptional<z.ZodObject<{
|
|
844
973
|
fields: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
845
974
|
key: z.ZodString;
|
package/dist/manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAe/E;;;;;;;;;GASG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,aAOxB,CAAC;AAqBJ,eAAO,MAAM,iBAAiB;;;iBAiB3B,CAAC;AAoBJ;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM7B,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAA4C,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EACvE,MAAM,EAAE,CAAC,iBAkBV;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,YAC/B,aAAa,EACb,UAAU,EACV,OAAO,EACP,UAAU,CACF,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,eAAO,MAAM,gBAAgB;;;;;;;;;iBAc3B,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,aAOhC,CAAC;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;iBAgBrC,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;iBAgBhC,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EACnC,KAAK,EAAE,CAAC,iBAiBT;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EACtD,SAAS,EAAE,CAAC,iBAkBb;AAED,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,SAAS;QACjC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;KAC1C,EAAE,CAAC;IACJ,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;KAC1C,EAAE,CAAC;CACL;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest.js
CHANGED
|
@@ -173,6 +173,81 @@ export const PLUGIN_VIEW_SECTIONS = [
|
|
|
173
173
|
"board",
|
|
174
174
|
"settings",
|
|
175
175
|
];
|
|
176
|
+
/**
|
|
177
|
+
* Text a plugin author writes in both languages the interface is offered in.
|
|
178
|
+
*
|
|
179
|
+
* Strict, as everything in the processing declaration is: a field the
|
|
180
|
+
* declaration does not define is refused rather than dropped, so a misspelled
|
|
181
|
+
* key cannot leave a row of the record of processing activities without the
|
|
182
|
+
* text its author meant to put there.
|
|
183
|
+
*/
|
|
184
|
+
const pluginLocalizedTextSchema = z.strictObject({
|
|
185
|
+
sv: z.string().trim().min(1).max(500),
|
|
186
|
+
en: z.string().trim().min(1).max(500),
|
|
187
|
+
});
|
|
188
|
+
/**
|
|
189
|
+
* The art. 6(1) bases a plugin may declare its processing on.
|
|
190
|
+
*
|
|
191
|
+
* Four of the six. Vital interests and public task are not bases a housing
|
|
192
|
+
* cooperative's plugin has any business with, and a declaration naming one
|
|
193
|
+
* would be a claim the board then has to correct rather than a statement it can
|
|
194
|
+
* publish.
|
|
195
|
+
*/
|
|
196
|
+
export const PLUGIN_LEGAL_BASES = [
|
|
197
|
+
"consent",
|
|
198
|
+
"contract",
|
|
199
|
+
"legalObligation",
|
|
200
|
+
"legitimateInterest",
|
|
201
|
+
];
|
|
202
|
+
/** Whose personal data a plugin's processing concerns. */
|
|
203
|
+
export const PLUGIN_DATA_SUBJECTS = ["members", "residents"];
|
|
204
|
+
/**
|
|
205
|
+
* What a plugin's processing of personal data is for, on what basis, for how
|
|
206
|
+
* long, and about whom (ADR 0035).
|
|
207
|
+
*
|
|
208
|
+
* The install seeds the plugin's row in the record of processing activities
|
|
209
|
+
* from it, in the association's language, and the consent screen shows it
|
|
210
|
+
* before anything is downloaded. It grants nothing: what a plugin may read is
|
|
211
|
+
* its permissions.
|
|
212
|
+
*/
|
|
213
|
+
export const pluginProcessingSchema = z
|
|
214
|
+
.strictObject({
|
|
215
|
+
purpose: pluginLocalizedTextSchema,
|
|
216
|
+
legalBasis: z.enum(PLUGIN_LEGAL_BASES),
|
|
217
|
+
/** The interest relied on, which art. 13(1)(d) requires on the notice. */
|
|
218
|
+
legitimateInterest: pluginLocalizedTextSchema.optional(),
|
|
219
|
+
/** How long the data is kept and when it goes. */
|
|
220
|
+
retention: pluginLocalizedTextSchema,
|
|
221
|
+
dataSubjects: z
|
|
222
|
+
.array(z.enum(PLUGIN_DATA_SUBJECTS))
|
|
223
|
+
.min(1)
|
|
224
|
+
.max(PLUGIN_DATA_SUBJECTS.length)
|
|
225
|
+
.refine((subjects) => new Set(subjects).size === subjects.length, "names a category of data subjects twice"),
|
|
226
|
+
})
|
|
227
|
+
.superRefine((processing, ctx) => {
|
|
228
|
+
/*
|
|
229
|
+
* Both ways. A processing on legitimate interest names the interest,
|
|
230
|
+
* because the privacy notice has to; one on another basis names none,
|
|
231
|
+
* because the row would then carry an interest for a processing that does
|
|
232
|
+
* not rest on one.
|
|
233
|
+
*/
|
|
234
|
+
if (processing.legalBasis === "legitimateInterest" &&
|
|
235
|
+
processing.legitimateInterest === undefined) {
|
|
236
|
+
ctx.addIssue({
|
|
237
|
+
code: "custom",
|
|
238
|
+
path: ["legitimateInterest"],
|
|
239
|
+
message: "a processing on legitimate interest names the interest",
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
if (processing.legalBasis !== "legitimateInterest" &&
|
|
243
|
+
processing.legitimateInterest !== undefined) {
|
|
244
|
+
ctx.addIssue({
|
|
245
|
+
code: "custom",
|
|
246
|
+
path: ["legitimateInterest"],
|
|
247
|
+
message: 'only a processing on "legitimateInterest" names a legitimate interest',
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
});
|
|
176
251
|
export const pluginViewSchema = z.object({
|
|
177
252
|
/** Named export of the remote module, per Module Federation. */
|
|
178
253
|
module: z.string().min(1).max(100).default("./View"),
|
|
@@ -327,6 +402,20 @@ export function extensionRuleIssues(declaration) {
|
|
|
327
402
|
message: 'a plugin that asks for "site:blocks" declares extension points that accept no personal data',
|
|
328
403
|
});
|
|
329
404
|
}
|
|
405
|
+
/*
|
|
406
|
+
* A device is a screen on a wall, and a device token reaches a plugin's
|
|
407
|
+
* routes. A point that accepted contact details would let it reach them
|
|
408
|
+
* through an addon, so a plugin with device routes declares none that does
|
|
409
|
+
* (ADR 0030, ADR 0031).
|
|
410
|
+
*/
|
|
411
|
+
const contact = point.personalData.filter((category) => category === "email" || category === "phone");
|
|
412
|
+
if ((declaration.deviceRoutes ?? []).length > 0 && contact.length > 0) {
|
|
413
|
+
issues.push({
|
|
414
|
+
path: ["extensionPoints", index, "personalData"],
|
|
415
|
+
message: `a plugin that declares deviceRoutes declares no extension point that accepts ${contact.join(" or ")}: contact details have no business on a device`,
|
|
416
|
+
rule: "device-route-extension-point-contact",
|
|
417
|
+
});
|
|
418
|
+
}
|
|
330
419
|
}
|
|
331
420
|
for (const [index, extension] of declaration.extends.entries()) {
|
|
332
421
|
if (extension.plugin === declaration.id) {
|
|
@@ -783,6 +872,16 @@ export const pluginManifestSchema = z
|
|
|
783
872
|
.array(z.enum(PLUGIN_PERSONAL_DATA_CATEGORIES))
|
|
784
873
|
.max(16)
|
|
785
874
|
.default([]),
|
|
875
|
+
/**
|
|
876
|
+
* What the processing of that personal data is for (ADR 0035).
|
|
877
|
+
*
|
|
878
|
+
* Declared by a plugin that declares personal data, and by no other: a
|
|
879
|
+
* plugin with none has no row in the record of processing activities.
|
|
880
|
+
* Optional here, so a plugin published before the field existed keeps
|
|
881
|
+
* loading; the package check, and so the catalog, refuses a package that
|
|
882
|
+
* declares personal data without it.
|
|
883
|
+
*/
|
|
884
|
+
processing: pluginProcessingSchema.optional(),
|
|
786
885
|
settingsSchema: pluginSettingsSchema.optional(),
|
|
787
886
|
/**
|
|
788
887
|
* The plugin's own screen in the application, when it has one, at
|
|
@@ -873,11 +972,24 @@ export const pluginManifestSchema = z
|
|
|
873
972
|
released: calendarDaySchema.optional(),
|
|
874
973
|
})
|
|
875
974
|
.superRefine((manifest, ctx) => {
|
|
876
|
-
for (const issue of extensionRuleIssues(manifest)) {
|
|
975
|
+
for (const { rule, ...issue } of extensionRuleIssues(manifest)) {
|
|
877
976
|
ctx.addIssue({
|
|
878
977
|
code: "custom",
|
|
879
|
-
|
|
880
|
-
|
|
978
|
+
...issue,
|
|
979
|
+
...(rule === undefined ? {} : { params: { rule } }),
|
|
980
|
+
});
|
|
981
|
+
}
|
|
982
|
+
/*
|
|
983
|
+
* A processing with no personal data in it would seed a row of the record
|
|
984
|
+
* of processing activities claiming the plugin processes somebody's data,
|
|
985
|
+
* which is the placeholder this declaration exists to remove.
|
|
986
|
+
*/
|
|
987
|
+
if (manifest.processing !== undefined &&
|
|
988
|
+
manifest.personalData.length === 0) {
|
|
989
|
+
ctx.addIssue({
|
|
990
|
+
code: "custom",
|
|
991
|
+
path: ["processing"],
|
|
992
|
+
message: "a plugin that declares no personal data declares no processing",
|
|
881
993
|
});
|
|
882
994
|
}
|
|
883
995
|
/*
|
|
@@ -1004,6 +1116,45 @@ export const pluginManifestSchema = z
|
|
|
1004
1116
|
}
|
|
1005
1117
|
}
|
|
1006
1118
|
});
|
|
1119
|
+
/**
|
|
1120
|
+
* The problem with a declaration that names personal data and no processing,
|
|
1121
|
+
* or null when there is none.
|
|
1122
|
+
*
|
|
1123
|
+
* Not part of the manifest schema, which the loader also reads: a plugin
|
|
1124
|
+
* published before the field existed has to keep loading, and its row keeps
|
|
1125
|
+
* the placeholder it was seeded with. The package check and version 2 of the
|
|
1126
|
+
* catalog index refuse it, so nothing listed from now on lacks one.
|
|
1127
|
+
*/
|
|
1128
|
+
export function missingProcessingProblem(declaration) {
|
|
1129
|
+
return declaration.personalData.length > 0 &&
|
|
1130
|
+
declaration.processing === undefined
|
|
1131
|
+
? "a plugin that declares personal data declares its processing"
|
|
1132
|
+
: null;
|
|
1133
|
+
}
|
|
1134
|
+
/**
|
|
1135
|
+
* Whether these permissions read the address book: a plugin holding one
|
|
1136
|
+
* processes the residents' personal data, whatever it declares.
|
|
1137
|
+
*/
|
|
1138
|
+
export function readsAddressBook(permissions) {
|
|
1139
|
+
return (permissions.includes("addressBook:read") ||
|
|
1140
|
+
permissions.includes("addressBook:readContact"));
|
|
1141
|
+
}
|
|
1142
|
+
/**
|
|
1143
|
+
* The problem with a declaration that reads the address book and names no
|
|
1144
|
+
* personal data, or null when there is none.
|
|
1145
|
+
*
|
|
1146
|
+
* Such a plugin would have no processing declaration and no row in the record
|
|
1147
|
+
* of processing activities, so nobody could object to what it reads. Held
|
|
1148
|
+
* where `missingProcessingProblem` is, and for the same reason not in the
|
|
1149
|
+
* manifest schema: a plugin published before this rule keeps loading, and its
|
|
1150
|
+
* install keeps a row (`readsAddressBook`).
|
|
1151
|
+
*/
|
|
1152
|
+
export function undeclaredPersonalDataProblem(declaration) {
|
|
1153
|
+
return readsAddressBook(declaration.permissions) &&
|
|
1154
|
+
declaration.personalData.length === 0
|
|
1155
|
+
? "a plugin that reads the address book declares the personal data it reads"
|
|
1156
|
+
: null;
|
|
1157
|
+
}
|
|
1007
1158
|
/**
|
|
1008
1159
|
* Dependency fields npm installs at install time.
|
|
1009
1160
|
*
|