@aglyn/aglyn 1.0.0-beta.220 → 1.0.0-beta.222

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 (358) hide show
  1. package/package.json +15 -11
  2. package/src/lib/app-utils/agent-openapi.js +1 -1
  3. package/src/lib/app-utils/agent-openapi.js.map +1 -1
  4. package/src/lib/app-utils/analytics-events.d.ts +3 -2
  5. package/src/lib/app-utils/analytics-events.js +3 -2
  6. package/src/lib/app-utils/analytics-events.js.map +1 -1
  7. package/src/lib/app-utils/api-plugins.d.ts +30 -0
  8. package/src/lib/app-utils/api-plugins.js +24 -1
  9. package/src/lib/app-utils/api-plugins.js.map +1 -1
  10. package/src/lib/app-utils/author-html.d.ts +1 -1
  11. package/src/lib/app-utils/author-html.js.map +1 -1
  12. package/src/lib/app-utils/bandwidth-cap.d.ts +12 -1
  13. package/src/lib/app-utils/bandwidth-cap.js +17 -1
  14. package/src/lib/app-utils/bandwidth-cap.js.map +1 -1
  15. package/src/lib/app-utils/compose-reusable-components.d.ts +19 -0
  16. package/src/lib/app-utils/compose-reusable-components.js +116 -26
  17. package/src/lib/app-utils/compose-reusable-components.js.map +1 -1
  18. package/src/lib/app-utils/console-routes.d.ts +4 -0
  19. package/src/lib/app-utils/console-routes.js +3 -0
  20. package/src/lib/app-utils/console-routes.js.map +1 -1
  21. package/src/lib/app-utils/contacts.d.ts +71 -0
  22. package/src/lib/app-utils/contacts.js +55 -0
  23. package/src/lib/app-utils/contacts.js.map +1 -1
  24. package/src/lib/app-utils/contexts.d.ts +1 -0
  25. package/src/lib/app-utils/contexts.js +1 -0
  26. package/src/lib/app-utils/contexts.js.map +1 -1
  27. package/src/lib/app-utils/crm-email-templates.js +21 -4
  28. package/src/lib/app-utils/crm-email-templates.js.map +1 -1
  29. package/src/lib/app-utils/crm-kinds.d.ts +2 -0
  30. package/src/lib/app-utils/crm-kinds.js +1 -0
  31. package/src/lib/app-utils/crm-kinds.js.map +1 -1
  32. package/src/lib/app-utils/crm.d.ts +1199 -67
  33. package/src/lib/app-utils/crm.js +1951 -310
  34. package/src/lib/app-utils/crm.js.map +1 -1
  35. package/src/lib/app-utils/csv-import.d.ts +10 -38
  36. package/src/lib/app-utils/csv-import.js +17 -42
  37. package/src/lib/app-utils/csv-import.js.map +1 -1
  38. package/src/lib/app-utils/csv.d.ts +32 -11
  39. package/src/lib/app-utils/csv.js +43 -5
  40. package/src/lib/app-utils/csv.js.map +1 -1
  41. package/src/lib/app-utils/default-site.d.ts +116 -0
  42. package/src/lib/app-utils/default-site.js +1024 -0
  43. package/src/lib/app-utils/default-site.js.map +1 -0
  44. package/src/lib/app-utils/docs-help.generated.d.ts +23 -23
  45. package/src/lib/app-utils/docs-help.generated.js +47 -10
  46. package/src/lib/app-utils/docs-help.generated.js.map +1 -1
  47. package/src/lib/app-utils/docs-index.generated.js +746 -151
  48. package/src/lib/app-utils/docs-index.generated.js.map +1 -1
  49. package/src/lib/app-utils/draft-placeholders.d.ts +76 -0
  50. package/src/lib/app-utils/draft-placeholders.js +115 -0
  51. package/src/lib/app-utils/draft-placeholders.js.map +1 -0
  52. package/src/lib/app-utils/entity-picker-context.d.ts +19 -15
  53. package/src/lib/app-utils/entity-picker-context.js +4 -4
  54. package/src/lib/app-utils/entity-picker-context.js.map +1 -1
  55. package/src/lib/app-utils/expand-repeatables.d.ts +66 -10
  56. package/src/lib/app-utils/expand-repeatables.js +88 -14
  57. package/src/lib/app-utils/expand-repeatables.js.map +1 -1
  58. package/src/lib/app-utils/forms.d.ts +33 -22
  59. package/src/lib/app-utils/forms.js +47 -28
  60. package/src/lib/app-utils/forms.js.map +1 -1
  61. package/src/lib/app-utils/full-use-cost.d.ts +277 -0
  62. package/src/lib/app-utils/full-use-cost.js +421 -0
  63. package/src/lib/app-utils/full-use-cost.js.map +1 -0
  64. package/src/lib/app-utils/health-report.js +33 -0
  65. package/src/lib/app-utils/health-report.js.map +1 -1
  66. package/src/lib/app-utils/leaving-notice.d.ts +96 -0
  67. package/src/lib/app-utils/leaving-notice.js +157 -0
  68. package/src/lib/app-utils/leaving-notice.js.map +1 -0
  69. package/src/lib/app-utils/llms-txt.d.ts +20 -0
  70. package/src/lib/app-utils/llms-txt.js +7 -1
  71. package/src/lib/app-utils/llms-txt.js.map +1 -1
  72. package/src/lib/app-utils/media-asset-facts.d.ts +16 -1
  73. package/src/lib/app-utils/media-asset-facts.js +40 -13
  74. package/src/lib/app-utils/media-asset-facts.js.map +1 -1
  75. package/src/lib/app-utils/media-bandwidth.d.ts +52 -0
  76. package/src/lib/app-utils/media-bandwidth.js +94 -0
  77. package/src/lib/app-utils/media-bandwidth.js.map +1 -0
  78. package/src/lib/app-utils/media-ref.d.ts +241 -33
  79. package/src/lib/app-utils/media-ref.js +324 -43
  80. package/src/lib/app-utils/media-ref.js.map +1 -1
  81. package/src/lib/app-utils/media-src.d.ts +8 -8
  82. package/src/lib/app-utils/media-src.js +27 -11
  83. package/src/lib/app-utils/media-src.js.map +1 -1
  84. package/src/lib/app-utils/media-takedown-reach.d.ts +4 -1
  85. package/src/lib/app-utils/media-takedown-reach.js +6 -3
  86. package/src/lib/app-utils/media-takedown-reach.js.map +1 -1
  87. package/src/lib/app-utils/notifications.d.ts +1 -1
  88. package/src/lib/app-utils/notifications.js +2 -0
  89. package/src/lib/app-utils/notifications.js.map +1 -1
  90. package/src/lib/app-utils/operator-alerts.js +17 -0
  91. package/src/lib/app-utils/operator-alerts.js.map +1 -1
  92. package/src/lib/app-utils/organizations.d.ts +51 -2
  93. package/src/lib/app-utils/organizations.js +56 -3
  94. package/src/lib/app-utils/organizations.js.map +1 -1
  95. package/src/lib/app-utils/page-record-sources.d.ts +87 -0
  96. package/src/lib/app-utils/page-record-sources.js +53 -0
  97. package/src/lib/app-utils/page-record-sources.js.map +1 -0
  98. package/src/lib/app-utils/paid-media-source.d.ts +3 -7
  99. package/src/lib/app-utils/paid-media-source.js +5 -19
  100. package/src/lib/app-utils/paid-media-source.js.map +1 -1
  101. package/src/lib/app-utils/person-erasure.d.ts +5 -2
  102. package/src/lib/app-utils/person-erasure.js.map +1 -1
  103. package/src/lib/app-utils/picklists.d.ts +187 -0
  104. package/src/lib/app-utils/picklists.js +320 -0
  105. package/src/lib/app-utils/picklists.js.map +1 -0
  106. package/src/lib/app-utils/plan-entitlements.d.ts +220 -50
  107. package/src/lib/app-utils/plan-entitlements.js +309 -115
  108. package/src/lib/app-utils/plan-entitlements.js.map +1 -1
  109. package/src/lib/app-utils/realm-host-surface.generated.js +2 -0
  110. package/src/lib/app-utils/realm-host-surface.generated.js.map +1 -1
  111. package/src/lib/app-utils/release-flags.d.ts +1 -1
  112. package/src/lib/app-utils/release-flags.js +11 -0
  113. package/src/lib/app-utils/release-flags.js.map +1 -1
  114. package/src/lib/app-utils/rendered-widths.d.ts +121 -0
  115. package/src/lib/app-utils/rendered-widths.js +211 -0
  116. package/src/lib/app-utils/rendered-widths.js.map +1 -0
  117. package/src/lib/app-utils/repeat-sources.d.ts +2 -1
  118. package/src/lib/app-utils/repeat-sources.js.map +1 -1
  119. package/src/lib/app-utils/screen-link-context-value.d.ts +7 -0
  120. package/src/lib/app-utils/screen-link-context-value.js.map +1 -1
  121. package/src/lib/app-utils/screen-link-context.js +14 -2
  122. package/src/lib/app-utils/screen-link-context.js.map +1 -1
  123. package/src/lib/app-utils/screen-route.d.ts +157 -36
  124. package/src/lib/app-utils/screen-route.js +191 -41
  125. package/src/lib/app-utils/screen-route.js.map +1 -1
  126. package/src/lib/app-utils/seo-audit.d.ts +11 -1
  127. package/src/lib/app-utils/seo-audit.js +33 -13
  128. package/src/lib/app-utils/seo-audit.js.map +1 -1
  129. package/src/lib/app-utils/seo-keywords.d.ts +11 -0
  130. package/src/lib/app-utils/seo-keywords.js +19 -5
  131. package/src/lib/app-utils/seo-keywords.js.map +1 -1
  132. package/src/lib/app-utils/seo-page-facts.d.ts +47 -4
  133. package/src/lib/app-utils/seo-page-facts.js +136 -31
  134. package/src/lib/app-utils/seo-page-facts.js.map +1 -1
  135. package/src/lib/app-utils/seo-site-scan.d.ts +42 -4
  136. package/src/lib/app-utils/seo-site-scan.js +113 -12
  137. package/src/lib/app-utils/seo-site-scan.js.map +1 -1
  138. package/src/lib/app-utils/server.d.ts +5 -4
  139. package/src/lib/app-utils/server.js +14 -5
  140. package/src/lib/app-utils/server.js.map +1 -1
  141. package/src/lib/app-utils/site-icon-set.d.ts +195 -0
  142. package/src/lib/app-utils/site-icon-set.js +351 -0
  143. package/src/lib/app-utils/site-icon-set.js.map +1 -0
  144. package/src/lib/app-utils/site-interactions.d.ts +101 -4
  145. package/src/lib/app-utils/site-interactions.js +120 -4
  146. package/src/lib/app-utils/site-interactions.js.map +1 -1
  147. package/src/lib/app-utils/starter-template-nodes.d.ts +7 -0
  148. package/src/lib/app-utils/starter-template-nodes.js +3 -0
  149. package/src/lib/app-utils/starter-template-nodes.js.map +1 -1
  150. package/src/lib/app-utils/starter-templates.d.ts +5 -19
  151. package/src/lib/app-utils/starter-templates.js +5 -49
  152. package/src/lib/app-utils/starter-templates.js.map +1 -1
  153. package/src/lib/app-utils/transfer-launcher-context.d.ts +136 -0
  154. package/src/lib/app-utils/transfer-launcher-context.js +23 -0
  155. package/src/lib/app-utils/transfer-launcher-context.js.map +1 -0
  156. package/src/lib/app-utils/transfer-resume-import.d.ts +39 -0
  157. package/src/lib/app-utils/transfer-resume-import.js +128 -0
  158. package/src/lib/app-utils/transfer-resume-import.js.map +1 -0
  159. package/src/lib/app-utils/upgrade-proposal.d.ts +66 -0
  160. package/src/lib/app-utils/upgrade-proposal.js +95 -0
  161. package/src/lib/app-utils/upgrade-proposal.js.map +1 -0
  162. package/src/lib/app-utils/utc-month.d.ts +33 -0
  163. package/src/lib/app-utils/utc-month.js +35 -0
  164. package/src/lib/app-utils/utc-month.js.map +1 -0
  165. package/src/lib/app-utils/visitor-record-ceiling.d.ts +4 -4
  166. package/src/lib/app-utils/visitor-record-ceiling.js +4 -4
  167. package/src/lib/app-utils/visitor-record-ceiling.js.map +1 -1
  168. package/src/lib/app-utils/wire-nodes.d.ts +39 -19
  169. package/src/lib/app-utils/wire-nodes.js +120 -34
  170. package/src/lib/app-utils/wire-nodes.js.map +1 -1
  171. package/src/lib/data-transfer/access.d.ts +74 -0
  172. package/src/lib/data-transfer/access.js +93 -0
  173. package/src/lib/data-transfer/access.js.map +1 -0
  174. package/src/lib/data-transfer/derive.d.ts +246 -0
  175. package/src/lib/data-transfer/derive.js +1007 -0
  176. package/src/lib/data-transfer/derive.js.map +1 -0
  177. package/src/lib/data-transfer/export-file.d.ts +46 -0
  178. package/src/lib/data-transfer/export-file.js +146 -0
  179. package/src/lib/data-transfer/export-file.js.map +1 -0
  180. package/src/lib/data-transfer/field-catalog.d.ts +134 -0
  181. package/src/lib/data-transfer/field-catalog.js +278 -0
  182. package/src/lib/data-transfer/field-catalog.js.map +1 -0
  183. package/src/lib/data-transfer/header-match.d.ts +129 -0
  184. package/src/lib/data-transfer/header-match.js +367 -0
  185. package/src/lib/data-transfer/header-match.js.map +1 -0
  186. package/src/lib/data-transfer/index.d.ts +34 -0
  187. package/src/lib/data-transfer/index.js +40 -0
  188. package/src/lib/data-transfer/index.js.map +1 -0
  189. package/src/lib/data-transfer/job.d.ts +190 -0
  190. package/src/lib/data-transfer/job.js +229 -0
  191. package/src/lib/data-transfer/job.js.map +1 -0
  192. package/src/lib/data-transfer/lookup.d.ts +45 -0
  193. package/src/lib/data-transfer/lookup.js +71 -0
  194. package/src/lib/data-transfer/lookup.js.map +1 -0
  195. package/src/lib/data-transfer/match.d.ts +99 -0
  196. package/src/lib/data-transfer/match.js +244 -0
  197. package/src/lib/data-transfer/match.js.map +1 -0
  198. package/src/lib/data-transfer/package-plan.d.ts +205 -0
  199. package/src/lib/data-transfer/package-plan.js +475 -0
  200. package/src/lib/data-transfer/package-plan.js.map +1 -0
  201. package/src/lib/data-transfer/package.d.ts +181 -0
  202. package/src/lib/data-transfer/package.js +426 -0
  203. package/src/lib/data-transfer/package.js.map +1 -0
  204. package/src/lib/data-transfer/picklist-map.d.ts +139 -0
  205. package/src/lib/data-transfer/picklist-map.js +271 -0
  206. package/src/lib/data-transfer/picklist-map.js.map +1 -0
  207. package/src/lib/data-transfer/plan.d.ts +176 -0
  208. package/src/lib/data-transfer/plan.js +451 -0
  209. package/src/lib/data-transfer/plan.js.map +1 -0
  210. package/src/lib/data-transfer/policy.d.ts +170 -0
  211. package/src/lib/data-transfer/policy.js +378 -0
  212. package/src/lib/data-transfer/policy.js.map +1 -0
  213. package/src/lib/data-transfer/resource.d.ts +211 -0
  214. package/src/lib/data-transfer/resource.js +241 -0
  215. package/src/lib/data-transfer/resource.js.map +1 -0
  216. package/src/lib/data-transfer/review.d.ts +70 -0
  217. package/src/lib/data-transfer/review.js +233 -0
  218. package/src/lib/data-transfer/review.js.map +1 -0
  219. package/src/lib/data-transfer/similarity.d.ts +40 -0
  220. package/src/lib/data-transfer/similarity.js +106 -0
  221. package/src/lib/data-transfer/similarity.js.map +1 -0
  222. package/src/lib/data-transfer/site-package.d.ts +365 -0
  223. package/src/lib/data-transfer/site-package.js +1077 -0
  224. package/src/lib/data-transfer/site-package.js.map +1 -0
  225. package/src/lib/data-transfer/source.d.ts +74 -0
  226. package/src/lib/data-transfer/source.js +293 -0
  227. package/src/lib/data-transfer/source.js.map +1 -0
  228. package/src/lib/data-transfer/transfer-api.d.ts +898 -0
  229. package/src/lib/data-transfer/transfer-api.js +107 -0
  230. package/src/lib/data-transfer/transfer-api.js.map +1 -0
  231. package/src/lib/foundation/definitions/org-billing.types.d.ts +31 -0
  232. package/src/lib/foundation/definitions/org-billing.types.js.map +1 -1
  233. package/src/lib/foundation/definitions/organization.types.d.ts +42 -1
  234. package/src/lib/foundation/definitions/organization.types.js.map +1 -1
  235. package/src/lib/foundation/definitions/platform.types.d.ts +6 -4
  236. package/src/lib/foundation/definitions/platform.types.js.map +1 -1
  237. package/src/lib/foundation/index.d.ts +1 -1
  238. package/src/lib/foundation/index.js.map +1 -1
  239. package/src/lib/plugin-manager/feature-plugins.d.ts +91 -2
  240. package/src/lib/plugin-manager/feature-plugins.js +48 -3
  241. package/src/lib/plugin-manager/feature-plugins.js.map +1 -1
  242. package/src/lib/plugin-manager/first-party-plugins.generated.d.ts +56 -0
  243. package/src/lib/plugin-manager/first-party-plugins.generated.js +1132 -27
  244. package/src/lib/plugin-manager/first-party-plugins.generated.js.map +1 -1
  245. package/src/lib/plugin-manager/index.d.ts +0 -1
  246. package/src/lib/plugin-manager/index.js +0 -1
  247. package/src/lib/plugin-manager/index.js.map +1 -1
  248. package/src/lib/plugin-manager/interaction-recipes.d.ts +142 -0
  249. package/src/lib/plugin-manager/interaction-recipes.js +104 -0
  250. package/src/lib/plugin-manager/interaction-recipes.js.map +1 -0
  251. package/src/lib/plugin-manager/interaction-step-checks.d.ts +66 -0
  252. package/src/lib/plugin-manager/interaction-step-checks.js +86 -0
  253. package/src/lib/plugin-manager/interaction-step-checks.js.map +1 -0
  254. package/src/lib/plugin-manager/plugin-artifact-types.d.ts +235 -0
  255. package/src/lib/plugin-manager/plugin-artifact-types.js +99 -0
  256. package/src/lib/plugin-manager/plugin-artifact-types.js.map +1 -0
  257. package/src/lib/plugin-manager/plugin-contact-capture.d.ts +8 -0
  258. package/src/lib/plugin-manager/plugin-contact-capture.js.map +1 -1
  259. package/src/lib/plugin-manager/plugin-conversion-credit.d.ts +216 -0
  260. package/src/lib/plugin-manager/plugin-conversion-credit.js +91 -0
  261. package/src/lib/plugin-manager/plugin-conversion-credit.js.map +1 -0
  262. package/src/lib/plugin-manager/plugin-entity-pickers.d.ts +83 -0
  263. package/src/lib/plugin-manager/plugin-entity-pickers.js +87 -0
  264. package/src/lib/plugin-manager/plugin-entity-pickers.js.map +1 -0
  265. package/src/lib/plugin-manager/plugin-host-resources.d.ts +6 -0
  266. package/src/lib/plugin-manager/plugin-host-resources.js +6 -1
  267. package/src/lib/plugin-manager/plugin-host-resources.js.map +1 -1
  268. package/src/lib/plugin-manager/plugin-intake-gates.d.ts +75 -0
  269. package/src/lib/plugin-manager/plugin-intake-gates.js +49 -0
  270. package/src/lib/plugin-manager/plugin-intake-gates.js.map +1 -0
  271. package/src/lib/plugin-manager/plugin-jobs.d.ts +5 -5
  272. package/src/lib/plugin-manager/plugin-jobs.js +7 -7
  273. package/src/lib/plugin-manager/plugin-jobs.js.map +1 -1
  274. package/src/lib/plugin-manager/plugin-live-paths.d.ts +70 -0
  275. package/src/lib/plugin-manager/plugin-live-paths.js +66 -0
  276. package/src/lib/plugin-manager/plugin-live-paths.js.map +1 -0
  277. package/src/lib/plugin-manager/plugin-org-erasure.d.ts +3 -2
  278. package/src/lib/plugin-manager/plugin-org-erasure.js +30 -5
  279. package/src/lib/plugin-manager/plugin-org-erasure.js.map +1 -1
  280. package/src/lib/plugin-manager/plugin-person-erasure.d.ts +68 -9
  281. package/src/lib/plugin-manager/plugin-person-erasure.js +196 -51
  282. package/src/lib/plugin-manager/plugin-person-erasure.js.map +1 -1
  283. package/src/lib/plugin-manager/plugin-person-records.d.ts +275 -0
  284. package/src/lib/plugin-manager/plugin-person-records.js +107 -0
  285. package/src/lib/plugin-manager/plugin-person-records.js.map +1 -0
  286. package/src/lib/plugin-manager/plugin-record-counts.d.ts +76 -0
  287. package/src/lib/plugin-manager/plugin-record-counts.js +49 -0
  288. package/src/lib/plugin-manager/plugin-record-counts.js.map +1 -0
  289. package/src/lib/plugin-manager/plugin-record-email-state.d.ts +26 -0
  290. package/src/lib/plugin-manager/plugin-record-email-state.js +16 -0
  291. package/src/lib/plugin-manager/plugin-record-email-state.js.map +1 -1
  292. package/src/lib/plugin-manager/plugin-record-index.d.ts +10 -0
  293. package/src/lib/plugin-manager/plugin-record-index.js.map +1 -1
  294. package/src/lib/plugin-manager/plugin-record-lists.d.ts +86 -6
  295. package/src/lib/plugin-manager/plugin-record-lists.js +42 -5
  296. package/src/lib/plugin-manager/plugin-record-lists.js.map +1 -1
  297. package/src/lib/plugin-manager/plugin-record-origin.d.ts +79 -0
  298. package/src/lib/plugin-manager/plugin-record-origin.js +46 -0
  299. package/src/lib/plugin-manager/plugin-record-origin.js.map +1 -0
  300. package/src/lib/plugin-manager/plugin-record-pages.d.ts +37 -0
  301. package/src/lib/plugin-manager/plugin-record-pages.js +52 -0
  302. package/src/lib/plugin-manager/plugin-record-pages.js.map +1 -0
  303. package/src/lib/plugin-manager/plugin-record-timeline.d.ts +60 -0
  304. package/src/lib/plugin-manager/plugin-record-timeline.js +16 -0
  305. package/src/lib/plugin-manager/plugin-record-timeline.js.map +1 -1
  306. package/src/lib/plugin-manager/plugin-resource-drafts.d.ts +5 -5
  307. package/src/lib/plugin-manager/plugin-resource-drafts.js.map +1 -1
  308. package/src/lib/plugin-manager/plugin-revocations.d.ts +64 -0
  309. package/src/lib/plugin-manager/plugin-revocations.js +47 -0
  310. package/src/lib/plugin-manager/plugin-revocations.js.map +1 -0
  311. package/src/lib/plugin-manager/plugin-send-tallies.d.ts +69 -0
  312. package/src/lib/plugin-manager/plugin-send-tallies.js +45 -0
  313. package/src/lib/plugin-manager/plugin-send-tallies.js.map +1 -0
  314. package/src/lib/plugin-manager/plugin-server-steps.d.ts +170 -0
  315. package/src/lib/plugin-manager/plugin-server-steps.js +116 -0
  316. package/src/lib/plugin-manager/plugin-server-steps.js.map +1 -0
  317. package/src/lib/plugin-manager/plugin-site-bundle.d.ts +40 -0
  318. package/src/lib/plugin-manager/plugin-site-bundle.js +4 -0
  319. package/src/lib/plugin-manager/plugin-site-bundle.js.map +1 -1
  320. package/src/lib/plugin-manager/plugin-site-export.d.ts +57 -1
  321. package/src/lib/plugin-manager/plugin-site-export.js +23 -10
  322. package/src/lib/plugin-manager/plugin-site-export.js.map +1 -1
  323. package/src/lib/plugin-manager/plugin-sitemap-readers.d.ts +146 -0
  324. package/src/lib/plugin-manager/plugin-sitemap-readers.js +110 -0
  325. package/src/lib/plugin-manager/plugin-sitemap-readers.js.map +1 -0
  326. package/src/lib/plugin-manager/plugin-transfer-resources.d.ts +714 -0
  327. package/src/lib/plugin-manager/plugin-transfer-resources.js +443 -0
  328. package/src/lib/plugin-manager/plugin-transfer-resources.js.map +1 -0
  329. package/src/lib/plugin-manager/plugin-usage-axes.d.ts +54 -5
  330. package/src/lib/plugin-manager/plugin-usage-axes.js +11 -3
  331. package/src/lib/plugin-manager/plugin-usage-axes.js.map +1 -1
  332. package/src/lib/plugin-manager/plugin-user-erasure.js +9 -1
  333. package/src/lib/plugin-manager/plugin-user-erasure.js.map +1 -1
  334. package/src/lib/plugin-manager/plugin-visitor-doors.d.ts +104 -0
  335. package/src/lib/plugin-manager/plugin-visitor-doors.js +108 -0
  336. package/src/lib/plugin-manager/plugin-visitor-doors.js.map +1 -0
  337. package/src/lib/plugin-manager/realm-host-aglyn.generated.js +2 -0
  338. package/src/lib/plugin-manager/realm-host-aglyn.generated.js.map +1 -1
  339. package/src/lib/plugin-manager/repeat-rows.d.ts +5 -6
  340. package/src/lib/plugin-manager/repeat-rows.js.map +1 -1
  341. package/src/lib/app-utils/actions.d.ts +0 -310
  342. package/src/lib/app-utils/actions.js +0 -506
  343. package/src/lib/app-utils/actions.js.map +0 -1
  344. package/src/lib/app-utils/automation-placeholders.d.ts +0 -72
  345. package/src/lib/app-utils/automation-placeholders.js +0 -207
  346. package/src/lib/app-utils/automation-placeholders.js.map +0 -1
  347. package/src/lib/app-utils/dataset-models.d.ts +0 -339
  348. package/src/lib/app-utils/dataset-models.js +0 -722
  349. package/src/lib/app-utils/dataset-models.js.map +0 -1
  350. package/src/lib/app-utils/datasets.d.ts +0 -171
  351. package/src/lib/app-utils/datasets.js +0 -227
  352. package/src/lib/app-utils/datasets.js.map +0 -1
  353. package/src/lib/app-utils/form-abuse-ceiling.d.ts +0 -146
  354. package/src/lib/app-utils/form-abuse-ceiling.js +0 -158
  355. package/src/lib/app-utils/form-abuse-ceiling.js.map +0 -1
  356. package/src/lib/plugin-manager/order-fulfilment.d.ts +0 -142
  357. package/src/lib/plugin-manager/order-fulfilment.js +0 -104
  358. package/src/lib/plugin-manager/order-fulfilment.js.map +0 -1
@@ -17,6 +17,7 @@ import { _ as _extends } from "@swc/helpers/_/_extends";
17
17
  */ import { HOST_ERROR_SCREEN_SLOTS } from "../foundation/index.js";
18
18
  import { collectionListUrl } from "./collection-entries.js";
19
19
  import { ENTRY_PREVIEW_ROUTE_SEGMENT } from "./entry-preview-link.js";
20
+ import { LEAVING_NOTICE_ROUTE_SEGMENT } from "./leaving-notice.js";
20
21
  import { PLATFORM_BRAND_NAME } from "./platform-brand.js";
21
22
  import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, parseEntryLinkValue } from "./screen-link-value.js";
22
23
  /**
@@ -77,8 +78,11 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
77
78
  * would reach the preview page and 404 rather than render a screen. The
78
79
  * bare `/aglyn-preview` would in fact still serve — the preview route's
79
80
  * catch-all is required, not optional — and it is reserved anyway for the
80
- * reason given below about child paths: a child only exists when its
81
- * parent is published, and this rule refuses the parent.
81
+ * reason given below about child paths: a child's path is composed from
82
+ * its parent's slug, and this rule refuses that slug.
83
+ * - `_aglyn` — the platform's own pages on every site, the leaving notice
84
+ * at `/_aglyn/leaving` first (AGL-3452). The middleware rewrites that path
85
+ * to an api route before the catch-all could see it.
82
86
  *
83
87
  * NOT reserved, and deliberately so, because measuring found them fine:
84
88
  * `401`, `403`, `503` (`/401` returns 200 through the catch-all — two of the
@@ -96,7 +100,8 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
96
100
  ENTRY_PREVIEW_ROUTE_SEGMENT,
97
101
  'api',
98
102
  '_next',
99
- '_static'
103
+ '_static',
104
+ LEAVING_NOTICE_ROUTE_SEGMENT
100
105
  ];
101
106
  /**
102
107
  * The reserved segment a routing-map path would collide with, or `undefined`
@@ -106,10 +111,10 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
106
111
  * Reads the FIRST segment only. For `api`/`_next`/`_static` that is exactly
107
112
  * right — the middleware excludes the whole subtree, so `api/docs` is as dead
108
113
  * as `api`. For `404`/`500`/`search` it over-refuses in principle (`/404/why`
109
- * would serve), and that is deliberate: a child path only exists when its
110
- * PARENT screen is published, the parent would sit at `404`, and this same
111
- * rule refuses that. A second list to express a case that cannot arise would
112
- * be a second list to keep correct.
114
+ * would serve), and that is deliberate: a child path is composed from its
115
+ * PARENT's slug, the parent would have to hold `404`, and this same rule
116
+ * refuses that slug wherever one is typed. A second list to express a case
117
+ * that cannot arise would be a second list to keep correct.
113
118
  *
114
119
  * Takes a composed routing-map path (`about`, `company/about`, `'/'`), not a
115
120
  * raw slug field — `'/'` is the home screen and is never reserved.
@@ -163,40 +168,136 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
163
168
  * It names the alternative, because a `/` in this field almost always means
164
169
  * "nest me" and the hierarchy is what actually composes the longer path.
165
170
  */ export const SCREEN_SLUG_PATH_SEPARATOR_MESSAGE = 'A slug is one path segment — remove the "/" and nest the page under a ' + 'parent page instead';
171
+ /**
172
+ * `kind` of a page GROUP (AGL-3463): a folder in the Pages list that holds
173
+ * pages and is not one.
174
+ *
175
+ * A group has no slug, no versions and no address. It is never routed, never
176
+ * published or scheduled, and it contributes NOTHING to its descendants'
177
+ * paths — a page inside a group composes exactly as if it sat at the group's
178
+ * own level, so moving a page into or out of a group at that level leaves its
179
+ * URL untouched. A group nested in a group behaves the same way.
180
+ *
181
+ * It has to be a declared kind rather than "a parent with no slug", because a
182
+ * slugless parent already means something: an unpublished page, and
183
+ * {@link composeScreenRoutePath} refuses every path beneath one. Pages under
184
+ * a slugless parent keep the addresses they already have, but no page there
185
+ * can be published, which is the opposite of what a folder is for.
186
+ *
187
+ * A group is not a page, so it is in {@link screenClaimsToBeAPage}'s list and
188
+ * spends none of the plan's page allowance. That is safe for the reasons the
189
+ * other non-page kinds are: `kind` is stamped at create by
190
+ * /api/hosts/resources and frozen against the client by the rules, no route
191
+ * converts a group into anything else, and the serve path refuses a non-page
192
+ * claim — so a group can never be laundered into a page it did not pay for,
193
+ * and the flat {@link NON_PAGE_SCREEN_MAX_PER_HOST} bounds how many exist.
194
+ */ export const SCREEN_KIND_GROUP = 'group';
195
+ /**
196
+ * The {@link ScreenRouteNode} of a screen document: the three fields path
197
+ * composition reads, and nothing else. Every surface that composes paths
198
+ * builds its map through this, because a map built from `{ slug, parentId }`
199
+ * alone silently reads a group as an unpublished page and unroutes every page
200
+ * inside it (AGL-3463).
201
+ */ export function toScreenRouteNode(screen) {
202
+ const node = {};
203
+ if (typeof screen.slug === 'string') node.slug = screen.slug;
204
+ if (typeof screen.parentId === 'string' && screen.parentId) {
205
+ node.parentId = screen.parentId;
206
+ }
207
+ if (typeof screen.kind === 'string') node.kind = screen.kind;
208
+ return node;
209
+ }
210
+ /** Is this screen a page group ({@link SCREEN_KIND_GROUP})? */ export function isScreenGroup(screen) {
211
+ return (screen == null ? void 0 : screen.kind) === SCREEN_KIND_GROUP;
212
+ }
166
213
  /** Defensive cap: parent chains deeper than this are treated as invalid. */ const MAX_SCREEN_DEPTH = 32;
167
214
  /**
168
215
  * Composes a screen's routing-map path from its own slug plus its ancestor
169
216
  * chain: parent `company` + own `about` → `company/about`. Root (`'/'`)
170
217
  * segments contribute nothing, so children of the home screen sit at the
171
- * top level. Returns `undefined` when the screen (or any ancestor) has no
172
- * slug, when the screen's own slug is `'/'` while it has a parent, or when
173
- * the chain has a cycle / exceeds {@link MAX_SCREEN_DEPTH}.
218
+ * top level, and GROUP ancestors contribute nothing either (AGL-3463) — they
219
+ * are passed through as if the screen sat at the group's own level.
220
+ *
221
+ * Returns `undefined` when the screen is itself a group, when it (or any
222
+ * non-group ancestor) has no slug, when its own slug is `'/'` while it has a
223
+ * non-group ancestor, or when the chain has a cycle / exceeds
224
+ * {@link MAX_SCREEN_DEPTH}.
174
225
  */ export function composeScreenRoutePath(screenId, screensById) {
226
+ // A group is never an address, whatever else its document says.
227
+ if (isScreenGroup(screensById[screenId])) return undefined;
175
228
  const segments = [];
176
229
  const visited = new Set();
177
230
  let currentId = screenId;
231
+ let isHomePage = false;
178
232
  while(currentId){
179
233
  if (visited.has(currentId) || visited.size >= MAX_SCREEN_DEPTH) {
180
234
  return undefined;
181
235
  }
182
236
  visited.add(currentId);
183
237
  const screen = screensById[currentId];
238
+ if (isScreenGroup(screen)) {
239
+ // No segment, and no slug required: a group does not gate the pages
240
+ // inside it. Its own slug, if a stray one exists, is ignored.
241
+ currentId = screen == null ? void 0 : screen.parentId;
242
+ continue;
243
+ }
184
244
  if (!(screen == null ? void 0 : screen.slug)) return undefined;
245
+ // The home screen's segment is empty (children of home sit at the top
246
+ // level), but a screen can't itself be the home page AND sit under
247
+ // another page. Groups above it are fine — they are not levels.
248
+ if (isHomePage) return undefined;
185
249
  if (screen.slug === SCREEN_ROOT_PATH) {
186
- // The home screen's segment is empty (children of home sit at the top
187
- // level), but a screen can't itself be the home page AND have a parent.
188
- if (currentId === screenId && screen.parentId) return undefined;
250
+ if (currentId === screenId) isHomePage = true;
189
251
  } else {
190
252
  segments.unshift(screen.slug);
191
253
  }
192
254
  currentId = screen.parentId;
193
255
  }
194
- if (!segments.length) {
195
- var _screensById_screenId;
196
- return ((_screensById_screenId = screensById[screenId]) == null ? void 0 : _screensById_screenId.slug) === SCREEN_ROOT_PATH ? SCREEN_ROOT_PATH : undefined;
197
- }
256
+ if (!segments.length) return isHomePage ? SCREEN_ROOT_PATH : undefined;
198
257
  return segments.join('/');
199
258
  }
259
+ /**
260
+ * The nearest ancestor that is NOT a group — the screen whose level a page
261
+ * actually composes its path at — or `undefined` for the top level
262
+ * (AGL-3463). Two placements with the same answer compose the same path,
263
+ * which is what makes moving a page into or out of a group at that level a
264
+ * move that cannot change its URL.
265
+ */ export function screenRouteParentId(screenId, screensById) {
266
+ var _screensById_screenId;
267
+ const visited = new Set([
268
+ screenId
269
+ ]);
270
+ let currentId = (_screensById_screenId = screensById[screenId]) == null ? void 0 : _screensById_screenId.parentId;
271
+ while(currentId && !visited.has(currentId)){
272
+ visited.add(currentId);
273
+ const screen = screensById[currentId];
274
+ if (!isScreenGroup(screen)) return currentId;
275
+ currentId = screen == null ? void 0 : screen.parentId;
276
+ }
277
+ return undefined;
278
+ }
279
+ /**
280
+ * Where each child of a group goes when the group is deleted: one level up,
281
+ * under the group's own parent (AGL-3463). A child id → its next `parentId`
282
+ * (`undefined` for the top level).
283
+ *
284
+ * Only DIRECT children move; grandchildren ride along under them. Because a
285
+ * group contributes nothing to a path, the children's composed paths are the
286
+ * same before and after, so deleting a group never touches the routing map.
287
+ * Answers `{}` for a screen that is not a group — deleting a page is a
288
+ * different act with a different consequence for what sits under it.
289
+ */ export function screenGroupDissolveMoves(groupId, screensById) {
290
+ const group = screensById[groupId];
291
+ if (!isScreenGroup(group)) return {};
292
+ const nextParentId = group == null ? void 0 : group.parentId;
293
+ const moves = {};
294
+ for (const [id, screen] of Object.entries(screensById)){
295
+ if (id !== groupId && (screen == null ? void 0 : screen.parentId) === groupId) {
296
+ moves[id] = nextParentId;
297
+ }
298
+ }
299
+ return moves;
300
+ }
200
301
  /**
201
302
  * All screens whose parent chain passes through `screenId` (children,
202
303
  * grandchildren, …). Used to cascade routing-map rewrites when a screen's
@@ -234,30 +335,78 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
234
335
  return collectScreenDescendantIds(screenId, screensById).includes(nextParentId);
235
336
  }
236
337
  /**
237
- * Routing-map entries for a screen plus all its descendants under a
238
- * candidate screens map: a composed path sets the entry, `null` marks an
239
- * existing entry whose chain no longer resolves for removal. Callers apply
240
- * the result in one write so slug/parent changes cascade atomically.
338
+ * Routing-map entries to SET for a screen plus its descendants under a
339
+ * candidate screens map. Callers apply the result in one write so slug and
340
+ * parent changes cascade atomically.
341
+ *
342
+ * ## It never removes a route (AGL-3463)
343
+ *
344
+ * The answer holds paths only — no removals, ever. The routing map is the
345
+ * whole of what makes a page reachable, so a removal computed here would take
346
+ * a live page off the site as a side effect of a move, a rename or an
347
+ * unpublish of something ABOVE it, with nobody having asked for that page to
348
+ * go. Each of these therefore keeps the route it has:
349
+ *
350
+ * - a live screen whose chain no longer composes — moved under a page with
351
+ * no slug, or its parent's slug cleared — keeps serving where it is;
352
+ * - a DETACHED descendant (see
353
+ * {@link BuildScreenRouteEntriesOptions.currentById}) stays where it is
354
+ * when its ancestors change again;
355
+ * - a group, which never composes a path, is never written.
356
+ *
357
+ * Taking a page off the site is a separate act on that page alone
358
+ * (`unpublishScreenRoute`), so the only page that can stop resolving is the
359
+ * one somebody pointed at.
241
360
  *
242
361
  * See {@link BuildScreenRouteEntriesOptions.publish} for the difference
243
362
  * between publishing a screen and merely moving one.
244
- */ export function buildScreenRouteEntries(screenId, screensById, routingMap, options = {}) {
245
- const { publish = true } = options;
363
+ */ export function buildScreenRouteEntries(screenId, screensById, routingMap, options) {
364
+ const { publish = true, currentById } = options;
246
365
  const entries = {};
247
- const ids = [
248
- screenId,
249
- ...collectScreenDescendantIds(screenId, screensById)
250
- ];
251
- for (const id of ids){
252
- const routed = (routingMap == null ? void 0 : routingMap[id]) !== undefined;
366
+ const routedPath = (id)=>{
367
+ const path = routingMap == null ? void 0 : routingMap[id];
368
+ return typeof path === 'string' && path ? path : undefined;
369
+ };
370
+ // The named screen: rewritten when it is live, registered when this is its
371
+ // publish, and left exactly as it is when its new chain does not compose.
372
+ const ownPath = composeScreenRoutePath(screenId, screensById);
373
+ if (ownPath && (routedPath(screenId) !== undefined || publish)) {
374
+ entries[screenId] = ownPath;
375
+ }
376
+ for (const id of collectScreenDescendantIds(screenId, screensById)){
377
+ const live = routedPath(id);
378
+ // A draft below a published parent stays a draft.
379
+ if (live === undefined) continue;
380
+ // Detached: its address is not the one its chain composes today.
381
+ if (composeScreenRoutePath(id, currentById) !== live) continue;
253
382
  const path = composeScreenRoutePath(id, screensById);
254
- if (path) {
255
- // A move rewrites what is live; it never puts something new there.
256
- if (routed || publish) entries[id] = path;
257
- } else if (routed) entries[id] = null;
383
+ if (path) entries[id] = path;
258
384
  }
259
385
  return entries;
260
386
  }
387
+ /**
388
+ * Every descendant of `screenId` with a routing entry, ordered by address
389
+ * (AGL-3463) — the pages that STAY LIVE when `screenId` is unpublished or
390
+ * deleted, because neither act ever removes more than the one entry
391
+ * ({@link buildScreenRouteEntries}).
392
+ *
393
+ * The unpublish and delete confirmations list these, so whoever takes a
394
+ * parent down knows which pages below it keep serving and can take them
395
+ * down separately if that is what they meant. Groups are walked through and
396
+ * never listed: a group is not a page.
397
+ */ export function liveScreenDescendants(screenId, screensById, routingMap) {
398
+ const live = [];
399
+ for (const id of collectScreenDescendantIds(screenId, screensById)){
400
+ const path = routingMap == null ? void 0 : routingMap[id];
401
+ if (typeof path !== 'string' || !path) continue;
402
+ if (isScreenGroup(screensById[id])) continue;
403
+ live.push({
404
+ id,
405
+ path
406
+ });
407
+ }
408
+ return live.sort((a, b)=>a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
409
+ }
261
410
  /**
262
411
  * Looks up which screen currently owns a routing path, for sibling-slug
263
412
  * uniqueness checks before publishing.
@@ -490,13 +639,14 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
490
639
  * document, which has no URL and is rendered only by the campaign sender,
491
640
  * straight off the doc), `kind: 'template'` (a collection entry template,
492
641
  * which composes `/{collection}/{entry}` and has no address of its own —
493
- * AGL-1400) and `kind: 'error'` (a screen assigned to one of the host's four
494
- * error slots, rendered on paths that matched nothing — AGL-2092). All four
495
- * are also the exclusions `countBillableScreens` subtracts before enforcing
496
- * `screensPerHost`, and since AGL-1400 they are the WHOLE of that subtraction:
497
- * the count reads no other collection.
498
- *
499
- * Adding the fourth needed no edit to `billableScreenIds` and no edit to
642
+ * AGL-1400), `kind: 'error'` (a screen assigned to one of the host's four
643
+ * error slots, rendered on paths that matched nothing — AGL-2092) and
644
+ * `kind: 'group'` (a folder of pages with no address, slug or content of its
645
+ * own — AGL-3463). All five are also the exclusions `countBillableScreens`
646
+ * subtracts before enforcing `screensPerHost`, and since AGL-1400 they are the
647
+ * WHOLE of that subtraction: the count reads no other collection.
648
+ *
649
+ * Adding the fourth and fifth needed no edit to `billableScreenIds` and no edit to
500
650
  * `nonPageScreenIds`, which is the property AGL-1439 wrote them for: the
501
651
  * routing-map override applies to a new non-page `kind` by default, and the
502
652
  * flat infrastructure cap is the complement, so there is no second list to
@@ -531,7 +681,7 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
531
681
  * pipeline picks it up), which is why the map cannot be the arbiter for it.
532
682
  */ export function screenClaimsToBeAPage(screen) {
533
683
  if (!screen) return false;
534
- return screen.deletedAt == null && screen.kind !== SCREEN_KIND_EMAIL && screen.kind !== SCREEN_KIND_TEMPLATE && screen.kind !== SCREEN_KIND_ERROR;
684
+ return screen.deletedAt == null && screen.kind !== SCREEN_KIND_EMAIL && screen.kind !== SCREEN_KIND_TEMPLATE && screen.kind !== SCREEN_KIND_ERROR && screen.kind !== SCREEN_KIND_GROUP;
535
685
  }
536
686
  /**
537
687
  * WHICH screens spend the plan's screen allowance (AGL-1173).