@openbrf/plugin-sdk 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +95 -0
  2. package/dist/abort-signal.d.ts +23 -0
  3. package/dist/abort-signal.d.ts.map +1 -0
  4. package/dist/abort-signal.js +2 -0
  5. package/dist/abort-signal.js.map +1 -0
  6. package/dist/action-refusal.d.ts +101 -0
  7. package/dist/action-refusal.d.ts.map +1 -0
  8. package/dist/action-refusal.js +96 -0
  9. package/dist/action-refusal.js.map +1 -0
  10. package/dist/action-schema.d.ts.map +1 -1
  11. package/dist/action-schema.js +4 -1
  12. package/dist/action-schema.js.map +1 -1
  13. package/dist/actions.d.ts +94 -6
  14. package/dist/actions.d.ts.map +1 -1
  15. package/dist/actions.js.map +1 -1
  16. package/dist/blocks.d.ts +310 -0
  17. package/dist/blocks.d.ts.map +1 -0
  18. package/dist/blocks.js +185 -0
  19. package/dist/blocks.js.map +1 -0
  20. package/dist/catalog.d.ts +399 -7
  21. package/dist/catalog.d.ts.map +1 -1
  22. package/dist/catalog.js +373 -9
  23. package/dist/catalog.js.map +1 -1
  24. package/dist/entitlements.d.ts +117 -0
  25. package/dist/entitlements.d.ts.map +1 -0
  26. package/dist/entitlements.js +62 -0
  27. package/dist/entitlements.js.map +1 -0
  28. package/dist/extensions.d.ts +183 -0
  29. package/dist/extensions.d.ts.map +1 -0
  30. package/dist/extensions.js +67 -0
  31. package/dist/extensions.js.map +1 -0
  32. package/dist/finances.d.ts +294 -0
  33. package/dist/finances.d.ts.map +1 -0
  34. package/dist/finances.js +56 -0
  35. package/dist/finances.js.map +1 -0
  36. package/dist/findings.d.ts +90 -1
  37. package/dist/findings.d.ts.map +1 -1
  38. package/dist/findings.js +89 -0
  39. package/dist/findings.js.map +1 -1
  40. package/dist/host.d.ts +621 -2
  41. package/dist/host.d.ts.map +1 -1
  42. package/dist/host.js +39 -0
  43. package/dist/host.js.map +1 -1
  44. package/dist/imports.d.ts +104 -0
  45. package/dist/imports.d.ts.map +1 -0
  46. package/dist/imports.js +70 -0
  47. package/dist/imports.js.map +1 -0
  48. package/dist/index.d.ts +17 -7
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +15 -6
  51. package/dist/index.js.map +1 -1
  52. package/dist/localized-text.d.ts +18 -0
  53. package/dist/localized-text.d.ts.map +1 -0
  54. package/dist/localized-text.js +17 -0
  55. package/dist/localized-text.js.map +1 -0
  56. package/dist/manifest.d.ts +730 -0
  57. package/dist/manifest.d.ts.map +1 -1
  58. package/dist/manifest.js +805 -11
  59. package/dist/manifest.js.map +1 -1
  60. package/dist/permissions.d.ts +170 -11
  61. package/dist/permissions.d.ts.map +1 -1
  62. package/dist/permissions.js +210 -2
  63. package/dist/permissions.js.map +1 -1
  64. package/dist/recipients.d.ts +139 -0
  65. package/dist/recipients.d.ts.map +1 -0
  66. package/dist/recipients.js +223 -0
  67. package/dist/recipients.js.map +1 -0
  68. package/dist/records.d.ts +130 -0
  69. package/dist/records.d.ts.map +1 -0
  70. package/dist/records.js +85 -0
  71. package/dist/records.js.map +1 -0
  72. package/dist/require-capability.d.ts +37 -0
  73. package/dist/require-capability.d.ts.map +1 -0
  74. package/dist/require-capability.js +88 -0
  75. package/dist/require-capability.js.map +1 -0
  76. package/dist/settings-schema.d.ts +35 -0
  77. package/dist/settings-schema.d.ts.map +1 -1
  78. package/dist/settings-schema.js +55 -2
  79. package/dist/settings-schema.js.map +1 -1
  80. package/package.json +4 -4
  81. package/src/abort-signal.ts +22 -0
  82. package/src/action-refusal.ts +178 -0
  83. package/src/action-schema.ts +4 -1
  84. package/src/actions.ts +103 -6
  85. package/src/blocks.ts +289 -0
  86. package/src/catalog.ts +500 -57
  87. package/src/entitlements.ts +150 -0
  88. package/src/extensions.ts +212 -0
  89. package/src/finances.ts +317 -0
  90. package/src/findings.ts +92 -0
  91. package/src/host.ts +656 -2
  92. package/src/imports.ts +135 -0
  93. package/src/index.ts +193 -0
  94. package/src/localized-text.ts +19 -0
  95. package/src/manifest.ts +1039 -12
  96. package/src/permissions.ts +223 -3
  97. package/src/recipients.ts +294 -0
  98. package/src/records.ts +172 -0
  99. package/src/require-capability.ts +106 -0
  100. package/src/settings-schema.ts +64 -2
package/dist/host.js CHANGED
@@ -20,6 +20,45 @@ export class PluginPermissionError extends Error {
20
20
  this.name = "PluginPermissionError";
21
21
  }
22
22
  }
23
+ /** Why `host.recipients.fetch` sent nothing, or got no answer. */
24
+ export const PLUGIN_RECIPIENT_ERROR_CODES = [
25
+ /** The manifest declares no recipient by that id. */
26
+ "recipient-not-declared",
27
+ /** The path is not a path on the recipient's origin. */
28
+ "path-refused",
29
+ /** The method, a header, the body or the timeout is not one the host sends. */
30
+ "request-refused",
31
+ /** The disclosure names a category the recipient is not declared to receive. */
32
+ "personal-data-not-declared",
33
+ /** The disclosure names a person the plugin may not send data about. */
34
+ "subject-refused",
35
+ /** The origin's host is not an address this instance may connect to. */
36
+ "address-refused",
37
+ /** The recipient redirected to another origin, or more than five times. */
38
+ "redirect-refused",
39
+ /** No answer: the connection failed or the deadline passed. */
40
+ "unreachable",
41
+ /** The answer's body was longer than 16 MiB. */
42
+ "response-too-large",
43
+ ];
44
+ /**
45
+ * A request to a recipient the host refused or could not complete.
46
+ *
47
+ * The message never repeats the path, a header or the body: a plugin may put
48
+ * a resident's name in any of them, and the error ends up in the log.
49
+ */
50
+ export class PluginRecipientError extends Error {
51
+ pluginId;
52
+ recipient;
53
+ code;
54
+ constructor(pluginId, recipient, code) {
55
+ super(`Plugin "${pluginId}" could not reach its recipient "${recipient}": ${code}.`);
56
+ this.pluginId = pluginId;
57
+ this.recipient = recipient;
58
+ this.code = code;
59
+ this.name = "PluginRecipientError";
60
+ }
61
+ }
23
62
  /**
24
63
  * A host service was used before the application finished starting, or after
25
64
  * the plugin stopped serving.
package/dist/host.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;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;AAoMD;;;;;;;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"}
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;AAskBD,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;AAyND;;;;;;;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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Handing a member list to the board (ADR 0043).
3
+ *
4
+ * A plugin that brings the association's member list in from elsewhere - a
5
+ * file mailed to an address, an export fetched from the economic manager's
6
+ * system - hands it to the core here, and the core holds it as an **import
7
+ * proposal**: an import session on the core's own import screen, marked as
8
+ * proposed by the plugin, which a board member previews, decides and applies,
9
+ * or rejects. The plugin never applies anything, and it learns nothing about
10
+ * what the file would do: each of those is a read of the register, and the
11
+ * permission behind this, addressBook:proposeImport, grants none.
12
+ */
13
+ /** The file a plugin hands over. */
14
+ export interface ImportProposalFile {
15
+ /** Shown to the board beside the proposal. 1 to 255 characters. */
16
+ fileName: string;
17
+ /**
18
+ * The file, CSV or XLSX, which the core parses exactly as it parses an
19
+ * upload, with the same limits. A source that gives JSON is written out as
20
+ * CSV first.
21
+ */
22
+ content: Uint8Array;
23
+ /**
24
+ * Who sent the file, as the source reports it: the address an email came
25
+ * from. Absent for a source that has no sender, such as a fetch from a
26
+ * manager's system. A claim, not a verified identity, and shown to the board
27
+ * as one. At most 320 characters.
28
+ */
29
+ sender?: string;
30
+ }
31
+ export interface ImportProposalReceipt {
32
+ proposalId: string;
33
+ /** Data rows read from the file, below its column titles. */
34
+ rowCount: number;
35
+ /** ISO 8601. When the proposal expires if nobody decides it. */
36
+ expiresAt: string;
37
+ }
38
+ /** Where one of the plugin's own proposals stands. */
39
+ export declare const IMPORT_PROPOSAL_STATES: readonly [
40
+ /** Waiting for the board. */
41
+ "pending",
42
+ /** A board member started the import, and it is being written. */
43
+ "applying", "applied",
44
+ /** The import a board member started stopped before the end. */
45
+ "failed", "rejected",
46
+ /** A newer proposal from the same plugin replaced it. */
47
+ "superseded",
48
+ /** Nobody decided it in time. */
49
+ "expired",
50
+ /** The plugin took it back. */
51
+ "withdrawn",
52
+ /** Not one of this plugin's proposals, or no longer kept. */
53
+ "unknown"];
54
+ export type ImportProposalState = (typeof IMPORT_PROPOSAL_STATES)[number];
55
+ export interface ImportProposalStatus {
56
+ state: ImportProposalState;
57
+ /** ISO 8601. When it reached the state it is in. Null while pending or unknown. */
58
+ decidedAt: string | null;
59
+ }
60
+ /**
61
+ * Why a file was refused. Nothing was stored for it.
62
+ *
63
+ * The reasons an upload is refused for, and four of a proposal's own:
64
+ * `file-unchanged` when the rows are those of the last file from this plugin
65
+ * the board applied or of the one still pending, `sender-too-long`,
66
+ * `sender-invalid` when the sender is neither text nor left out, and
67
+ * `file-name-invalid`. Treat a reason you do not know as a refusal all the
68
+ * same: a later core may add one.
69
+ */
70
+ export declare const IMPORT_PROPOSAL_REFUSAL_REASONS: readonly ["file-name-invalid", "file-empty", "header-row-missing", "file-too-large", "file-unreadable", "file-mixed-encoding", "too-many-rows", "too-many-columns", "cell-too-long", "unterminated-quote", "workbook-too-large", "file-unchanged", "sender-too-long", "sender-invalid"];
71
+ export type ImportProposalRefusalReason = (typeof IMPORT_PROPOSAL_REFUSAL_REASONS)[number];
72
+ /**
73
+ * `host.imports.propose` refused the file. Carries the reason and nothing from
74
+ * the file, so it can be logged as it is.
75
+ */
76
+ export declare class ImportProposalRefusedError extends Error {
77
+ readonly reason: string;
78
+ constructor(reason: string);
79
+ }
80
+ /**
81
+ * Proposing imports. Requires addressBook:proposeImport.
82
+ *
83
+ * A plugin has at most one pending proposal: a new one replaces the one
84
+ * before, which becomes `superseded`. A proposal nobody decides expires after
85
+ * 14 days, and a decided one stays answerable by `status` for 90 days.
86
+ *
87
+ * What the plugin must not keep, which the catalog review checks: the file,
88
+ * or any part of it, is never passed to `host.jobs`, written to the log, the
89
+ * settings, any store the host offers or an error the plugin throws, and the
90
+ * plugin drops its copy once `propose` has answered. The sender likewise.
91
+ */
92
+ export interface PluginImports {
93
+ /**
94
+ * Hands a member list to the core for the board to review. Resolves once the
95
+ * core has parsed the file and stored the proposal, or rejects with
96
+ * ImportProposalRefusedError and stores nothing.
97
+ */
98
+ propose(file: ImportProposalFile): Promise<ImportProposalReceipt>;
99
+ /** Where one of this plugin's own proposals stands. */
100
+ status(proposalId: string): Promise<ImportProposalStatus>;
101
+ /** Withdraws this plugin's pending proposal. True when there was one. */
102
+ withdraw(proposalId: string): Promise<boolean>;
103
+ }
104
+ //# sourceMappingURL=imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../src/imports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,oCAAoC;AACpC,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,OAAO,EAAE,UAAU,CAAC;IACpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,sDAAsD;AACtD,eAAO,MAAM,sBAAsB;AACjC,6BAA6B;AAC7B,SAAS;AACT,kEAAkE;AAClE,UAAU,EACV,SAAS;AACT,gEAAgE;AAChE,QAAQ,EACR,UAAU;AACV,yDAAyD;AACzD,YAAY;AACZ,iCAAiC;AACjC,SAAS;AACT,+BAA+B;AAC/B,WAAW;AACX,6DAA6D;AAC7D,SAAS,CACD,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,mFAAmF;IACnF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,+BAA+B,YAC1C,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,CACR,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAnC,YAAqB,MAAM,EAAE,MAAM,EAGlC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAElE,uDAAuD;IACvD,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE1D,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Handing a member list to the board (ADR 0043).
3
+ *
4
+ * A plugin that brings the association's member list in from elsewhere - a
5
+ * file mailed to an address, an export fetched from the economic manager's
6
+ * system - hands it to the core here, and the core holds it as an **import
7
+ * proposal**: an import session on the core's own import screen, marked as
8
+ * proposed by the plugin, which a board member previews, decides and applies,
9
+ * or rejects. The plugin never applies anything, and it learns nothing about
10
+ * what the file would do: each of those is a read of the register, and the
11
+ * permission behind this, addressBook:proposeImport, grants none.
12
+ */
13
+ /** Where one of the plugin's own proposals stands. */
14
+ export const IMPORT_PROPOSAL_STATES = [
15
+ /** Waiting for the board. */
16
+ "pending",
17
+ /** A board member started the import, and it is being written. */
18
+ "applying",
19
+ "applied",
20
+ /** The import a board member started stopped before the end. */
21
+ "failed",
22
+ "rejected",
23
+ /** A newer proposal from the same plugin replaced it. */
24
+ "superseded",
25
+ /** Nobody decided it in time. */
26
+ "expired",
27
+ /** The plugin took it back. */
28
+ "withdrawn",
29
+ /** Not one of this plugin's proposals, or no longer kept. */
30
+ "unknown",
31
+ ];
32
+ /**
33
+ * Why a file was refused. Nothing was stored for it.
34
+ *
35
+ * The reasons an upload is refused for, and four of a proposal's own:
36
+ * `file-unchanged` when the rows are those of the last file from this plugin
37
+ * the board applied or of the one still pending, `sender-too-long`,
38
+ * `sender-invalid` when the sender is neither text nor left out, and
39
+ * `file-name-invalid`. Treat a reason you do not know as a refusal all the
40
+ * same: a later core may add one.
41
+ */
42
+ export const IMPORT_PROPOSAL_REFUSAL_REASONS = [
43
+ "file-name-invalid",
44
+ "file-empty",
45
+ "header-row-missing",
46
+ "file-too-large",
47
+ "file-unreadable",
48
+ "file-mixed-encoding",
49
+ "too-many-rows",
50
+ "too-many-columns",
51
+ "cell-too-long",
52
+ "unterminated-quote",
53
+ "workbook-too-large",
54
+ "file-unchanged",
55
+ "sender-too-long",
56
+ "sender-invalid",
57
+ ];
58
+ /**
59
+ * `host.imports.propose` refused the file. Carries the reason and nothing from
60
+ * the file, so it can be logged as it is.
61
+ */
62
+ export class ImportProposalRefusedError extends Error {
63
+ reason;
64
+ constructor(reason) {
65
+ super(`The core refused the import proposal: ${reason}.`);
66
+ this.reason = reason;
67
+ this.name = "ImportProposalRefusedError";
68
+ }
69
+ }
70
+ //# sourceMappingURL=imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imports.js","sourceRoot":"","sources":["../src/imports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA6BH,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,6BAA6B;IAC7B,SAAS;IACT,kEAAkE;IAClE,UAAU;IACV,SAAS;IACT,gEAAgE;IAChE,QAAQ;IACR,UAAU;IACV,yDAAyD;IACzD,YAAY;IACZ,iCAAiC;IACjC,SAAS;IACT,+BAA+B;IAC/B,WAAW;IACX,6DAA6D;IAC7D,SAAS;CACD,CAAC;AAUX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,mBAAmB;IACnB,YAAY;IACZ,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,qBAAqB;IACrB,eAAe;IACf,kBAAkB;IAClB,eAAe;IACf,oBAAoB;IACpB,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;CACR,CAAC;AAKX;;;GAGG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAC9B,MAAM;IAA3B,YAAqB,MAAc;QACjC,KAAK,CAAC,yCAAyC,MAAM,GAAG,CAAC,CAAC;sBADvC,MAAM;QAEzB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -7,18 +7,28 @@
7
7
  * be resolvable from inside an installed plugin directory - which is what lets
8
8
  * a plugin ship as a self-contained bundle (ADR 0003).
9
9
  */
10
- export { ACTION_CHANNELS, ACTION_EFFECTS, ACTION_NAME_PATTERN, ACTION_PERSONAL_DATA, ACTION_SURFACES, type ActionChannel, type ActionClient, type ActionContext, type ActionDefinition, type ActionEffect, type ActionErrorSpec, type ActionPersonalData, type ActionPrincipal, type ActionRequest, type ActionSummary, type ActionSurface, type PluginActionFilter, type PluginActionRegistration, type PluginActions, } from "./actions.ts";
10
+ export type { PluginAbortSignal } from "./abort-signal.ts";
11
+ export { ACTION_CHANNELS, ACTION_EFFECTS, ACTION_NAME_PATTERN, ACTION_PERSONAL_DATA, ACTION_SURFACES, type ActionChannel, type ActionClient, type ActionContext, type ActionDefinition, type ActionEffect, type ActionErrorSpec, type ActionPersonalData, type ActionPrincipal, type ActionRequest, type ActionRetry, type ActionSummary, type ActionSurface, type PendingChangeReceipt, type ActionWithSchemas, type PluginActionFilter, type PluginActionRegistration, type PluginActions, } from "./actions.ts";
12
+ export { ACTION_ERROR_MCP, ACTION_ERROR_REASONS, type ActionErrorReason, type ActionRefusal, type ActionRefusalKind, type ActionRefusalTransport, isActionRefusal, } from "./action-refusal.ts";
11
13
  export { actionInputJsonSchema, actionOutputJsonSchema, isHostZodSchema, } from "./action-schema.ts";
12
14
  export { isSupportedApiVersion, PLUGIN_API_VERSION, SUPPORTED_PLUGIN_API_VERSIONS, } from "./api-version.ts";
13
- export { type Catalog, type CatalogArtifact, catalogArtifactSchema, type CatalogEntry, catalogEntrySchema, type CatalogParseResult, type CatalogPluginEntry, catalogPluginEntrySchema, catalogSchema, type CatalogThemeEntry, catalogThemeEntrySchema, type LocalizedText, parseCatalogIndex, } from "./catalog.ts";
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";
14
17
  export { definePlugin } from "./define-plugin.ts";
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
+ 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";
20
+ export { PLUGIN_FINANCE_EVENTS, PluginDeliveryRefusedError, type PluginDeliveryReceipt, type PluginDeliveryReceiptInput, type PluginDeliveryReference, type PluginFeeNotice, type PluginFeeNoticeHolders, type PluginFeeNotification, type PluginFeeNotificationSummary, type PluginFinanceEvent, type PluginFinanceEvents, type PluginFinanceEventType, type PluginFinances, type PluginMemberCharge, type PluginMemberChargeParty, type PluginMemberChargeReason, } from "./finances.ts";
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";
15
22
  export { formatSha512, IntegrityError, parseSha512 } from "./integrity.ts";
16
- export { PLUGIN_FINDING_REASONS, type PluginFindingDetail, type PluginFindingReason, } from "./findings.ts";
17
- export { type PluginAddressBook, type PluginApartment, type PluginHost, PluginHostUnavailableError, type PluginJobs, type PluginLogger, type PluginMail, type PluginMailMessage, type PluginOccupancySummary, PluginPermissionError, type PluginResident, type PluginSettings, type PluginSms, type PluginSmsMessage, } from "./host.ts";
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";
18
25
  export type { PluginModuleFactory } from "./module.ts";
19
- export { assertPluginPackage, composedActionName, CURRENT_PLUGIN_API_VERSION, type ManifestParseResult, type PluginActionDeclaration, pluginActionSchema, pluginActionsSchema, type PluginEntry, pluginEntrySchema, pluginIdSchema, type PluginManifest, pluginManifestSchema, type PluginPackage, pluginPackageSchema, parsePluginPackage, } 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, 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";
20
27
  export { HOST_SHARED_PACKAGES, type PluginPackageContents, pluginPackageProblems, } from "./package-check.ts";
28
+ export { PLUGIN_ROUTE_CAPABILITIES, type PluginRouteCapability, REQUIRED_CAPABILITIES_KEY, RequireCapability, } from "./require-capability.ts";
21
29
  export type { StandardSchemaIssue, StandardSchemaResult, StandardSchemaV1, } from "./standard-schema.ts";
22
- export { isPluginPermission, PLUGIN_PERMISSIONS, PLUGIN_PERSONAL_DATA_CATEGORIES, type PluginPermission, type PluginPersonalDataCategory, } from "./permissions.ts";
23
- export { defaultSettings, type PluginSettingsField, pluginSettingsFieldSchema, type PluginSettingsSchema, pluginSettingsSchema, type PluginSettingsValues, settingsValidator, } from "./settings-schema.ts";
30
+ export { isPluginPermission, PLUGIN_PERMISSIONS, PLUGIN_PERSONAL_DATA_CATEGORIES, type PluginPermission, type PluginPersonalDataCategory, PROPOSE_IMPORT_ONLY_PERSONAL_DATA, PROPOSE_IMPORT_PERSONAL_DATA, } from "./permissions.ts";
31
+ export { canonicalRecipient, type PluginRecipient, pluginRecipientSchema, pluginRecipientsSchema, RECEIVING_HOSTS_MAX_LENGTH, receivingHosts, recipientHost, recipientOriginSchema, recipientsBeyondConsent, sameRecipientDeclaration, } from "./recipients.ts";
32
+ export { type JsonValue, PLUGIN_RECORD_COLLECTION_PATTERN, PLUGIN_RECORD_KEY_PATTERN, PLUGIN_RECORD_LIMITS, type PluginRecord, PluginRecordConflictError, PluginRecordIdentityNumberError, type PluginRecordLimit, PluginRecordLimitError, type PluginRecords, } from "./records.ts";
33
+ export { defaultSettings, type PluginSettingsField, pluginSettingsFieldSchema, type PluginSettingsSchema, pluginSettingsSchema, type PluginSettingsValues, secretValueValidator, settingsValidator, withoutSecretFields, } from "./settings-schema.ts";
24
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,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,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,YAAY,EACjB,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,aAAa,EACb,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,aAAa,EAClB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EACL,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,0BAA0B,EAC1B,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,gBAAgB,GACtB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,WAAW,EAChB,iBAAiB,EACjB,cAAc,EACd,KAAK,cAAc,EACnB,oBAAoB,EACpB,KAAK,aAAa,EAClB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,+BAA+B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,GAChC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,EACf,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,KAAK,oBAAoB,EACzB,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,15 +8,24 @@
8
8
  * a plugin ship as a self-contained bundle (ADR 0003).
9
9
  */
10
10
  export { ACTION_CHANNELS, ACTION_EFFECTS, ACTION_NAME_PATTERN, ACTION_PERSONAL_DATA, ACTION_SURFACES, } from "./actions.js";
11
+ export { ACTION_ERROR_MCP, ACTION_ERROR_REASONS, isActionRefusal, } from "./action-refusal.js";
11
12
  export { actionInputJsonSchema, actionOutputJsonSchema, isHostZodSchema, } from "./action-schema.js";
12
13
  export { isSupportedApiVersion, PLUGIN_API_VERSION, SUPPORTED_PLUGIN_API_VERSIONS, } from "./api-version.js";
13
- export { catalogArtifactSchema, catalogEntrySchema, catalogPluginEntrySchema, catalogSchema, catalogThemeEntrySchema, parseCatalogIndex, } from "./catalog.js";
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";
14
16
  export { definePlugin } from "./define-plugin.js";
17
+ export { createTestEntitlements, ENTITLEMENT_STATUSES, LICENCE_FILE_MAX_BYTES, LICENCE_FORMAT, LICENCE_PRESENTATION_FORMAT, LICENCE_PRESENTATION_MAX_BYTES, undeclaredAudienceError, } from "./entitlements.js";
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";
19
+ export { PLUGIN_FINANCE_EVENTS, PluginDeliveryRefusedError, } from "./finances.js";
20
+ export { IMPORT_PROPOSAL_REFUSAL_REASONS, IMPORT_PROPOSAL_STATES, ImportProposalRefusedError, } from "./imports.js";
15
21
  export { formatSha512, IntegrityError, parseSha512 } from "./integrity.js";
16
- export { PLUGIN_FINDING_REASONS, } from "./findings.js";
17
- export { PluginHostUnavailableError, PluginPermissionError, } from "./host.js";
18
- export { assertPluginPackage, composedActionName, CURRENT_PLUGIN_API_VERSION, pluginActionSchema, pluginActionsSchema, pluginEntrySchema, pluginIdSchema, pluginManifestSchema, pluginPackageSchema, parsePluginPackage, } from "./manifest.js";
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";
19
25
  export { HOST_SHARED_PACKAGES, pluginPackageProblems, } from "./package-check.js";
20
- export { isPluginPermission, PLUGIN_PERMISSIONS, PLUGIN_PERSONAL_DATA_CATEGORIES, } from "./permissions.js";
21
- export { defaultSettings, pluginSettingsFieldSchema, pluginSettingsSchema, settingsValidator, } from "./settings-schema.js";
26
+ export { PLUGIN_ROUTE_CAPABILITIES, REQUIRED_CAPABILITIES_KEY, RequireCapability, } from "./require-capability.js";
27
+ export { isPluginPermission, PLUGIN_PERMISSIONS, PLUGIN_PERSONAL_DATA_CATEGORIES, PROPOSE_IMPORT_ONLY_PERSONAL_DATA, PROPOSE_IMPORT_PERSONAL_DATA, } from "./permissions.js";
28
+ export { canonicalRecipient, pluginRecipientSchema, pluginRecipientsSchema, RECEIVING_HOSTS_MAX_LENGTH, receivingHosts, recipientHost, recipientOriginSchema, recipientsBeyondConsent, sameRecipientDeclaration, } from "./recipients.js";
29
+ export { PLUGIN_RECORD_COLLECTION_PATTERN, PLUGIN_RECORD_KEY_PATTERN, PLUGIN_RECORD_LIMITS, PluginRecordConflictError, PluginRecordIdentityNumberError, PluginRecordLimitError, } from "./records.js";
30
+ export { defaultSettings, pluginSettingsFieldSchema, pluginSettingsSchema, secretValueValidator, settingsValidator, withoutSecretFields, } from "./settings-schema.js";
22
31
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,GAehB,MAAM,cAAc,CAAC;AACtB,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,EAGL,qBAAqB,EAErB,kBAAkB,EAGlB,wBAAwB,EACxB,aAAa,EAEb,uBAAuB,EAEvB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EACL,sBAAsB,GAGvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAIL,0BAA0B,EAM1B,qBAAqB,GAKtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAG1B,kBAAkB,EAClB,mBAAmB,EAEnB,iBAAiB,EACjB,cAAc,EAEd,oBAAoB,EAEpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,oBAAoB,EAEpB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,+BAA+B,GAGhC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,EAEf,yBAAyB,EAEzB,oBAAoB,EAEpB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Text written in both languages the interface is offered in.
4
+ *
5
+ * For what the board reads before anything has been downloaded: the catalog's
6
+ * own name and description of an entry, and the parts of a declaration the
7
+ * consent screen shows, such as a recipient's purpose. A plugin's locale files
8
+ * reach the instance with its package, so a key into them would have no words
9
+ * behind it on the screen that decides whether the package is fetched.
10
+ *
11
+ * Strict, so a misspelled language is refused rather than dropped.
12
+ */
13
+ export declare const localizedTextSchema: z.ZodObject<{
14
+ sv: z.ZodString;
15
+ en: z.ZodString;
16
+ }, z.core.$strict>;
17
+ export type LocalizedText = z.infer<typeof localizedTextSchema>;
18
+ //# sourceMappingURL=localized-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localized-text.d.ts","sourceRoot":"","sources":["../src/localized-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB;;;kBAG9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Text written in both languages the interface is offered in.
4
+ *
5
+ * For what the board reads before anything has been downloaded: the catalog's
6
+ * own name and description of an entry, and the parts of a declaration the
7
+ * consent screen shows, such as a recipient's purpose. A plugin's locale files
8
+ * reach the instance with its package, so a key into them would have no words
9
+ * behind it on the screen that decides whether the package is fetched.
10
+ *
11
+ * Strict, so a misspelled language is refused rather than dropped.
12
+ */
13
+ export const localizedTextSchema = z.strictObject({
14
+ sv: z.string().min(1).max(500),
15
+ en: z.string().min(1).max(500),
16
+ });
17
+ //# sourceMappingURL=localized-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localized-text.js","sourceRoot":"","sources":["../src/localized-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC9B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CAC/B,CAAC,CAAC"}