@aglyn/aglyn 1.0.0-beta.217 → 1.0.0-beta.219

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 (348) hide show
  1. package/package.json +14 -14
  2. package/src/lib/app-utils/actions.d.ts +25 -374
  3. package/src/lib/app-utils/actions.js +101 -561
  4. package/src/lib/app-utils/actions.js.map +1 -1
  5. package/src/lib/app-utils/activity-presenter.d.ts +3 -3
  6. package/src/lib/app-utils/activity-presenter.js +36 -52
  7. package/src/lib/app-utils/activity-presenter.js.map +1 -1
  8. package/src/lib/app-utils/admin-audit-index.js +2 -2
  9. package/src/lib/app-utils/admin-audit-index.js.map +1 -1
  10. package/src/lib/app-utils/analytics-events.d.ts +11 -2
  11. package/src/lib/app-utils/analytics-events.js +11 -2
  12. package/src/lib/app-utils/analytics-events.js.map +1 -1
  13. package/src/lib/app-utils/analytics-provider.d.ts +182 -0
  14. package/src/lib/app-utils/analytics-provider.js +133 -0
  15. package/src/lib/app-utils/analytics-provider.js.map +1 -0
  16. package/src/lib/app-utils/api-plugins.d.ts +46 -0
  17. package/src/lib/app-utils/api-plugins.js +19 -0
  18. package/src/lib/app-utils/api-plugins.js.map +1 -1
  19. package/src/lib/app-utils/{marketplace-overrides.d.ts → artifact-overrides.d.ts} +9 -6
  20. package/src/lib/app-utils/{marketplace-overrides.js → artifact-overrides.js} +10 -7
  21. package/src/lib/app-utils/artifact-overrides.js.map +1 -0
  22. package/src/lib/app-utils/{marketplace-provenance.d.ts → artifact-provenance.d.ts} +12 -10
  23. package/src/lib/app-utils/{marketplace-provenance.js → artifact-provenance.js} +9 -7
  24. package/src/lib/app-utils/artifact-provenance.js.map +1 -0
  25. package/src/lib/app-utils/assist-credits.js +2 -1
  26. package/src/lib/app-utils/assist-credits.js.map +1 -1
  27. package/src/lib/app-utils/binding-token-catalog.d.ts +5 -13
  28. package/src/lib/app-utils/binding-token-catalog.js +17 -41
  29. package/src/lib/app-utils/binding-token-catalog.js.map +1 -1
  30. package/src/lib/app-utils/binding-tokens.js +1 -1
  31. package/src/lib/app-utils/binding-tokens.js.map +1 -1
  32. package/src/lib/app-utils/brand-support-line.d.ts +36 -0
  33. package/src/lib/app-utils/brand-support-line.js +38 -0
  34. package/src/lib/app-utils/brand-support-line.js.map +1 -0
  35. package/src/lib/app-utils/campaign-touch.d.ts +5 -5
  36. package/src/lib/app-utils/campaign-touch.js +8 -8
  37. package/src/lib/app-utils/campaign-touch.js.map +1 -1
  38. package/src/lib/app-utils/collection-entries.d.ts +2 -2
  39. package/src/lib/app-utils/collection-entries.js.map +1 -1
  40. package/src/lib/app-utils/consent-group-change.d.ts +4 -0
  41. package/src/lib/app-utils/consent-group-change.js.map +1 -1
  42. package/src/lib/app-utils/console-record-links.d.ts +10 -89
  43. package/src/lib/app-utils/console-record-links.js +3 -107
  44. package/src/lib/app-utils/console-record-links.js.map +1 -1
  45. package/src/lib/app-utils/console-routes.d.ts +16 -7
  46. package/src/lib/app-utils/console-routes.js +9 -3
  47. package/src/lib/app-utils/console-routes.js.map +1 -1
  48. package/src/lib/app-utils/contacts.d.ts +23 -1
  49. package/src/lib/app-utils/contacts.js +21 -5
  50. package/src/lib/app-utils/contacts.js.map +1 -1
  51. package/src/lib/app-utils/cross-pool-desync.d.ts +39 -0
  52. package/src/lib/app-utils/cross-pool-desync.js +47 -0
  53. package/src/lib/app-utils/cross-pool-desync.js.map +1 -0
  54. package/src/lib/app-utils/csv-upload.d.ts +29 -0
  55. package/src/lib/app-utils/csv-upload.js +29 -0
  56. package/src/lib/app-utils/csv-upload.js.map +1 -0
  57. package/src/lib/app-utils/dataset-models.d.ts +5 -5
  58. package/src/lib/app-utils/dataset-models.js +19 -2
  59. package/src/lib/app-utils/dataset-models.js.map +1 -1
  60. package/src/lib/app-utils/datasets.d.ts +65 -11
  61. package/src/lib/app-utils/datasets.js +74 -11
  62. package/src/lib/app-utils/datasets.js.map +1 -1
  63. package/src/lib/app-utils/docs-deflection.d.ts +6 -6
  64. package/src/lib/app-utils/docs-deflection.js.map +1 -1
  65. package/src/lib/app-utils/docs-help.generated.d.ts +12 -6
  66. package/src/lib/app-utils/docs-help.generated.js +21 -6
  67. package/src/lib/app-utils/docs-help.generated.js.map +1 -1
  68. package/src/lib/app-utils/docs-index.generated.d.ts +2 -2
  69. package/src/lib/app-utils/docs-index.generated.js +514 -318
  70. package/src/lib/app-utils/docs-index.generated.js.map +1 -1
  71. package/src/lib/app-utils/docs-retrieval.d.ts +3 -3
  72. package/src/lib/app-utils/docs-retrieval.js +14 -10
  73. package/src/lib/app-utils/docs-retrieval.js.map +1 -1
  74. package/src/lib/app-utils/duplicate-resource.d.ts +4 -1
  75. package/src/lib/app-utils/duplicate-resource.js +7 -4
  76. package/src/lib/app-utils/duplicate-resource.js.map +1 -1
  77. package/src/lib/app-utils/dynamic-list-rule.d.ts +1 -1
  78. package/src/lib/app-utils/dynamic-list-rule.js.map +1 -1
  79. package/src/lib/app-utils/element-ui.d.ts +1 -1
  80. package/src/lib/app-utils/element-ui.js +1 -1
  81. package/src/lib/app-utils/element-ui.js.map +1 -1
  82. package/src/lib/app-utils/email-starter-policy.js +3 -3
  83. package/src/lib/app-utils/email-starter-policy.js.map +1 -1
  84. package/src/lib/app-utils/entity-picker-context.d.ts +10 -5
  85. package/src/lib/app-utils/entity-picker-context.js.map +1 -1
  86. package/src/lib/app-utils/error-beacon.d.ts +75 -6
  87. package/src/lib/app-utils/error-beacon.js +160 -21
  88. package/src/lib/app-utils/error-beacon.js.map +1 -1
  89. package/src/lib/app-utils/expand-repeatables.d.ts +10 -10
  90. package/src/lib/app-utils/expand-repeatables.js +10 -10
  91. package/src/lib/app-utils/expand-repeatables.js.map +1 -1
  92. package/src/lib/app-utils/host-events.d.ts +82 -0
  93. package/src/lib/app-utils/host-events.js +62 -0
  94. package/src/lib/app-utils/host-events.js.map +1 -0
  95. package/src/lib/app-utils/lockdown.d.ts +33 -1
  96. package/src/lib/app-utils/lockdown.js +45 -4
  97. package/src/lib/app-utils/lockdown.js.map +1 -1
  98. package/src/lib/app-utils/margin-utilization.d.ts +4 -69
  99. package/src/lib/app-utils/margin-utilization.js +82 -69
  100. package/src/lib/app-utils/margin-utilization.js.map +1 -1
  101. package/src/lib/app-utils/node-definition-sanitizer.d.ts +16 -16
  102. package/src/lib/app-utils/node-definition-sanitizer.js +24 -20
  103. package/src/lib/app-utils/node-definition-sanitizer.js.map +1 -1
  104. package/src/lib/app-utils/node-interactions.d.ts +7 -7
  105. package/src/lib/app-utils/node-interactions.js.map +1 -1
  106. package/src/lib/app-utils/notifications.d.ts +78 -47
  107. package/src/lib/app-utils/notifications.js +63 -44
  108. package/src/lib/app-utils/notifications.js.map +1 -1
  109. package/src/lib/app-utils/payments-configured.d.ts +8 -21
  110. package/src/lib/app-utils/payments-configured.js +8 -23
  111. package/src/lib/app-utils/payments-configured.js.map +1 -1
  112. package/src/lib/app-utils/plan-entitlements.d.ts +43 -128
  113. package/src/lib/app-utils/plan-entitlements.js +145 -304
  114. package/src/lib/app-utils/plan-entitlements.js.map +1 -1
  115. package/src/lib/app-utils/platform-brand.d.ts +10 -0
  116. package/src/lib/app-utils/platform-brand.js +14 -3
  117. package/src/lib/app-utils/platform-brand.js.map +1 -1
  118. package/src/lib/app-utils/plugin-api-rate-limit.d.ts +7 -1
  119. package/src/lib/app-utils/plugin-api-rate-limit.js +11 -3
  120. package/src/lib/app-utils/plugin-api-rate-limit.js.map +1 -1
  121. package/src/lib/app-utils/plugin-bundle-checks.js +2 -2
  122. package/src/lib/app-utils/plugin-bundle-checks.js.map +1 -1
  123. package/src/lib/app-utils/plugin-host-events.generated.d.ts +12 -0
  124. package/src/lib/app-utils/plugin-host-events.generated.js +169 -0
  125. package/src/lib/app-utils/plugin-host-events.generated.js.map +1 -0
  126. package/src/lib/app-utils/plugin-release-flags.generated.d.ts +12 -0
  127. package/src/lib/app-utils/plugin-release-flags.generated.js +106 -0
  128. package/src/lib/app-utils/plugin-release-flags.generated.js.map +1 -0
  129. package/src/lib/app-utils/realm-host-surface.generated.js +2 -0
  130. package/src/lib/app-utils/realm-host-surface.generated.js.map +1 -1
  131. package/src/lib/app-utils/release-flags.d.ts +14 -5
  132. package/src/lib/app-utils/release-flags.js +21 -125
  133. package/src/lib/app-utils/release-flags.js.map +1 -1
  134. package/src/lib/app-utils/repeat-sources.d.ts +9 -0
  135. package/src/lib/app-utils/repeat-sources.js.map +1 -1
  136. package/src/lib/app-utils/retained-refusals.d.ts +73 -0
  137. package/src/lib/app-utils/retained-refusals.js +186 -0
  138. package/src/lib/app-utils/retained-refusals.js.map +1 -0
  139. package/src/lib/app-utils/scope-tokens.d.ts +27 -0
  140. package/src/lib/app-utils/scope-tokens.js +61 -0
  141. package/src/lib/app-utils/scope-tokens.js.map +1 -1
  142. package/src/lib/app-utils/screen-link-context.js +3 -3
  143. package/src/lib/app-utils/screen-link-context.js.map +1 -1
  144. package/src/lib/app-utils/screen-route.d.ts +15 -0
  145. package/src/lib/app-utils/screen-route.js +21 -1
  146. package/src/lib/app-utils/screen-route.js.map +1 -1
  147. package/src/lib/app-utils/seo-audit.d.ts +132 -0
  148. package/src/lib/app-utils/seo-audit.js +246 -0
  149. package/src/lib/app-utils/seo-audit.js.map +1 -0
  150. package/src/lib/app-utils/seo-keywords.d.ts +48 -0
  151. package/src/lib/app-utils/seo-keywords.js +60 -0
  152. package/src/lib/app-utils/seo-keywords.js.map +1 -0
  153. package/src/lib/app-utils/seo-page-facts.d.ts +66 -0
  154. package/src/lib/app-utils/seo-page-facts.js +155 -0
  155. package/src/lib/app-utils/seo-page-facts.js.map +1 -0
  156. package/src/lib/app-utils/seo-site-scan.d.ts +126 -0
  157. package/src/lib/app-utils/seo-site-scan.js +162 -0
  158. package/src/lib/app-utils/seo-site-scan.js.map +1 -0
  159. package/src/lib/app-utils/seo-title-variables.js +1 -1
  160. package/src/lib/app-utils/seo-title-variables.js.map +1 -1
  161. package/src/lib/app-utils/server.d.ts +6 -9
  162. package/src/lib/app-utils/server.js +17 -27
  163. package/src/lib/app-utils/server.js.map +1 -1
  164. package/src/lib/app-utils/site-interactions.d.ts +501 -0
  165. package/src/lib/app-utils/site-interactions.js +554 -0
  166. package/src/lib/app-utils/site-interactions.js.map +1 -0
  167. package/src/lib/app-utils/{marketplace-theme.d.ts → site-theme.d.ts} +13 -2
  168. package/src/lib/app-utils/{marketplace-theme.js → site-theme.js} +5 -2
  169. package/src/lib/app-utils/site-theme.js.map +1 -0
  170. package/src/lib/app-utils/sitemap.d.ts +4 -3
  171. package/src/lib/app-utils/sitemap.js +9 -7
  172. package/src/lib/app-utils/sitemap.js.map +1 -1
  173. package/src/lib/app-utils/stale-build-error.d.ts +51 -0
  174. package/src/lib/app-utils/stale-build-error.js +100 -1
  175. package/src/lib/app-utils/stale-build-error.js.map +1 -1
  176. package/src/lib/app-utils/starter-templates.d.ts +20 -0
  177. package/src/lib/app-utils/starter-templates.js +49 -0
  178. package/src/lib/app-utils/starter-templates.js.map +1 -1
  179. package/src/lib/app-utils/tax-jurisdiction-figures.d.ts +118 -0
  180. package/src/lib/app-utils/tax-jurisdiction-figures.js +123 -0
  181. package/src/lib/app-utils/tax-jurisdiction-figures.js.map +1 -0
  182. package/src/lib/app-utils/theme-library.d.ts +10 -3
  183. package/src/lib/app-utils/theme-library.js +13 -4
  184. package/src/lib/app-utils/theme-library.js.map +1 -1
  185. package/src/lib/app-utils/{campaign-attribution.d.ts → utm-attribution.d.ts} +11 -6
  186. package/src/lib/app-utils/{campaign-attribution.js → utm-attribution.js} +13 -8
  187. package/src/lib/app-utils/utm-attribution.js.map +1 -0
  188. package/src/lib/app-utils/{campaign-forwarding.d.ts → utm-forwarding.d.ts} +14 -14
  189. package/src/lib/app-utils/{campaign-forwarding.js → utm-forwarding.js} +26 -26
  190. package/src/lib/app-utils/utm-forwarding.js.map +1 -0
  191. package/src/lib/app-utils/video-object.js +6 -5
  192. package/src/lib/app-utils/video-object.js.map +1 -1
  193. package/src/lib/app-utils/visitor-consent.d.ts +41 -164
  194. package/src/lib/app-utils/visitor-consent.js +66 -277
  195. package/src/lib/app-utils/visitor-consent.js.map +1 -1
  196. package/src/lib/app-utils/web-vitals-rum.d.ts +7 -7
  197. package/src/lib/app-utils/web-vitals-rum.js +31 -63
  198. package/src/lib/app-utils/web-vitals-rum.js.map +1 -1
  199. package/src/lib/app-utils/where-used.d.ts +11 -6
  200. package/src/lib/app-utils/where-used.js +3 -8
  201. package/src/lib/app-utils/where-used.js.map +1 -1
  202. package/src/lib/canvas-manager/canvas-manager.js +3 -3
  203. package/src/lib/canvas-manager/canvas-manager.js.map +1 -1
  204. package/src/lib/foundation/definitions/components.types.d.ts +1 -1
  205. package/src/lib/foundation/definitions/components.types.js +1 -1
  206. package/src/lib/foundation/definitions/components.types.js.map +1 -1
  207. package/src/lib/foundation/definitions/org-billing.types.d.ts +18 -135
  208. package/src/lib/foundation/definitions/org-billing.types.js.map +1 -1
  209. package/src/lib/foundation/definitions/organization.types.d.ts +6 -3
  210. package/src/lib/foundation/definitions/organization.types.js.map +1 -1
  211. package/src/lib/foundation/definitions/platform.types.d.ts +27 -5
  212. package/src/lib/foundation/definitions/platform.types.js.map +1 -1
  213. package/src/lib/foundation/definitions/write-deny-coverage.util.d.ts +16 -0
  214. package/src/lib/foundation/definitions/write-deny-coverage.util.js +20 -0
  215. package/src/lib/foundation/definitions/write-deny-coverage.util.js.map +1 -1
  216. package/src/lib/foundation/index.d.ts +1 -1
  217. package/src/lib/foundation/index.js.map +1 -1
  218. package/src/lib/plugin-manager/besigner-documents.d.ts +96 -0
  219. package/src/lib/plugin-manager/besigner-documents.js +61 -0
  220. package/src/lib/plugin-manager/besigner-documents.js.map +1 -0
  221. package/src/lib/plugin-manager/computed-variables.d.ts +71 -0
  222. package/src/lib/plugin-manager/computed-variables.js +74 -0
  223. package/src/lib/plugin-manager/computed-variables.js.map +1 -0
  224. package/src/lib/plugin-manager/custom-fields.d.ts +29 -2
  225. package/src/lib/plugin-manager/custom-fields.js +47 -1
  226. package/src/lib/plugin-manager/custom-fields.js.map +1 -1
  227. package/src/lib/plugin-manager/feature-plugins.d.ts +292 -20
  228. package/src/lib/plugin-manager/feature-plugins.js +105 -17
  229. package/src/lib/plugin-manager/feature-plugins.js.map +1 -1
  230. package/src/lib/plugin-manager/first-party-plugins.generated.d.ts +123 -0
  231. package/src/lib/plugin-manager/first-party-plugins.generated.js +785 -14
  232. package/src/lib/plugin-manager/first-party-plugins.generated.js.map +1 -1
  233. package/src/lib/plugin-manager/plugin-activity-actions.d.ts +12 -0
  234. package/src/lib/plugin-manager/plugin-activity-actions.js +25 -0
  235. package/src/lib/plugin-manager/plugin-activity-actions.js.map +1 -1
  236. package/src/lib/plugin-manager/plugin-contributions.d.ts +1 -1
  237. package/src/lib/plugin-manager/plugin-contributions.js.map +1 -1
  238. package/src/lib/plugin-manager/plugin-declarations-repair.d.ts +36 -0
  239. package/src/lib/plugin-manager/plugin-declarations-repair.js +64 -0
  240. package/src/lib/plugin-manager/plugin-declarations-repair.js.map +1 -0
  241. package/src/lib/plugin-manager/plugin-dependents.d.ts +101 -0
  242. package/src/lib/plugin-manager/plugin-dependents.js +75 -0
  243. package/src/lib/plugin-manager/plugin-dependents.js.map +1 -0
  244. package/src/lib/plugin-manager/plugin-distribution.d.ts +55 -0
  245. package/src/lib/plugin-manager/plugin-distribution.js +45 -0
  246. package/src/lib/plugin-manager/plugin-distribution.js.map +1 -0
  247. package/src/lib/plugin-manager/plugin-host-collections.d.ts +17 -0
  248. package/src/lib/plugin-manager/plugin-host-collections.js +6 -0
  249. package/src/lib/plugin-manager/plugin-host-collections.js.map +1 -1
  250. package/src/lib/plugin-manager/plugin-host-resources.d.ts +133 -0
  251. package/src/lib/plugin-manager/plugin-host-resources.js +52 -0
  252. package/src/lib/plugin-manager/plugin-host-resources.js.map +1 -0
  253. package/src/lib/plugin-manager/plugin-org-erasure.d.ts +28 -2
  254. package/src/lib/plugin-manager/plugin-org-erasure.js +61 -2
  255. package/src/lib/plugin-manager/plugin-org-erasure.js.map +1 -1
  256. package/src/lib/plugin-manager/plugin-plan-entitlements.d.ts +123 -0
  257. package/src/lib/plugin-manager/plugin-plan-entitlements.js +101 -0
  258. package/src/lib/plugin-manager/plugin-plan-entitlements.js.map +1 -0
  259. package/src/lib/plugin-manager/plugin-record-index.d.ts +95 -0
  260. package/src/lib/plugin-manager/plugin-record-index.js +51 -0
  261. package/src/lib/plugin-manager/plugin-record-index.js.map +1 -0
  262. package/src/lib/plugin-manager/plugin-record-written.d.ts +58 -0
  263. package/src/lib/plugin-manager/plugin-record-written.js +42 -0
  264. package/src/lib/plugin-manager/plugin-record-written.js.map +1 -0
  265. package/src/lib/plugin-manager/plugin-revenue-sources.d.ts +213 -0
  266. package/src/lib/plugin-manager/plugin-revenue-sources.js +194 -0
  267. package/src/lib/plugin-manager/plugin-revenue-sources.js.map +1 -0
  268. package/src/lib/plugin-manager/plugin-site-bundle.d.ts +145 -0
  269. package/src/lib/plugin-manager/plugin-site-bundle.js +78 -0
  270. package/src/lib/plugin-manager/plugin-site-bundle.js.map +1 -0
  271. package/src/lib/plugin-manager/plugin-site-cache.d.ts +12 -0
  272. package/src/lib/plugin-manager/plugin-site-cache.js.map +1 -1
  273. package/src/lib/plugin-manager/plugin-site-export.d.ts +81 -0
  274. package/src/lib/plugin-manager/plugin-site-export.js +40 -0
  275. package/src/lib/plugin-manager/plugin-site-export.js.map +1 -0
  276. package/src/lib/plugin-manager/plugin-sitemap-sections.d.ts +88 -0
  277. package/src/lib/plugin-manager/plugin-sitemap-sections.js +29 -0
  278. package/src/lib/plugin-manager/plugin-sitemap-sections.js.map +1 -0
  279. package/src/lib/plugin-manager/plugin-tax-profile.d.ts +20 -4
  280. package/src/lib/plugin-manager/plugin-tax-profile.js.map +1 -1
  281. package/src/lib/plugin-manager/plugin-tax-return-sources.d.ts +255 -0
  282. package/src/lib/plugin-manager/plugin-tax-return-sources.js +191 -0
  283. package/src/lib/plugin-manager/plugin-tax-return-sources.js.map +1 -0
  284. package/src/lib/plugin-manager/plugin-template-sources.d.ts +75 -0
  285. package/src/lib/plugin-manager/plugin-template-sources.js +37 -0
  286. package/src/lib/plugin-manager/plugin-template-sources.js.map +1 -0
  287. package/src/lib/plugin-manager/plugin-usage-axes.d.ts +107 -0
  288. package/src/lib/plugin-manager/plugin-usage-axes.js +107 -0
  289. package/src/lib/plugin-manager/plugin-usage-axes.js.map +1 -0
  290. package/src/lib/plugin-manager/plugin-zones.d.ts +4 -5
  291. package/src/lib/plugin-manager/plugin-zones.js.map +1 -1
  292. package/src/lib/plugin-manager/realm-host-aglyn.generated.js +2 -0
  293. package/src/lib/plugin-manager/realm-host-aglyn.generated.js.map +1 -1
  294. package/src/lib/plugin-manager/record-captured-contact.d.ts +1 -14
  295. package/src/lib/plugin-manager/record-captured-contact.js +10 -32
  296. package/src/lib/plugin-manager/record-captured-contact.js.map +1 -1
  297. package/src/lib/plugin-manager/repeat-rows.d.ts +124 -0
  298. package/src/lib/plugin-manager/repeat-rows.js +108 -0
  299. package/src/lib/plugin-manager/repeat-rows.js.map +1 -0
  300. package/src/lib/plugin-manager/submission-record-target.d.ts +144 -0
  301. package/src/lib/plugin-manager/submission-record-target.js +125 -0
  302. package/src/lib/plugin-manager/submission-record-target.js.map +1 -0
  303. package/src/lib/plugin-manager/video-embed-provider.d.ts +108 -0
  304. package/src/lib/plugin-manager/video-embed-provider.js +165 -0
  305. package/src/lib/plugin-manager/video-embed-provider.js.map +1 -0
  306. package/src/lib/types/nodes.d.ts +2 -2
  307. package/src/lib/types/nodes.js.map +1 -1
  308. package/src/lib/app-utils/campaign-attribution.js.map +0 -1
  309. package/src/lib/app-utils/campaign-forwarding.js.map +0 -1
  310. package/src/lib/app-utils/contact-holder.d.ts +0 -68
  311. package/src/lib/app-utils/contact-holder.js +0 -129
  312. package/src/lib/app-utils/contact-holder.js.map +0 -1
  313. package/src/lib/app-utils/contact-merge.d.ts +0 -136
  314. package/src/lib/app-utils/contact-merge.js +0 -412
  315. package/src/lib/app-utils/contact-merge.js.map +0 -1
  316. package/src/lib/app-utils/crm-csv.d.ts +0 -239
  317. package/src/lib/app-utils/crm-csv.js +0 -467
  318. package/src/lib/app-utils/crm-csv.js.map +0 -1
  319. package/src/lib/app-utils/crm-digest.d.ts +0 -185
  320. package/src/lib/app-utils/crm-digest.js +0 -272
  321. package/src/lib/app-utils/crm-digest.js.map +0 -1
  322. package/src/lib/app-utils/form-dataset-binding.d.ts +0 -50
  323. package/src/lib/app-utils/form-dataset-binding.js +0 -74
  324. package/src/lib/app-utils/form-dataset-binding.js.map +0 -1
  325. package/src/lib/app-utils/list-import.d.ts +0 -158
  326. package/src/lib/app-utils/list-import.js +0 -332
  327. package/src/lib/app-utils/list-import.js.map +0 -1
  328. package/src/lib/app-utils/marketplace-listing-visibility.d.ts +0 -122
  329. package/src/lib/app-utils/marketplace-listing-visibility.js +0 -147
  330. package/src/lib/app-utils/marketplace-listing-visibility.js.map +0 -1
  331. package/src/lib/app-utils/marketplace-overrides.js.map +0 -1
  332. package/src/lib/app-utils/marketplace-provenance.js.map +0 -1
  333. package/src/lib/app-utils/marketplace-theme.js.map +0 -1
  334. package/src/lib/app-utils/marketplace-update-state.d.ts +0 -119
  335. package/src/lib/app-utils/marketplace-update-state.js +0 -132
  336. package/src/lib/app-utils/marketplace-update-state.js.map +0 -1
  337. package/src/lib/app-utils/publisher-agreement.d.ts +0 -289
  338. package/src/lib/app-utils/publisher-agreement.js +0 -321
  339. package/src/lib/app-utils/publisher-agreement.js.map +0 -1
  340. package/src/lib/app-utils/wistia-embed.d.ts +0 -104
  341. package/src/lib/app-utils/wistia-embed.js +0 -138
  342. package/src/lib/app-utils/wistia-embed.js.map +0 -1
  343. package/src/lib/app-utils/workflows.d.ts +0 -136
  344. package/src/lib/app-utils/workflows.js +0 -346
  345. package/src/lib/app-utils/workflows.js.map +0 -1
  346. package/src/lib/plugin-manager/commerce-zone-props.d.ts +0 -172
  347. package/src/lib/plugin-manager/commerce-zone-props.js +0 -31
  348. package/src/lib/plugin-manager/commerce-zone-props.js.map +0 -1
@@ -1,132 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2026 Aglyn LLC
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */ import { resolveProvenance } from "./marketplace-provenance.js";
17
- import { offeredPluginVersion } from "./plugin-manifest.js";
18
- /**
19
- * Orders two artifact versions, or returns null when they cannot be ordered.
20
- *
21
- * Two numbering schemes are in play and both are real: copied artifacts get a
22
- * monotonic integer from the publish route, plugins get the semver string off
23
- * their manifest. A single string compare handles neither ("10" < "9",
24
- * "1.10.0" < "1.9.0"), so both are parsed as dotted numbers — which covers the
25
- * integer case as a one-segment version.
26
- *
27
- * Anything non-numeric (a prerelease tag, a date-stamped build) is not ordered
28
- * by guesswork: unequal-and-incomparable is reported as such and surfaces as
29
- * `unknown`, which is honest, where a string compare would confidently point
30
- * an update button at an older build.
31
- */ export function compareArtifactVersions(a, b) {
32
- if (a == null || b == null || a === '' || b === '') return null;
33
- const left = String(a);
34
- const right = String(b);
35
- if (left === right) return 0;
36
- const parse = (value)=>{
37
- const parts = value.split('.');
38
- const numbers = [];
39
- for (const part of parts){
40
- if (!/^\d+$/.test(part)) return null;
41
- numbers.push(Number(part));
42
- }
43
- return numbers.length ? numbers : null;
44
- };
45
- const leftParts = parse(left);
46
- const rightParts = parse(right);
47
- if (!leftParts || !rightParts) return null;
48
- const length = Math.max(leftParts.length, rightParts.length);
49
- for(let index = 0; index < length; index += 1){
50
- var _leftParts_index, _rightParts_index;
51
- const leftPart = (_leftParts_index = leftParts[index]) != null ? _leftParts_index : 0;
52
- const rightPart = (_rightParts_index = rightParts[index]) != null ? _rightParts_index : 0;
53
- if (leftPart < rightPart) return -1;
54
- if (leftPart > rightPart) return 1;
55
- }
56
- // Equal numerically but not as strings — "1.0" and "1.0.0" are the same
57
- // version written two ways.
58
- return 0;
59
- }
60
- const UNKNOWN = {
61
- state: 'unknown',
62
- installedVersion: null,
63
- availableVersion: null,
64
- unknownReason: 'no-provenance'
65
- };
66
- /**
67
- * Compares what is installed against what the listing offers (AGL-1016).
68
- *
69
- * For plugins the offer is the newest INSTALLABLE version, never
70
- * `latestVersion`. Installs already resolve it that way; advertising
71
- * `latestVersion` would leak AGL-966's guarantee straight back out through a
72
- * badge, telling a workspace an update exists that the install route would
73
- * then refuse to give them.
74
- *
75
- * `revocation` is the same leak one state over (AGL-2368). Approval is a
76
- * review verdict and the kill switch does not clear it, so `latestApprovedVersion`
77
- * could name a stopped version — an "Update to vX" for bytes `install-plugin`
78
- * answers 409 to. Optional because it is a second document and not every
79
- * caller holds it; every writer of the mirror derives it from
80
- * `newestInstallableVersion` since AGL-2306, so a caller without one is
81
- * reading a cache that is correct except in the window between two writes.
82
- * A caller that HAS it should pass it.
83
- */ export function resolveUpdateState(installed, listing, artifactType, revocation) {
84
- var _ref, _provenance_artifactType;
85
- const provenance = resolveProvenance(installed, artifactType);
86
- if (!installed || provenance.state === 'unknown' || !provenance.version) {
87
- return UNKNOWN;
88
- }
89
- const installedVersion = provenance.version;
90
- const type = (_ref = (_provenance_artifactType = provenance.artifactType) != null ? _provenance_artifactType : artifactType) != null ? _ref : null;
91
- const available = type === 'plugin' ? offeredPluginVersion(listing, revocation) : listing == null ? void 0 : listing.latestVersion;
92
- if (available == null || available === '') {
93
- return {
94
- state: 'unknown',
95
- installedVersion,
96
- availableVersion: null,
97
- unknownReason: 'nothing-published'
98
- };
99
- }
100
- const availableVersion = String(available);
101
- const order = compareArtifactVersions(installedVersion, availableVersion);
102
- if (order === null) {
103
- return {
104
- state: 'unknown',
105
- installedVersion,
106
- availableVersion,
107
- unknownReason: 'incomparable'
108
- };
109
- }
110
- return {
111
- state: order === 0 ? 'current' : order < 0 ? 'update-available' : 'ahead',
112
- installedVersion,
113
- availableVersion
114
- };
115
- }
116
- /**
117
- * One sentence describing an update state, so four surfaces do not each invent
118
- * their own wording for the same fact.
119
- */ export function updateStateLabel(status) {
120
- switch(status.state){
121
- case 'update-available':
122
- return `You have v${status.installedVersion} · v${status.availableVersion} available`;
123
- case 'current':
124
- return `Up to date · v${status.installedVersion}`;
125
- case 'ahead':
126
- return `You have v${status.installedVersion}, newer than the published v${status.availableVersion}`;
127
- default:
128
- return status.unknownReason === 'nothing-published' ? 'No published version to compare against' : status.unknownReason === 'incomparable' ? `You have v${status.installedVersion}; v${status.availableVersion} cannot be ordered against it` : 'Installed before update tracking — version unknown';
129
- }
130
- }
131
-
132
- //# sourceMappingURL=marketplace-update-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/marketplace-update-state.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { MarketplaceArtifactType } from './marketplace-provenance'\nimport { resolveProvenance } from './marketplace-provenance'\nimport {\n offeredPluginVersion,\n type PluginRevocation,\n} from './plugin-manifest'\n\n/**\n * \"Is what I have installed still what the publisher ships?\" (AGL-1016).\n *\n * This comparison was previously derived inline on the installed-plugins card\n * and nowhere else, so the Plugins index, the installation page and the\n * marketplace listing could each show a different answer — or none. It is\n * exactly the sort of thing that gets re-derived slightly differently in four\n * places, so it lives here, pure, and every surface asks it.\n */\n\nexport type UpdateState =\n /** Running the newest version the publisher offers. */\n | 'current'\n /** A newer version exists and can be taken. */\n | 'update-available'\n /**\n * Installed version is NEWER than what is offered. Not a bug: a publisher\n * installs their own unapproved version to test it, and a version can be\n * withdrawn after someone installed it.\n */\n | 'ahead'\n /** Not enough is known to say — no provenance, or nothing published to compare. */\n | 'unknown'\n\nexport interface UpdateStatus {\n state: UpdateState\n /** The version running, or null when provenance cannot say. */\n installedVersion: string | null\n /** The newest version on offer — for plugins, the newest APPROVED one. */\n availableVersion: string | null\n /**\n * Why the answer is `unknown`, for a UI that should say which kind of\n * silence this is rather than implying the artifact is current.\n */\n unknownReason?: 'no-provenance' | 'nothing-published' | 'incomparable'\n}\n\n/**\n * Orders two artifact versions, or returns null when they cannot be ordered.\n *\n * Two numbering schemes are in play and both are real: copied artifacts get a\n * monotonic integer from the publish route, plugins get the semver string off\n * their manifest. A single string compare handles neither (\"10\" < \"9\",\n * \"1.10.0\" < \"1.9.0\"), so both are parsed as dotted numbers — which covers the\n * integer case as a one-segment version.\n *\n * Anything non-numeric (a prerelease tag, a date-stamped build) is not ordered\n * by guesswork: unequal-and-incomparable is reported as such and surfaces as\n * `unknown`, which is honest, where a string compare would confidently point\n * an update button at an older build.\n */\nexport function compareArtifactVersions(\n a: string | number | null | undefined,\n b: string | number | null | undefined,\n): -1 | 0 | 1 | null {\n if (a == null || b == null || a === '' || b === '') return null\n const left = String(a)\n const right = String(b)\n if (left === right) return 0\n const parse = (value: string): number[] | null => {\n const parts = value.split('.')\n const numbers: number[] = []\n for (const part of parts) {\n if (!/^\\d+$/.test(part)) return null\n numbers.push(Number(part))\n }\n return numbers.length ? numbers : null\n }\n const leftParts = parse(left)\n const rightParts = parse(right)\n if (!leftParts || !rightParts) return null\n const length = Math.max(leftParts.length, rightParts.length)\n for (let index = 0; index < length; index += 1) {\n const leftPart = leftParts[index] ?? 0\n const rightPart = rightParts[index] ?? 0\n if (leftPart < rightPart) return -1\n if (leftPart > rightPart) return 1\n }\n // Equal numerically but not as strings — \"1.0\" and \"1.0.0\" are the same\n // version written two ways.\n return 0\n}\n\n/** The installed side: a plugin pin, or any copied artifact's document. */\nexport interface UpdateComparableInstall {\n version?: unknown\n installedFrom?: Record<string, unknown> | null\n marketplace?: { listingId?: string; version?: unknown } | null\n source?: { listingId?: string; version?: unknown } | null\n listingId?: string\n pluginId?: string\n sha256?: string\n}\n\n/** The listing side, as the public listing document carries it. */\nexport interface UpdateComparableListing {\n artifactType?: string\n type?: string\n kind?: string\n latestVersion?: unknown\n /**\n * The newest version that PASSED REVIEW (AGL-966), denormalised onto the\n * listing by the approval route because `pluginVersions` is server-only.\n */\n latestApprovedVersion?: unknown\n}\n\nconst UNKNOWN: UpdateStatus = {\n state: 'unknown',\n installedVersion: null,\n availableVersion: null,\n unknownReason: 'no-provenance',\n}\n\n/**\n * Compares what is installed against what the listing offers (AGL-1016).\n *\n * For plugins the offer is the newest INSTALLABLE version, never\n * `latestVersion`. Installs already resolve it that way; advertising\n * `latestVersion` would leak AGL-966's guarantee straight back out through a\n * badge, telling a workspace an update exists that the install route would\n * then refuse to give them.\n *\n * `revocation` is the same leak one state over (AGL-2368). Approval is a\n * review verdict and the kill switch does not clear it, so `latestApprovedVersion`\n * could name a stopped version — an \"Update to vX\" for bytes `install-plugin`\n * answers 409 to. Optional because it is a second document and not every\n * caller holds it; every writer of the mirror derives it from\n * `newestInstallableVersion` since AGL-2306, so a caller without one is\n * reading a cache that is correct except in the window between two writes.\n * A caller that HAS it should pass it.\n */\nexport function resolveUpdateState(\n installed: UpdateComparableInstall | null | undefined,\n listing: UpdateComparableListing | null | undefined,\n artifactType?: MarketplaceArtifactType,\n revocation?: PluginRevocation | null,\n): UpdateStatus {\n const provenance = resolveProvenance(installed as never, artifactType)\n if (!installed || provenance.state === 'unknown' || !provenance.version) {\n return UNKNOWN\n }\n const installedVersion = provenance.version\n const type = provenance.artifactType ?? artifactType ?? null\n const available =\n type === 'plugin'\n ? offeredPluginVersion(listing, revocation)\n : listing?.latestVersion\n if (available == null || available === '') {\n return {\n state: 'unknown',\n installedVersion,\n availableVersion: null,\n unknownReason: 'nothing-published',\n }\n }\n const availableVersion = String(available)\n const order = compareArtifactVersions(installedVersion, availableVersion)\n if (order === null) {\n return {\n state: 'unknown',\n installedVersion,\n availableVersion,\n unknownReason: 'incomparable',\n }\n }\n return {\n state: order === 0 ? 'current' : order < 0 ? 'update-available' : 'ahead',\n installedVersion,\n availableVersion,\n }\n}\n\n/**\n * One sentence describing an update state, so four surfaces do not each invent\n * their own wording for the same fact.\n */\nexport function updateStateLabel(status: UpdateStatus): string {\n switch (status.state) {\n case 'update-available':\n return `You have v${status.installedVersion} · v${status.availableVersion} available`\n case 'current':\n return `Up to date · v${status.installedVersion}`\n case 'ahead':\n return `You have v${status.installedVersion}, newer than the published v${status.availableVersion}`\n default:\n return status.unknownReason === 'nothing-published'\n ? 'No published version to compare against'\n : status.unknownReason === 'incomparable'\n ? `You have v${status.installedVersion}; v${status.availableVersion} cannot be ordered against it`\n : 'Installed before update tracking — version unknown'\n }\n}\n"],"names":["resolveProvenance","offeredPluginVersion","compareArtifactVersions","a","b","left","String","right","parse","value","parts","split","numbers","part","test","push","Number","length","leftParts","rightParts","Math","max","index","leftPart","rightPart","UNKNOWN","state","installedVersion","availableVersion","unknownReason","resolveUpdateState","installed","listing","artifactType","revocation","provenance","version","type","available","latestVersion","order","updateStateLabel","status"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAGD,SAASA,iBAAiB,QAAQ,8BAA0B;AAC5D,SACEC,oBAAoB,QAEf,uBAAmB;AAuC1B;;;;;;;;;;;;;CAaC,GACD,OAAO,SAASC,wBACdC,CAAqC,EACrCC,CAAqC;IAErC,IAAID,KAAK,QAAQC,KAAK,QAAQD,MAAM,MAAMC,MAAM,IAAI,OAAO;IAC3D,MAAMC,OAAOC,OAAOH;IACpB,MAAMI,QAAQD,OAAOF;IACrB,IAAIC,SAASE,OAAO,OAAO;IAC3B,MAAMC,QAAQ,CAACC;QACb,MAAMC,QAAQD,MAAME,KAAK,CAAC;QAC1B,MAAMC,UAAoB,EAAE;QAC5B,KAAK,MAAMC,QAAQH,MAAO;YACxB,IAAI,CAAC,QAAQI,IAAI,CAACD,OAAO,OAAO;YAChCD,QAAQG,IAAI,CAACC,OAAOH;QACtB;QACA,OAAOD,QAAQK,MAAM,GAAGL,UAAU;IACpC;IACA,MAAMM,YAAYV,MAAMH;IACxB,MAAMc,aAAaX,MAAMD;IACzB,IAAI,CAACW,aAAa,CAACC,YAAY,OAAO;IACtC,MAAMF,SAASG,KAAKC,GAAG,CAACH,UAAUD,MAAM,EAAEE,WAAWF,MAAM;IAC3D,IAAK,IAAIK,QAAQ,GAAGA,QAAQL,QAAQK,SAAS,EAAG;YAC7BJ,kBACCC;QADlB,MAAMI,YAAWL,mBAAAA,SAAS,CAACI,MAAM,YAAhBJ,mBAAoB;QACrC,MAAMM,aAAYL,oBAAAA,UAAU,CAACG,MAAM,YAAjBH,oBAAqB;QACvC,IAAII,WAAWC,WAAW,OAAO,CAAC;QAClC,IAAID,WAAWC,WAAW,OAAO;IACnC;IACA,wEAAwE;IACxE,4BAA4B;IAC5B,OAAO;AACT;AA0BA,MAAMC,UAAwB;IAC5BC,OAAO;IACPC,kBAAkB;IAClBC,kBAAkB;IAClBC,eAAe;AACjB;AAEA;;;;;;;;;;;;;;;;;CAiBC,GACD,OAAO,SAASC,mBACdC,SAAqD,EACrDC,OAAmD,EACnDC,YAAsC,EACtCC,UAAoC;QAOvBC,MAAAA;IALb,MAAMA,aAAanC,kBAAkB+B,WAAoBE;IACzD,IAAI,CAACF,aAAaI,WAAWT,KAAK,KAAK,aAAa,CAACS,WAAWC,OAAO,EAAE;QACvE,OAAOX;IACT;IACA,MAAME,mBAAmBQ,WAAWC,OAAO;IAC3C,MAAMC,QAAOF,QAAAA,2BAAAA,WAAWF,YAAY,YAAvBE,2BAA2BF,wBAA3BE,OAA2C;IACxD,MAAMG,YACJD,SAAS,WACLpC,qBAAqB+B,SAASE,cAC9BF,2BAAAA,QAASO,aAAa;IAC5B,IAAID,aAAa,QAAQA,cAAc,IAAI;QACzC,OAAO;YACLZ,OAAO;YACPC;YACAC,kBAAkB;YAClBC,eAAe;QACjB;IACF;IACA,MAAMD,mBAAmBtB,OAAOgC;IAChC,MAAME,QAAQtC,wBAAwByB,kBAAkBC;IACxD,IAAIY,UAAU,MAAM;QAClB,OAAO;YACLd,OAAO;YACPC;YACAC;YACAC,eAAe;QACjB;IACF;IACA,OAAO;QACLH,OAAOc,UAAU,IAAI,YAAYA,QAAQ,IAAI,qBAAqB;QAClEb;QACAC;IACF;AACF;AAEA;;;CAGC,GACD,OAAO,SAASa,iBAAiBC,MAAoB;IACnD,OAAQA,OAAOhB,KAAK;QAClB,KAAK;YACH,OAAO,CAAC,UAAU,EAAEgB,OAAOf,gBAAgB,CAAC,IAAI,EAAEe,OAAOd,gBAAgB,CAAC,UAAU,CAAC;QACvF,KAAK;YACH,OAAO,CAAC,cAAc,EAAEc,OAAOf,gBAAgB,EAAE;QACnD,KAAK;YACH,OAAO,CAAC,UAAU,EAAEe,OAAOf,gBAAgB,CAAC,4BAA4B,EAAEe,OAAOd,gBAAgB,EAAE;QACrG;YACE,OAAOc,OAAOb,aAAa,KAAK,sBAC5B,4CACAa,OAAOb,aAAa,KAAK,iBACvB,CAAC,UAAU,EAAEa,OAAOf,gBAAgB,CAAC,GAAG,EAAEe,OAAOd,gBAAgB,CAAC,6BAA6B,CAAC,GAChG;IACV;AACF"}
@@ -1,289 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2026 Aglyn LLC
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- /**
18
- * The version of the agreement currently in force.
19
- *
20
- * Matches the `Agreement version` header of the document itself, which is now
21
- * besigner content at {@link PUBLISHER_AGREEMENT_URL} rather than a repo file
22
- * (same practice as the Terms of Service). Bump this **only** when the
23
- * substance changes in a way a publisher should re-read — a typo fix is not a
24
- * bump. Bumping it stops every publisher at their next publish until they
25
- * accept again.
26
- *
27
- * Moved off `2026-07-28.1` on 2026-08-14 (AGL-1674). That string named the
28
- * July draft, which was never published and whose §8 said the publisher is the
29
- * seller of record. The published text says the opposite — Aglyn processes the
30
- * sale and remits transaction tax — so it is a different document in
31
- * substance, not a reissue, and re-asking is the point rather than a cost.
32
- *
33
- * Moved to `2026-08-18.1` on 2026-08-18 (AGL-1840 + AGL-1661). Two body-text
34
- * changes: §1 now says "the Aglyn marketplace" (the AGL-975 rename, and the
35
- * reason this snapshot must NOT need the AGL-975 naming-guard exemption that
36
- * the `2026-08-14.1` one still carries), and §1's cross-reference to
37
- * the "End User Licence Agreement"
38
- * becomes "License" to match the document that agreement actually is, which
39
- * was renamed on the same day.
40
- *
41
- * ⚠️ Read against the "a typo fix is not a bump" rule above, both edits are
42
- * closer to a typo than to substance, and the tension is real. The bump was
43
- * taken anyway on the decision (2026-08-18), for a reason the rule does not
44
- * cover: the served page changed, so keeping `2026-08-14.1` would leave the
45
- * pin below asserting a hash for text nobody is shown any more — a FALSE
46
- * RECORD, which is the exact failure the pin exists to detect. The choice is
47
- * therefore between a bump and a broken pin, not between a bump and nothing.
48
- *
49
- * ## 2026-08-22 — the page changed and this string DELIBERATELY did not
50
- *
51
- * Three clauses were added on 2026-08-22 (§3(h) listing conduct, §8.6 sales
52
- * through the Marketplace, §13.6 marks) and the pin below moved with them, but
53
- * `2026-08-18.1` stayed. That is not the third option the paragraph above says
54
- * does not exist — it is the same choice with one input changed. A bump exists
55
- * to re-ask publishers who accepted the OLD text; production holds exactly one
56
- * acceptance record and it is the own, so there is nobody to re-ask and the
57
- * bump would buy nothing. the decision, 2026-08-22.
58
- *
59
- * The pin still had to move, for precisely the reason given above: the served
60
- * bytes changed, so leaving the old hash here would assert a document nobody
61
- * is shown. Version unchanged + pin re-captured is coherent ONLY while the
62
- * acceptance set is empty. The first real publisher acceptance ends that, and
63
- * from then on any body-text change costs a bump — see the same rule in
64
- * `apps/console/constants/legal-documents.ts`, where the clickwrap snapshots
65
- * collapsed back to `v1` on the identical argument.
66
- *
67
- * ## 2026-08-24 — `2026-08-24.1`, and why this one CANNOT be folded (AGL-1956)
68
- *
69
- * §13.3 changed twice in one sentence. The venue moved from Williamson County
70
- * to TRAVIS County (decided) — Williamson entered from the former
71
- * Jarrell residential address, while every published Aglyn address is 5900
72
- * Balcones Dr STE 100, Austin, TX 78731, which is Travis. And the clause cited
73
- * "Terms of Service Section 19" for governing law and venue when those live at
74
- * §18.6; §19 is General. A wrong cross-reference in a forum-selection clause is
75
- * the kind of defect that gets argued about, so it was corrected in the same
76
- * pass.
77
- *
78
- * Unlike 2026-08-22, this one takes the bump rather than only re-pinning, and
79
- * the deciding reason is mechanical rather than editorial: THIS VERSION STRING
80
- * IS PUBLISHED IN THE DOCUMENT. The page at {@link PUBLISHER_AGREEMENT_URL}
81
- * serves `Agreement version: 2026-08-24.1` in its own second line, so the
82
- * capture below contains it, and `publisher-agreement-version.spec.ts` asserts
83
- * the snapshot contains `Agreement version: ${PUBLISHER_AGREEMENT_VERSION}`.
84
- * Holding the constant at `2026-08-18.1` against that text would need the page
85
- * republished to say so, and would otherwise record a publisher as having
86
- * accepted `2026-08-18.1` while naming bytes that call themselves
87
- * `2026-08-24.1`. That is a false record of exactly the shape the pin exists
88
- * to prevent.
89
- *
90
- * ⚠️ THIS IS THE ONE PLACE THE CLICKWRAP ARGUMENT DOES NOT REACH. The signup
91
- * clickwrap folded its 2026-08-24 corrections into `v1` and did not bump
92
- * (`apps/console/constants/legal-documents.ts`) — decided: no v2
93
- * before launch. That works there because `v1` is a REPO-SIDE label: the
94
- * published Terms carry a "Last updated" date and no version string at all, so
95
- * the label can stay still while the text moves. Here the label is part of the
96
- * document a publisher reads. The two schemes are not the same kind of thing
97
- * and must not be reasoned about as one — that difference is the whole content
98
- * of this paragraph.
99
- *
100
- * On the merits it would have been a bump anyway: a forum-selection clause is
101
- * substance, not a typo — it names the court a publisher would have to travel
102
- * to. The 2026-08-22 cost argument is unchanged and still cheap, production
103
- * holding exactly one acceptance record which is the own.
104
- *
105
- * §8.1 and §8.3 are UNTOUCHED and were already correct: they have said Aglyn is
106
- * merchant of record and determines, collects and remits transaction tax since
107
- * 2026-08-14. The Terms of Service moved TO them in this pass (new ToS §10.7),
108
- * not the other way around.
109
- */
110
- export declare const PUBLISHER_AGREEMENT_VERSION = "2026-08-24.1";
111
- export declare const PUBLISHER_AGREEMENT_TITLE = "Marketplace Publisher Agreement";
112
- /**
113
- * The snapshot pin for the version above (AGL-1678).
114
- *
115
- * A version string is a label we control and can reuse, so on its own it
116
- * proves nothing about what a publisher actually read. These two values pin
117
- * the archived snapshot at
118
- * `legal/publisher-agreement/{PUBLISHER_AGREEMENT_VERSION}/marketplace-publisher-agreement.txt`
119
- * (beside this module), captured FROM THE LIVE PAGE after publication — the
120
- * same publication-first machinery as the signup clickwrap
121
- * (`apps/console/constants/legal-documents.ts`, AGL-1497), and deliberately a
122
- * PARALLEL manifest rather than an entry in `LEGAL_DOCUMENTS`: ToS §19.1 makes
123
- * that set the entire signup agreement, and the publisher agreement is
124
- * deliberately not part of it. Mixing them would widen what a signup
125
- * acceptance covers.
126
- *
127
- * Both values go onto every acceptance record, so a record is self-contained
128
- * evidence of content and later tampering with the archive is detectable
129
- * rather than invisible. `publisher-agreement-version.spec.ts` re-hashes the
130
- * snapshot, so one version string can never come to mean two different
131
- * documents.
132
- *
133
- * Capture method (proven byte-for-byte against the clickwrap v4 hashes before
134
- * this snapshot was taken): fetch the live page, walk its HTML text nodes
135
- * skipping script/style, trim each, drop empties, take the document's content
136
- * block (first line `Last updated: …` through its closing `© …` line,
137
- * excluding site chrome and the table of contents), join with `\n`, and end
138
- * with a trailing newline. UTF-8 throughout.
139
- *
140
- * TO PUBLISH A CHANGE: publish the besigner edit first, confirm the live page
141
- * serves it, capture a new snapshot under the new version's directory, then
142
- * bump `PUBLISHER_AGREEMENT_VERSION` and these two values together, and add
143
- * the version's entry to `PUBLISHER_AGREEMENT_CHANGES` below. Never
144
- * hand-write a snapshot: it is evidence of what a publisher was shown, and a
145
- * snapshot of unpublished text is a false record.
146
- */
147
- export declare const PUBLISHER_AGREEMENT_SHA256 = "2df6e940f037b4630e53c8f63bad8604ef4bf370374b89afcd4ea7f9fe8e8d63";
148
- /** Byte length of the same snapshot — a cheap second check on the content. */
149
- export declare const PUBLISHER_AGREEMENT_BYTES = 13730;
150
- /**
151
- * Canonical document, on the operator's legal origin beside the other terms.
152
- *
153
- * Built from `LEGAL_ORIGIN` (AGL-2196), which this module already depends on:
154
- * `publisherAgreementIsPublished` below calls `isPublishedLegalUrl`, and that
155
- * accepts ONLY `LEGAL_ORIGIN`. So the gate was operator-aware while the link
156
- * it gates was a bare `aglyn.com` literal — meaning on a self-host install
157
- * with `NEXT_PUBLIC_OPERATOR_LEGAL_ORIGIN` set, the gate rejected the very URL
158
- * this file handed it, and every publisher was blocked from accepting. One
159
- * origin for both closes that, and leaves Aglyn's own URL byte-identical.
160
- */
161
- export declare const PUBLISHER_AGREEMENT_URL: string;
162
- /**
163
- * Whether that document can actually be read (AGL-1660).
164
- *
165
- * It could not, from the day this gate shipped until the day this check did:
166
- * the URL above 404ed, and the console still rendered it as "Read the full
167
- * Marketplace Publisher Agreement" above an Accept button. An acceptance
168
- * collected that way is a signature on a blank page — the same
169
- * publication-first principle the clickwrap snapshots are built on, failing in
170
- * the one place the text was never published at all.
171
- *
172
- * Derived, not a second flag: it reads `PUBLISHED_LEGAL_PATHS`, so the ONE
173
- * edit that adds the path when the page goes live is what re-opens acceptance
174
- * everywhere. There is no boolean to forget to flip, and no way for the link
175
- * and the gate to disagree.
176
- */
177
- export declare function publisherAgreementIsPublished(url?: string): boolean;
178
- /**
179
- * What a publisher is told while the document has no page.
180
- *
181
- * Deliberately not "try again later" — it names the reason, because the fix is
182
- * ours and the publisher can do nothing about it. It must never read as though
183
- * accepting is something they merely have not got round to.
184
- */
185
- export declare const PUBLISHER_AGREEMENT_UNAVAILABLE_NOTICE: string;
186
- /**
187
- * What the agreement actually commits a publisher to.
188
- *
189
- * Shown above the accept control. A link alone is the pattern that produces
190
- * agreements nobody has read; these are the terms most likely to surprise
191
- * someone later, in the words they would need at that moment. They summarise
192
- * the document — they are not it, and the copy says so.
193
- */
194
- export declare const PUBLISHER_AGREEMENT_POINTS: readonly {
195
- id: string;
196
- label: string;
197
- detail: string;
198
- }[];
199
- /**
200
- * What each version changed from the one before it, in the words a publisher
201
- * re-accepting needs (AGL-3407).
202
- *
203
- * An org that accepted an older version is asked again, and "the terms
204
- * changed" with nothing more is a request to re-read thirteen sections to
205
- * find two edited clauses. Each entry names the sections that moved, read off
206
- * the archived snapshots beside this module (`legal/publisher-agreement/`) —
207
- * never written from memory of the edit, for the same reason a snapshot is
208
- * never hand-written.
209
- *
210
- * Oldest first. The last entry is always {@link PUBLISHER_AGREEMENT_VERSION}:
211
- * a bump adds its entry in the same change, and
212
- * `publisher-agreement-version.spec.ts` fails a bump that did not. The first
213
- * published version has no entry, because nothing preceded it that anyone
214
- * accepted.
215
- */
216
- export declare const PUBLISHER_AGREEMENT_CHANGES: readonly {
217
- version: string;
218
- changes: readonly string[];
219
- }[];
220
- /**
221
- * The changes an org has not yet accepted, oldest first.
222
- *
223
- * Versions are dated strings (`YYYY-MM-DD.n`), so they order as text. An
224
- * acceptance of a version this list does not name — one older than the first
225
- * entry — gets every entry, which is the honest answer: all of it is new to
226
- * them. No acceptance at all gets none, because a first acceptance is of the
227
- * whole document, not a set of edits.
228
- */
229
- export declare function publisherAgreementChangesSince(acceptedVersion: string | null | undefined, currentVersion?: string): readonly {
230
- version: string;
231
- changes: readonly string[];
232
- }[];
233
- /**
234
- * A recorded acceptance: which version, of which exact bytes, by whom, when.
235
- *
236
- * `sha256`/`bytes` (AGL-1678) pin the acceptance to the archived snapshot of
237
- * the text the publisher was shown. Optional because records written before
238
- * the pin existed carry only the version string — absence means "accepted
239
- * before 2026-08-17", not "accepted nothing".
240
- */
241
- export interface PublisherAgreementAcceptance {
242
- version?: string;
243
- sha256?: string;
244
- bytes?: number;
245
- acceptedBy?: string;
246
- acceptedAt?: unknown;
247
- }
248
- /**
249
- * Where an org stands with the agreement.
250
- *
251
- * `none` and `outdated` are deliberately different answers. "You have never
252
- * agreed to anything" and "the terms changed since you agreed" are different
253
- * situations with different copy, and collapsing them into a boolean is how
254
- * a re-acceptance ends up reading like a first-time setup step.
255
- */
256
- export type PublisherAgreementState = 'none' | 'outdated' | 'current';
257
- export declare function publisherAgreementState(acceptance: PublisherAgreementAcceptance | null | undefined, currentVersion?: string): PublisherAgreementState;
258
- /**
259
- * Whether a publish may proceed.
260
- *
261
- * An older acceptance is NOT carried forward. Whoever publishes next reads
262
- * the changed agreement and accepts it, or does not publish — silently
263
- * inheriting an acceptance across a rewrite is precisely what makes the
264
- * record worthless.
265
- */
266
- export declare function hasCurrentPublisherAgreement(acceptance: PublisherAgreementAcceptance | null | undefined, currentVersion?: string): boolean;
267
- /**
268
- * What the acceptance UI may show (AGL-1660).
269
- *
270
- * The gate lives HERE rather than in the panel, for the reason every "check it
271
- * in the component" control eventually fails: the component is not the only
272
- * caller. The accept route consults the same function, so a client that skips
273
- * the UI entirely meets the same answer.
274
- *
275
- * `documentUrl` is null, not the URL, when the document is unpublished — the
276
- * console reads the link target from this, so an unreadable document is
277
- * structurally unable to reach an href.
278
- */
279
- export interface PublisherAgreementPresentation {
280
- /** The document to link, or null when there is no page to link to. */
281
- documentUrl: string | null;
282
- /** Whether the accept control may be offered at all. */
283
- canAccept: boolean;
284
- /** Why acceptance is unavailable, or null when it is available. */
285
- unavailableNotice: string | null;
286
- }
287
- export declare function publisherAgreementPresentation(state: PublisherAgreementState, published?: boolean): PublisherAgreementPresentation;
288
- /** The refusal a publisher sees, saying which of the two problems it is. */
289
- export declare function publisherAgreementRefusal(state: PublisherAgreementState, published?: boolean): string;