@adminiumjs/manifest 0.3.27 → 0.3.29

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 (83) hide show
  1. package/dist/app-grants.d.ts +134 -0
  2. package/dist/app-grants.d.ts.map +1 -0
  3. package/dist/app-grants.js +263 -0
  4. package/dist/app-grants.js.map +1 -0
  5. package/dist/automations.d.ts +2255 -58
  6. package/dist/automations.d.ts.map +1 -1
  7. package/dist/automations.js +450 -25
  8. package/dist/automations.js.map +1 -1
  9. package/dist/compose.d.ts.map +1 -1
  10. package/dist/compose.js +3 -0
  11. package/dist/compose.js.map +1 -1
  12. package/dist/documents.d.ts +1 -0
  13. package/dist/documents.d.ts.map +1 -1
  14. package/dist/documents.js +2 -0
  15. package/dist/documents.js.map +1 -1
  16. package/dist/index.d.ts +11 -5
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +10 -4
  19. package/dist/index.js.map +1 -1
  20. package/dist/ledgers.d.ts.map +1 -1
  21. package/dist/ledgers.js +2 -0
  22. package/dist/ledgers.js.map +1 -1
  23. package/dist/modules.d.ts +93 -0
  24. package/dist/modules.d.ts.map +1 -0
  25. package/dist/modules.js +489 -0
  26. package/dist/modules.js.map +1 -0
  27. package/dist/occupies.d.ts +50 -0
  28. package/dist/occupies.d.ts.map +1 -0
  29. package/dist/occupies.js +123 -0
  30. package/dist/occupies.js.map +1 -0
  31. package/dist/outbox.d.ts +223 -17
  32. package/dist/outbox.d.ts.map +1 -1
  33. package/dist/outbox.js +125 -13
  34. package/dist/outbox.js.map +1 -1
  35. package/dist/page-board.d.ts +144 -0
  36. package/dist/page-board.d.ts.map +1 -0
  37. package/dist/page-board.js +280 -0
  38. package/dist/page-board.js.map +1 -0
  39. package/dist/plan-context.d.ts.map +1 -1
  40. package/dist/plan-context.js +3 -0
  41. package/dist/plan-context.js.map +1 -1
  42. package/dist/plan-model.d.ts +7 -0
  43. package/dist/plan-model.d.ts.map +1 -1
  44. package/dist/public-access.d.ts +6 -0
  45. package/dist/public-access.d.ts.map +1 -1
  46. package/dist/public-access.js +75 -1
  47. package/dist/public-access.js.map +1 -1
  48. package/dist/rail.d.ts +50 -0
  49. package/dist/rail.d.ts.map +1 -0
  50. package/dist/rail.js +122 -0
  51. package/dist/rail.js.map +1 -0
  52. package/dist/roles.d.ts +647 -1
  53. package/dist/roles.d.ts.map +1 -1
  54. package/dist/roles.js +459 -3
  55. package/dist/roles.js.map +1 -1
  56. package/dist/sample.d.ts +62 -0
  57. package/dist/sample.d.ts.map +1 -1
  58. package/dist/sample.js +203 -4
  59. package/dist/sample.js.map +1 -1
  60. package/dist/schema.d.ts +4349 -169
  61. package/dist/schema.d.ts.map +1 -1
  62. package/dist/schema.js +540 -41
  63. package/dist/schema.js.map +1 -1
  64. package/dist/shapes.d.ts +3 -2
  65. package/dist/shapes.d.ts.map +1 -1
  66. package/dist/shapes.js +76 -7
  67. package/dist/shapes.js.map +1 -1
  68. package/dist/state-actions.d.ts +4 -0
  69. package/dist/state-actions.d.ts.map +1 -1
  70. package/dist/state-actions.js +7 -0
  71. package/dist/state-actions.js.map +1 -1
  72. package/dist/states.d.ts +20 -1
  73. package/dist/states.d.ts.map +1 -1
  74. package/dist/states.js +47 -5
  75. package/dist/states.js.map +1 -1
  76. package/dist/validate.d.ts.map +1 -1
  77. package/dist/validate.js +110 -3
  78. package/dist/validate.js.map +1 -1
  79. package/dist/words.d.ts +1 -1
  80. package/dist/words.d.ts.map +1 -1
  81. package/dist/words.js +332 -1
  82. package/dist/words.js.map +1 -1
  83. package/package.json +2 -2
package/dist/words.js CHANGED
@@ -63,12 +63,17 @@ export const INSTALL_FLOOR_WORD_NAMES = [
63
63
  'column.codeLast4',
64
64
  'code.givenByLedger',
65
65
  'rollup.capUnless',
66
+ 'rollup.latest',
66
67
  'roles.tables',
67
68
  'roles.writableFrom',
68
69
  'toolbar.links',
69
70
  'config.tabs',
70
71
  'config.bulk',
71
72
  'sampleData.addOns',
73
+ 'sampleData.people',
74
+ 'app.seeds',
75
+ 'table.occupies',
76
+ 'sequence.sample',
72
77
  'email.onlyWith',
73
78
  'email.onlyWithout',
74
79
  'outbox.pages.app',
@@ -81,6 +86,55 @@ export const INSTALL_FLOOR_WORD_NAMES = [
81
86
  'email.showWhen',
82
87
  'placeholder.backup',
83
88
  'frontend.mobile',
89
+ 'column.staff',
90
+ 'table.belongs',
91
+ 'table.private',
92
+ 'table.appGrants',
93
+ 'roles.rows',
94
+ 'rows.several',
95
+ 'listing.while',
96
+ 'states.handOver',
97
+ 'app.modules',
98
+ 'roles.names',
99
+ 'app.maps',
100
+ 'automations.staffRecipient',
101
+ 'automations.perSpell',
102
+ 'automations.urgent',
103
+ 'automations.digest',
104
+ 'digest.reach',
105
+ 'digest.sum',
106
+ 'digest.by',
107
+ 'digest.target',
108
+ 'automations.stepName',
109
+ 'automations.many',
110
+ 'automations.replyTo',
111
+ 'automations.lead',
112
+ 'automations.listed',
113
+ 'automations.staffName',
114
+ 'automations.recordUrl',
115
+ 'automations.was',
116
+ 'automations.settingAmount',
117
+ 'automations.settingValue',
118
+ 'automations.daysAfter',
119
+ 'automations.settingElse',
120
+ 'outbox.replyTo',
121
+ 'outbox.onDelete',
122
+ 'column.mentions',
123
+ 'column.place',
124
+ 'column.area',
125
+ 'column.linkable',
126
+ 'linkable.same',
127
+ 'column.file',
128
+ 'config.board',
129
+ 'states.notPast',
130
+ 'publicAccess.requiresWhen',
131
+ 'frontend.records',
132
+ 'nav.offRail',
133
+ 'navLinks',
134
+ 'outbox.staffName',
135
+ 'card.module',
136
+ 'card.columnLabels',
137
+ 'link.staffPath',
84
138
  ];
85
139
  /**
86
140
  * The words that came after the install floor, each with the first Adminium
@@ -101,6 +155,100 @@ export const WORD_FLOORS = {
101
155
  'placeholder.backup': '0.3.22',
102
156
  // An app with a phone side: the side `mobile`, kind `expo`.
103
157
  'frontend.mobile': '0.3.26',
158
+ // Whose a row is: a column that holds a staff member, the ways people belong to a table's rows,
159
+ // a table read by those people alone, and a role whose read, update or delete reaches only some rows.
160
+ 'column.staff': '0.3.28',
161
+ 'table.belongs': '0.3.28',
162
+ 'table.private': '0.3.28',
163
+ // What an app's role may be given of an add-on's table: the add-on's ceiling, cut to at every grant.
164
+ 'table.appGrants': '0.3.28',
165
+ 'roles.rows': '0.3.28',
166
+ // An action that names several reaches, any one enough (every won deal, or an open one the person is listed on);
167
+ // a listing that counts only while a column of it holds some values, or is empty.
168
+ 'rows.several': '0.3.28',
169
+ 'listing.while': '0.3.28',
170
+ // A record's button that hands the row to anybody: the one write a role limited to its own rows names a colleague in.
171
+ 'states.handOver': '0.3.28',
172
+ // A total that is the newest child row's value, not a sum or a count (a deal's amount from its last sent quote).
173
+ 'rollup.latest': '0.3.28',
174
+ // Sample data that brings its own people and teams, and rows that name them.
175
+ 'sampleData.people': '0.3.28',
176
+ // An app's starting rows: written once by its install, into tables that are still empty.
177
+ 'app.seeds': '0.3.28',
178
+ // A row takes a resource for a time: no two overlap, within the resource's hours.
179
+ 'table.occupies': '0.3.28',
180
+ // A running number the app's sample rows may take: the next real row follows them.
181
+ 'sequence.sample': '0.3.28',
182
+ // The parts of an app its owner switches on and off, and everything that names one.
183
+ 'app.modules': '0.3.28',
184
+ // A role's name in other languages.
185
+ 'roles.names': '0.3.28',
186
+ // The app shows maps: its install asks whether they are shown.
187
+ 'app.maps': '0.3.28',
188
+ // A rule that tells the person a staff column of its record names.
189
+ 'automations.staffRecipient': '0.3.28',
190
+ // A row visited once for each spell it matches.
191
+ 'automations.perSpell': '0.3.28',
192
+ // A notice told at once, also in a person's quiet hours.
193
+ 'automations.urgent': '0.3.28',
194
+ // A summary for each person, of the rows that are theirs.
195
+ 'automations.digest': '0.3.28',
196
+ // A section of a summary: the rows of the people its reader leads, a column added up, a line a person, a sum against a target.
197
+ 'digest.reach': '0.3.28',
198
+ 'digest.sum': '0.3.28',
199
+ 'digest.by': '0.3.28',
200
+ 'digest.target': '0.3.28',
201
+ // A row a step makes, read by a later step.
202
+ 'automations.stepName': '0.3.28',
203
+ // More rules than a manifest could ship before (twelve).
204
+ 'automations.many': '0.3.28',
205
+ // A reply that goes to the person a staff column of the row names: a rule's email, an outbox producer's message.
206
+ 'automations.replyTo': '0.3.28',
207
+ // A notice to whoever leads a team the person a staff column names is in, and to roles when there is nobody.
208
+ 'automations.lead': '0.3.28',
209
+ // A notice or an e-mail to the people a table lists against the record, of them only who can open it when it goes.
210
+ 'automations.listed': '0.3.28',
211
+ // A rule's text or its e-mail naming the person a staff column names; a rule's e-mail to a person carrying the record's address.
212
+ 'automations.staffName': '0.3.28',
213
+ 'automations.recordUrl': '0.3.28',
214
+ // A rule run by a change reads its record as it was before it.
215
+ 'automations.was': '0.3.28',
216
+ // An amount of time a condition reads from a column of the app's settings row.
217
+ 'automations.settingAmount': '0.3.28',
218
+ // A value a step writes read from a column of the app's settings row; a day so many days after a date of the record, or after now.
219
+ 'automations.settingValue': '0.3.28',
220
+ 'automations.daysAfter': '0.3.28',
221
+ 'automations.settingElse': '0.3.29',
222
+ 'outbox.replyTo': '0.3.28',
223
+ 'outbox.onDelete': '0.3.28',
224
+ // A text column in which people are mentioned.
225
+ 'column.mentions': '0.3.28',
226
+ // A json column that holds a position on the map, read and checked on every write; one that holds an area.
227
+ 'column.place': '0.3.28',
228
+ 'column.area': '0.3.28',
229
+ // A foreign key that may name only a row meeting some conditions (a price-list line still offered).
230
+ 'column.linkable': '0.3.28',
231
+ // Such a link whose named row must hold what the row written holds (a visit's contact of the visit's deal's company).
232
+ 'linkable.same': '0.3.28',
233
+ // A column that holds files a signed-in person uploaded for it: their kinds, their size, how many.
234
+ 'column.file': '0.3.28',
235
+ // A board whose columns an app names: the rows of a table, or the values of an enum it picks.
236
+ 'config.board': '0.3.28',
237
+ // A move refused once a date of its row has passed, for every writer.
238
+ 'states.notPast': '0.3.28',
239
+ // A column a public write must fill only with some values of another, and may write at no other time.
240
+ 'publicAccess.requiresWhen': '0.3.28',
241
+ // Where a table's record opens on the app's own staff side: read by notices, their e-mails and search.
242
+ 'frontend.records': '0.3.28',
243
+ // A page kept off the sidebar, and an entry of the app's section that is not a page.
244
+ 'nav.offRail': '0.3.28',
245
+ 'navLinks': '0.3.28',
246
+ // An app's e-mail that names the person a staff column names (`{{visit.rep_id.name}}`): a release before fails the message.
247
+ 'outbox.staffName': '0.3.28',
248
+ // A dashboard card of a part of the app, its column headings in the reader's language, and a link to one screen of the staff side.
249
+ 'card.module': '0.3.28',
250
+ 'card.columnLabels': '0.3.28',
251
+ 'link.staffPath': '0.3.28',
104
252
  };
105
253
  /** Every word of `document` that needs the install floor, in document order. */
106
254
  export function installFloorWords(document) {
@@ -150,11 +298,28 @@ export function installFloorWords(document) {
150
298
  out.push({ word: 'automations', path: 'automations' });
151
299
  if (isDoc(document['sampleData']) && document['sampleData']['addOns'] !== undefined)
152
300
  out.push({ word: 'sampleData.addOns', path: 'sampleData.addOns' });
301
+ for (const key of ['people', 'teams']) {
302
+ if (isDoc(document['sampleData']) && document['sampleData'][key] !== undefined)
303
+ out.push({ word: 'sampleData.people', path: `sampleData.${key}` });
304
+ }
305
+ if (document['modules'] !== undefined)
306
+ out.push({ word: 'app.modules', path: 'modules' });
307
+ if (document['maps'] !== undefined)
308
+ out.push({ word: 'app.maps', path: 'maps' });
309
+ // Starting rows: a release before the floor takes the block and writes none of it.
310
+ if (document['seeds'] !== undefined)
311
+ out.push({ word: 'app.seeds', path: 'seeds' });
153
312
  // A phone side: a server that does not know the side refuses the whole manifest.
154
313
  list(document['frontends']).forEach((frontend, f) => {
155
314
  if (isDoc(frontend) && frontend['side'] === 'mobile')
156
315
  out.push({ word: 'frontend.mobile', path: `frontends.${String(f)}.side` });
316
+ // Where a record opens on the side: a release before the floor refuses the key.
317
+ if (isDoc(frontend) && frontend['records'] !== undefined)
318
+ out.push({ word: 'frontend.records', path: `frontends.${String(f)}.records` });
157
319
  });
320
+ // An entry of the app's section that is not a page.
321
+ if (document['navLinks'] !== undefined)
322
+ out.push({ word: 'navLinks', path: 'navLinks' });
158
323
  }
159
324
  list(schema['tables']).forEach((table, t) => {
160
325
  if (!isDoc(table))
@@ -166,13 +331,31 @@ export function installFloorWords(document) {
166
331
  out.push({ word: 'table.postings', path: `${at}.postings` });
167
332
  if (table['adjust'] !== undefined)
168
333
  out.push({ word: 'table.adjust', path: `${at}.adjust` });
334
+ if (table['belongs'] !== undefined)
335
+ out.push({ word: 'table.belongs', path: `${at}.belongs` });
336
+ list(table['belongs']).forEach((way, w) => {
337
+ if (isDoc(way) && isDoc(way['through']) && way['through']['while'] !== undefined)
338
+ out.push({ word: 'listing.while', path: `${at}.belongs.${String(w)}.through.while` });
339
+ });
340
+ if (table['private'] !== undefined)
341
+ out.push({ word: 'table.private', path: `${at}.private` });
342
+ if (table['appGrants'] !== undefined)
343
+ out.push({ word: 'table.appGrants', path: `${at}.appGrants` });
344
+ if (table['occupies'] !== undefined)
345
+ out.push({ word: 'table.occupies', path: `${at}.occupies` });
169
346
  if (isDoc(table['states']) && table['states']['actions'] !== undefined)
170
347
  out.push({ word: 'states.actions', path: `${at}.states.actions` });
348
+ list(isDoc(table['states']) ? table['states']['actions'] : undefined).forEach((action, a) => {
349
+ if (isDoc(action) && action['handOver'] !== undefined)
350
+ out.push({ word: 'states.handOver', path: `${at}.states.actions.${String(a)}.handOver` });
351
+ });
171
352
  if (isDoc(table['states'])) {
172
353
  for (const [from, moves] of Object.entries(isDoc(table['states']['moves']) ? table['states']['moves'] : {})) {
173
354
  list(moves).forEach((move, m) => {
174
355
  if (isDoc(move) && move['planned'] === true)
175
356
  out.push({ word: 'states.planned', path: `${at}.states.moves.${from}.${String(m)}.planned` });
357
+ if (isDoc(move) && isDoc(move['requires']) && move['requires']['notPast'] !== undefined)
358
+ out.push({ word: 'states.notPast', path: `${at}.states.moves.${from}.${String(m)}.requires.notPast` });
176
359
  });
177
360
  }
178
361
  }
@@ -188,6 +371,20 @@ export function installFloorWords(document) {
188
371
  out.push({ word: 'column.addOnLink.default', path: `${here}.default` });
189
372
  if (rules['tableRef'] !== undefined)
190
373
  out.push({ word: 'column.tableRef', path: `${here}.tableRef` });
374
+ if (rules['staff'] !== undefined)
375
+ out.push({ word: 'column.staff', path: `${here}.staff` });
376
+ if (rules['mentions'] !== undefined)
377
+ out.push({ word: 'column.mentions', path: `${here}.mentions` });
378
+ if (rules['place'] !== undefined)
379
+ out.push({ word: 'column.place', path: `${here}.place` });
380
+ if (rules['area'] !== undefined)
381
+ out.push({ word: 'column.area', path: `${here}.area` });
382
+ if (rules['linkable'] !== undefined)
383
+ out.push({ word: 'column.linkable', path: `${here}.linkable` });
384
+ if (isDoc(rules['linkable']) && rules['linkable']['same'] !== undefined)
385
+ out.push({ word: 'linkable.same', path: `${here}.linkable.same` });
386
+ if (rules['file'] !== undefined)
387
+ out.push({ word: 'column.file', path: `${here}.file` });
191
388
  for (const key of ['announce', 'plainText', 'customerKey', 'codeLast4']) {
192
389
  if (rules[key] !== undefined)
193
390
  out.push({ word: `column.${key}`, path: `${here}.${key}` });
@@ -196,6 +393,10 @@ export function installFloorWords(document) {
196
393
  out.push({ word: 'code.givenByLedger', path: `${here}.code.givenByLedger` });
197
394
  if (isDoc(rules['rollup']) && rules['rollup']['capUnless'] !== undefined)
198
395
  out.push({ word: 'rollup.capUnless', path: `${here}.rollup.capUnless` });
396
+ if (isDoc(rules['sequence']) && rules['sequence']['sample'] !== undefined)
397
+ out.push({ word: 'sequence.sample', path: `${here}.sequence.sample` });
398
+ if (isDoc(rules['rollup']) && rules['rollup']['latest'] !== undefined)
399
+ out.push({ word: 'rollup.latest', path: `${here}.rollup.latest` });
199
400
  if (isDoc(rules['lookup']) && isDoc(rules['lookup']['table']))
200
401
  out.push({ word: 'column.addOnLink', path: `${here}.lookup.table` });
201
402
  });
@@ -205,21 +406,40 @@ export function installFloorWords(document) {
205
406
  return;
206
407
  if (role['tables'] !== undefined)
207
408
  out.push({ word: 'roles.tables', path: `roles.${String(r)}.tables` });
409
+ if (role['names'] !== undefined)
410
+ out.push({ word: 'roles.names', path: `roles.${String(r)}.names` });
208
411
  // An update that reaches a row only while one of its columns holds some value.
209
412
  for (const [ref, limit] of Object.entries(isDoc(role['limits']) ? role['limits'] : {})) {
210
413
  if (isDoc(limit) && limit['writableFrom'] !== undefined)
211
414
  out.push({ word: 'roles.writableFrom', path: `roles.${String(r)}.limits.${ref}.writableFrom` });
415
+ // A read, an update or a delete that reaches only some rows.
416
+ if (isDoc(limit) && limit['rows'] !== undefined)
417
+ out.push({ word: 'roles.rows', path: `roles.${String(r)}.limits.${ref}.rows` });
418
+ for (const [action, reach] of Object.entries(isDoc(limit) && isDoc(limit['rows']) ? limit['rows'] : {})) {
419
+ if (Array.isArray(reach))
420
+ out.push({ word: 'rows.several', path: `roles.${String(r)}.limits.${ref}.rows.${action}` });
421
+ }
212
422
  }
213
423
  list(role['tables']).forEach((grant, g) => {
214
424
  if (isDoc(grant) && isDoc(grant['limit']) && grant['limit']['writableFrom'] !== undefined) {
215
425
  out.push({ word: 'roles.writableFrom', path: `roles.${String(r)}.tables.${String(g)}.limit.writableFrom` });
216
426
  }
427
+ if (isDoc(grant) && isDoc(grant['limit']) && grant['limit']['rows'] !== undefined) {
428
+ out.push({ word: 'roles.rows', path: `roles.${String(r)}.tables.${String(g)}.limit.rows` });
429
+ for (const [action, reach] of Object.entries(isDoc(grant['limit']['rows']) ? grant['limit']['rows'] : {})) {
430
+ if (Array.isArray(reach))
431
+ out.push({ word: 'rows.several', path: `roles.${String(r)}.tables.${String(g)}.limit.rows.${action}` });
432
+ }
433
+ }
217
434
  });
218
435
  });
219
- // A dashboard's second toolbar link, a ranking's named pair, a record page's tab words, a list's bulk action.
436
+ // A dashboard's second toolbar link, a ranking's named pair, a record page's tab words, a list's bulk action, a board's columns.
220
437
  list(document['pages']).forEach((page, p) => {
221
438
  const config = isDoc(page) && isDoc(page['config']) ? page['config'] : {};
222
439
  const here = `pages.${String(p)}.config`;
440
+ // A page kept off the sidebar.
441
+ if (isDoc(page) && isDoc(page['nav']) && page['nav']['offRail'] !== undefined)
442
+ out.push({ word: 'nav.offRail', path: `pages.${String(p)}.nav.offRail` });
223
443
  const toolbar = isDoc(config['layout']) && isDoc(config['layout']['toolbar']) ? config['layout']['toolbar'] : {};
224
444
  if (toolbar['links'] !== undefined)
225
445
  out.push({ word: 'toolbar.links', path: `${here}.layout.toolbar.links` });
@@ -227,11 +447,42 @@ export function installFloorWords(document) {
227
447
  out.push({ word: 'config.tabs', path: `${here}.tabs` });
228
448
  if (config['bulk'] !== undefined)
229
449
  out.push({ word: 'config.bulk', path: `${here}.bulk` });
450
+ if (config['board'] !== undefined)
451
+ out.push({ word: 'config.board', path: `${here}.board` });
452
+ // A link to one screen of the app's staff side (`@staff/approvals`): on the toolbar, or a card's.
453
+ const staffPath = (href) => typeof href === 'string' && href.startsWith('@staff/');
454
+ if (staffPath(isDoc(toolbar['link']) ? toolbar['link']['href'] : undefined))
455
+ out.push({ word: 'link.staffPath', path: `${here}.layout.toolbar.link.href` });
456
+ list(toolbar['links']).forEach((link, l) => {
457
+ if (isDoc(link) && staffPath(link['href']))
458
+ out.push({ word: 'link.staffPath', path: `${here}.layout.toolbar.links.${String(l)}.href` });
459
+ });
460
+ list(isDoc(config['layout']) ? config['layout']['items'] : undefined).forEach((item, i) => {
461
+ if (!isDoc(item))
462
+ return;
463
+ const at = `${here}.layout.items.${String(i)}`;
464
+ if (item['module'] !== undefined)
465
+ out.push({ word: 'card.module', path: `${at}.module` });
466
+ const card = isDoc(item['config']) ? item['config'] : {};
467
+ if (staffPath(card['href']))
468
+ out.push({ word: 'link.staffPath', path: `${at}.config.href` });
469
+ list(card['columns']).forEach((column, c) => {
470
+ if (isDoc(column) && column['labels'] !== undefined)
471
+ out.push({ word: 'card.columnLabels', path: `${at}.config.columns.${String(c)}.labels` });
472
+ });
473
+ });
230
474
  });
231
475
  // An email block sent only with, or without, a variable; an add-on's links into its app; rows found by a table-and-row pair.
232
476
  const outbox = isDoc(document['outbox']) ? document['outbox'] : {};
233
477
  if (isDoc(outbox['pages']) && outbox['pages']['app'] !== undefined)
234
478
  out.push({ word: 'outbox.pages.app', path: 'outbox.pages.app' });
479
+ list(outbox['producers']).forEach((producer, p) => {
480
+ if (isDoc(producer) && producer['replyTo'] !== undefined)
481
+ out.push({ word: 'outbox.replyTo', path: `outbox.producers.${String(p)}.replyTo` });
482
+ // A message about a row that was removed.
483
+ if (isDoc(producer) && producer['onDelete'] !== undefined)
484
+ out.push({ word: 'outbox.onDelete', path: `outbox.producers.${String(p)}.onDelete` });
485
+ });
235
486
  list(document['emailTemplates']).forEach((template, t) => {
236
487
  for (const [locale, content] of Object.entries(isDoc(template) && isDoc(template['locales']) ? template['locales'] : {})) {
237
488
  list(isDoc(content) ? content['blocks'] : undefined).forEach((block, b) => {
@@ -254,6 +505,28 @@ export function installFloorWords(document) {
254
505
  out.push({ word: 'placeholder.backup', path: `${part}.${String(e)}` });
255
506
  });
256
507
  }
508
+ // The staff columns of the manifest's tables, by name, and the templates each rule's e-mails send.
509
+ const staffRefs = new Set(list(isDoc(document['requiredSchema']) ? document['requiredSchema']['tables'] : undefined).flatMap((table) => list(isDoc(table) ? table['columns'] : undefined).flatMap((column) => (isDoc(column) && isDoc(column['rules']) && column['rules']['staff'] === true && typeof column['ref'] === 'string' ? [column['ref']] : []))));
510
+ const ruleTemplates = (rule) => {
511
+ const out = [];
512
+ const walk = (nodes) => {
513
+ for (const node of list(nodes)) {
514
+ if (!isDoc(node))
515
+ continue;
516
+ if (isDoc(node['action']) && node['action']['kind'] === 'email' && typeof node['action']['templateKey'] === 'string')
517
+ out.push(node['action']['templateKey']);
518
+ for (const branch of list(node['branches']))
519
+ walk(isDoc(branch) ? branch['nodes'] : undefined);
520
+ }
521
+ };
522
+ walk(isDoc(rule) && isDoc(rule['graph']) ? rule['graph']['nodes'] : undefined);
523
+ return out;
524
+ };
525
+ /** Whether a rule holds an amount of time read from a setting, anywhere in it. */
526
+ const holdsSettingAmount = (value) => Array.isArray(value) ? value.some(holdsSettingAmount) : isDoc(value) && ((value['amount'] !== undefined && value['unit'] !== undefined && value['setting'] !== undefined) || Object.values(value).some(holdsSettingAmount));
527
+ // More rules than a manifest could ship before.
528
+ if (list(document['automations']).length > 12)
529
+ out.push({ word: 'automations.many', path: 'automations' });
257
530
  // A rule that uses a step an add-on gives.
258
531
  list(document['automations']).forEach((rule, r) => {
259
532
  const steps = (nodes, at) => {
@@ -262,10 +535,66 @@ export function installFloorWords(document) {
262
535
  return;
263
536
  if (isDoc(node['action']) && node['action']['kind'] === 'add-on.step')
264
537
  out.push({ word: 'automations.addOnStep', path: `${at}.${String(n)}.action` });
538
+ const action = isDoc(node['action']) ? node['action'] : {};
539
+ const to = isDoc(action['to']) ? action['to'] : {};
540
+ if ((action['kind'] === 'notification' && to['column'] !== undefined) || (action['kind'] === 'email' && to['kind'] === 'staff'))
541
+ out.push({ word: 'automations.staffRecipient', path: `${at}.${String(n)}.action.to` });
542
+ if (action['kind'] === 'email' && action['replyTo'] !== undefined)
543
+ out.push({ word: 'automations.replyTo', path: `${at}.${String(n)}.action.replyTo` });
544
+ if (action['kind'] === 'notification' && (to['lead'] !== undefined || to['else'] !== undefined))
545
+ out.push({ word: 'automations.lead', path: `${at}.${String(n)}.action.to` });
546
+ if ((action['kind'] === 'notification' && to['listed'] !== undefined) || (action['kind'] === 'email' && to['kind'] === 'listed'))
547
+ out.push({ word: 'automations.listed', path: `${at}.${String(n)}.action.to` });
548
+ if (action['urgent'] !== undefined)
549
+ out.push({ word: 'automations.urgent', path: `${at}.${String(n)}.action.urgent` });
550
+ if (action['kind'] === 'digest')
551
+ out.push({ word: 'automations.digest', path: `${at}.${String(n)}.action` });
552
+ if (action['kind'] === 'digest') {
553
+ list(action['sections']).forEach((section, s) => {
554
+ for (const key of ['reach', 'sum', 'by', 'target']) {
555
+ if (isDoc(section) && section[key] !== undefined)
556
+ out.push({ word: `digest.${key}`, path: `${at}.${String(n)}.action.sections.${String(s)}.${key}` });
557
+ }
558
+ });
559
+ }
560
+ if (action['kind'] === 'record.create' && action['name'] !== undefined)
561
+ out.push({ word: 'automations.stepName', path: `${at}.${String(n)}.action.name` });
562
+ // A value read from the settings row, a day so many days on.
563
+ for (const [ref, value] of Object.entries(isDoc(action['values']) ? action['values'] : {})) {
564
+ if (isDoc(value) && value['setting'] !== undefined)
565
+ out.push({ word: 'automations.settingValue', path: `${at}.${String(n)}.action.values.${ref}` });
566
+ if (isDoc(value) && value['setting'] !== undefined && value['else'] !== undefined)
567
+ out.push({ word: 'automations.settingElse', path: `${at}.${String(n)}.action.values.${ref}` });
568
+ if (isDoc(value) && value['daysAfter'] !== undefined)
569
+ out.push({ word: 'automations.daysAfter', path: `${at}.${String(n)}.action.values.${ref}` });
570
+ }
265
571
  list(node['branches']).forEach((branch, b) => steps(isDoc(branch) ? branch['nodes'] : undefined, `${at}.${String(n)}.branches.${String(b)}.nodes`));
266
572
  });
267
573
  };
268
574
  steps(isDoc(rule) && isDoc(rule['graph']) ? rule['graph']['nodes'] : undefined, `automations.${String(r)}.graph.nodes`);
575
+ // What a rule reads in its own texts and in the templates its e-mails send: a person's name by a staff column, the record's address.
576
+ const read = [JSON.stringify(rule ?? null), ...ruleTemplates(rule).map((key) => JSON.stringify(list(document['emailTemplates']).find((template) => isDoc(template) && template['key'] === key) ?? null))];
577
+ const names = read.flatMap((text) => placeholdersIn(text).map((placeholder) => placeholder.name));
578
+ if (names.some((name) => name.endsWith('.name') && staffRefs.has(name.split('.').at(-2) ?? '')))
579
+ out.push({ word: 'automations.staffName', path: `automations.${String(r)}` });
580
+ if (names.includes('recordUrl'))
581
+ out.push({ word: 'automations.recordUrl', path: `automations.${String(r)}` });
582
+ if (names.some((name) => name.startsWith('was.')))
583
+ out.push({ word: 'automations.was', path: `automations.${String(r)}` });
584
+ if (holdsSettingAmount(rule))
585
+ out.push({ word: 'automations.settingAmount', path: `automations.${String(r)}` });
586
+ const forEach = isDoc(rule) && isDoc(rule['trigger']) && isDoc(rule['trigger']['forEach']) ? rule['trigger']['forEach'] : {};
587
+ if (forEach['once'] === 'per-spell')
588
+ out.push({ word: 'automations.perSpell', path: `automations.${String(r)}.trigger.forEach.once` });
589
+ });
590
+ // An app's e-mail that names the person a staff column names: a template the outbox sends reading `<…>.<staff column>.name`.
591
+ const outboxTemplates = new Set(Object.values(isDoc(outbox['kinds']) ? outbox['kinds'] : {}).filter((key) => typeof key === 'string'));
592
+ list(document['emailTemplates']).forEach((template, t) => {
593
+ if (!isDoc(template) || typeof template['key'] !== 'string' || !outboxTemplates.has(template['key']))
594
+ return;
595
+ const names = placeholdersIn(JSON.stringify(template)).map((placeholder) => placeholder.name);
596
+ if (names.some((name) => name.endsWith('.name') && name.split('.').length >= 3 && staffRefs.has(name.split('.').at(-2) ?? '')))
597
+ out.push({ word: 'outbox.staffName', path: `emailTemplates.${String(t)}` });
269
598
  });
270
599
  list(document['documents']).forEach((entry, d) => {
271
600
  for (const [slot, source] of Object.entries(isDoc(entry) && isDoc(entry['mapping']) ? entry['mapping'] : {})) {
@@ -280,6 +609,8 @@ export function installFloorWords(document) {
280
609
  }
281
610
  if (isDoc(entry) && entry['words'] !== undefined)
282
611
  out.push({ word: 'availability.words', path: `publicAccess.${String(e)}.words` });
612
+ if (isDoc(entry) && entry['requiresWhen'] !== undefined)
613
+ out.push({ word: 'publicAccess.requiresWhen', path: `publicAccess.${String(e)}.requiresWhen` });
283
614
  });
284
615
  return out;
285
616
  }
package/dist/words.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"words.js","sourceRoot":"","sources":["../src/words.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"words.js","sourceRoot":"","sources":["../src/words.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adminiumjs/manifest",
3
- "version": "0.3.27",
3
+ "version": "0.3.29",
4
4
  "license": "AGPL-3.0-only",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,7 @@
20
20
  }
21
21
  },
22
22
  "dependencies": {
23
- "@adminium/add-on-contracts": "npm:@adminiumjs/add-on-contracts@0.3.27",
23
+ "@adminium/add-on-contracts": "npm:@adminiumjs/add-on-contracts@0.3.29",
24
24
  "zod": "^4.4.3"
25
25
  },
26
26
  "files": [