@geekity/cms 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +107 -0
  2. package/admin/pages/documents/editor.njk +51 -0
  3. package/admin/pages/documents/syndication.njk +110 -0
  4. package/admin/pages/federation/followers.njk +7 -0
  5. package/admin/static/admin.css +11 -0
  6. package/dist/admin/documents.d.ts +101 -0
  7. package/dist/admin/documents.d.ts.map +1 -1
  8. package/dist/admin/documents.js +199 -67
  9. package/dist/admin/documents.js.map +1 -1
  10. package/dist/admin/federation.d.ts +15 -0
  11. package/dist/admin/federation.d.ts.map +1 -1
  12. package/dist/admin/federation.js +19 -0
  13. package/dist/admin/federation.js.map +1 -1
  14. package/dist/admin/menu.d.ts.map +1 -1
  15. package/dist/admin/menu.js +3 -0
  16. package/dist/admin/menu.js.map +1 -1
  17. package/dist/admin/photo-field.d.ts +39 -0
  18. package/dist/admin/photo-field.d.ts.map +1 -0
  19. package/dist/admin/photo-field.js +91 -0
  20. package/dist/admin/photo-field.js.map +1 -0
  21. package/dist/admin/preview.d.ts.map +1 -1
  22. package/dist/admin/preview.js +6 -1
  23. package/dist/admin/preview.js.map +1 -1
  24. package/dist/admin/routes.d.ts.map +1 -1
  25. package/dist/admin/routes.js +4 -0
  26. package/dist/admin/routes.js.map +1 -1
  27. package/dist/admin/syndication-targets.d.ts +57 -0
  28. package/dist/admin/syndication-targets.d.ts.map +1 -0
  29. package/dist/admin/syndication-targets.js +266 -0
  30. package/dist/admin/syndication-targets.js.map +1 -0
  31. package/dist/admin/templates.d.ts +1 -0
  32. package/dist/admin/templates.d.ts.map +1 -1
  33. package/dist/admin/templates.js +1 -0
  34. package/dist/admin/templates.js.map +1 -1
  35. package/dist/admin/uploads.d.ts +6 -0
  36. package/dist/admin/uploads.d.ts.map +1 -1
  37. package/dist/admin/uploads.js +1 -1
  38. package/dist/admin/uploads.js.map +1 -1
  39. package/dist/content/citation.d.ts +36 -0
  40. package/dist/content/citation.d.ts.map +1 -0
  41. package/dist/content/citation.js +31 -0
  42. package/dist/content/citation.js.map +1 -0
  43. package/dist/content/index.d.ts +2 -0
  44. package/dist/content/index.d.ts.map +1 -1
  45. package/dist/content/index.js +1 -0
  46. package/dist/content/index.js.map +1 -1
  47. package/dist/content/photo.d.ts +45 -0
  48. package/dist/content/photo.d.ts.map +1 -0
  49. package/dist/content/photo.js +55 -0
  50. package/dist/content/photo.js.map +1 -0
  51. package/dist/content/post-type.d.ts +20 -8
  52. package/dist/content/post-type.d.ts.map +1 -1
  53. package/dist/content/post-type.js +17 -0
  54. package/dist/content/post-type.js.map +1 -1
  55. package/dist/federation/article.d.ts.map +1 -1
  56. package/dist/federation/article.js +59 -5
  57. package/dist/federation/article.js.map +1 -1
  58. package/dist/federation/citations.d.ts +38 -0
  59. package/dist/federation/citations.d.ts.map +1 -0
  60. package/dist/federation/citations.js +98 -0
  61. package/dist/federation/citations.js.map +1 -0
  62. package/dist/federation/delivery.d.ts.map +1 -1
  63. package/dist/federation/delivery.js +79 -31
  64. package/dist/federation/delivery.js.map +1 -1
  65. package/dist/images/alt-text.d.ts +6 -0
  66. package/dist/images/alt-text.d.ts.map +1 -1
  67. package/dist/images/alt-text.js +10 -0
  68. package/dist/images/alt-text.js.map +1 -1
  69. package/dist/index.d.ts +4 -4
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +23 -2
  72. package/dist/index.js.map +1 -1
  73. package/dist/indieauth/bearer.d.ts +6 -1
  74. package/dist/indieauth/bearer.d.ts.map +1 -1
  75. package/dist/indieauth/bearer.js +39 -12
  76. package/dist/indieauth/bearer.js.map +1 -1
  77. package/dist/indieauth/discovery.d.ts +9 -4
  78. package/dist/indieauth/discovery.d.ts.map +1 -1
  79. package/dist/indieauth/discovery.js +18 -7
  80. package/dist/indieauth/discovery.js.map +1 -1
  81. package/dist/micropub/create.d.ts +56 -0
  82. package/dist/micropub/create.d.ts.map +1 -0
  83. package/dist/micropub/create.js +200 -0
  84. package/dist/micropub/create.js.map +1 -0
  85. package/dist/micropub/endpoint.d.ts +21 -0
  86. package/dist/micropub/endpoint.d.ts.map +1 -0
  87. package/dist/micropub/endpoint.js +353 -0
  88. package/dist/micropub/endpoint.js.map +1 -0
  89. package/dist/micropub/media.d.ts +14 -0
  90. package/dist/micropub/media.d.ts.map +1 -0
  91. package/dist/micropub/media.js +93 -0
  92. package/dist/micropub/media.js.map +1 -0
  93. package/dist/micropub/update.d.ts +44 -0
  94. package/dist/micropub/update.d.ts.map +1 -0
  95. package/dist/micropub/update.js +133 -0
  96. package/dist/micropub/update.js.map +1 -0
  97. package/dist/web/context.d.ts +42 -3
  98. package/dist/web/context.d.ts.map +1 -1
  99. package/dist/web/context.js +41 -1
  100. package/dist/web/context.js.map +1 -1
  101. package/dist/web/render.d.ts +15 -0
  102. package/dist/web/render.d.ts.map +1 -1
  103. package/dist/web/render.js +16 -0
  104. package/dist/web/render.js.map +1 -1
  105. package/dist/web/routes.js +2 -2
  106. package/dist/webmention/index.d.ts +2 -0
  107. package/dist/webmention/index.d.ts.map +1 -1
  108. package/dist/webmention/index.js +1 -0
  109. package/dist/webmention/index.js.map +1 -1
  110. package/dist/webmention/service.d.ts.map +1 -1
  111. package/dist/webmention/service.js +96 -18
  112. package/dist/webmention/service.js.map +1 -1
  113. package/dist/webmention/syndication.d.ts +135 -0
  114. package/dist/webmention/syndication.d.ts.map +1 -0
  115. package/dist/webmention/syndication.js +337 -0
  116. package/dist/webmention/syndication.js.map +1 -0
  117. package/package.json +1 -1
  118. package/themes/default/README.md +40 -9
  119. package/themes/default/layouts/post.njk +19 -6
  120. package/themes/default/partials/citations.njk +17 -0
  121. package/themes/default/partials/jsonld.njk +12 -1
  122. package/themes/default/partials/photos.njk +10 -0
  123. package/themes/default/partials/post-list.njk +7 -0
  124. package/themes/default/src/style.css +9 -0
  125. package/themes/default/static/style.css +16 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAS1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW,EACX,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAUpG,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,cAAc,EACd,aAAa,EACb,WAAW,EACX,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,uBAAuB,EACvB,SAAS,EACT,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,8BAA8B,EAC9B,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,eAAe,EACf,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,KAAK,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,gBAAgB,EAChB,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,SAAS,EACT,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,yBAAyB,EACzB,eAAe,EACf,cAAc,EACd,SAAS,EACT,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,cAAc,EACd,4BAA4B,EAC5B,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,eAAe,EACf,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,eAAe,EACf,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAyF1B,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,0BAA0B;AAC1B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,8BAA8B,EAC9B,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,aAAa,GACd,MAAM,aAAa,CAAC;AAWrB,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,8BAA8B;AAC9B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,WAAW,EACX,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,iCAAiC,EACjC,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAmC7B,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAgB5B,8EAA8E;AAC9E,2EAA2E;AAC3E,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,OAAO,GACR,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9F,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,SAAS,EACT,eAAe,EACf,UAAU,EACV,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAY3B,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,WAAW,EACX,QAAQ,EACR,uBAAuB,EACvB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,SAAS,GACV,MAAM,oBAAoB,CAAC;AAiD5B,4EAA4E;AAC5E,+DAA+D;AAC/D,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,EACb,iCAAiC,EACjC,cAAc,EACd,sBAAsB,EACtB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,kCAAkC,EAClC,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAgBlC,+EAA+E;AAC/E,+EAA+E;AAC/E,uBAAuB;AACvB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AA0BzB,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,SAAS,EACT,UAAU,EACV,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAuB/B,OAAO,EACL,WAAW,EACX,4BAA4B,EAC5B,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,WAAW,EACX,aAAa,EACb,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,KAAK,EACL,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,OAAO,EACP,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,OAAO,EACP,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,YAAY,EACZ,OAAO,EACP,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAmFxB,OAAO,EACL,SAAS,EACT,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,WAAW,EACX,SAAS,EACT,OAAO,EACP,OAAO,EACP,SAAS,EACT,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EAChB,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAoB/B,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,uCAAuC,EACvC,wCAAwC,EACxC,0CAA0C,GAC3C,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAOpF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAyL3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,SAAS,CAAC,QAAwB;IACzC,OAAO,mBAAmB,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QAChD,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,MAAM,GAAkB,EAAE;IAClD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE7C,yEAAyE;IACzE,2EAA2E;IAC3E,sEAAsE;IACtE,qCAAqC;IACrC,qBAAqB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAElE,uEAAuE;IACvE,sEAAsE;IACtE,2EAA2E;IAC3E,2EAA2E;IAC3E,6BAA6B;IAC7B,uBAAuB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9D,6EAA6E;IAC7E,0EAA0E;IAC1E,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAEzD,wDAAwD;IACxD,4EAA4E;IAC5E,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,wBAAwB;IACxB,wBAAwB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACrE,wBAAwB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAErE,uEAAuE;IACvE,4EAA4E;IAC5E,wEAAwE;IACxE,6EAA6E;IAC7E,qCAAqC;IACrC,MAAM,cAAc,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC7F,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACrC,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAEtC,sEAAsE;IACtE,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,gEAAgE;IAChE,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,wEAAwE;IACxE,sDAAsD;IACtD,QAAQ,CAAC,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAErF,yEAAyE;IACzE,yEAAyE;IACzE,4EAA4E;IAC5E,4BAA4B;IAC5B,EAAE;IACF,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,4DAA4D;IAC5D,QAAQ,CAAC,cAAc,KAAK,oBAAoB,CAAC;QAC/C,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,0EAA0E;QAC1E,gEAAgE;QAChE,QAAQ,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ;KAC/D,CAAC,CAAC;IAEH,0EAA0E;IAC1E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,sEAAsE;IACtE,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,iBAAiB,CAAC;QAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACzC,CAAC,CAAC;IACH,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,CAAC,OAAO,EAAE,CAAC;IAEjB,4EAA4E;IAC5E,0EAA0E;IAC1E,yDAAyD;IACzD,MAAM,SAAS,GAAG,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5E,SAAS,CAAC,OAAO,EAAE,CAAC;IAEpB,MAAM,OAAO,GAAG,iBAAiB,CAAC;QAChC,KAAK;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC,CAAC;IACH,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAE/E,6EAA6E;IAC7E,4EAA4E;IAC5E,wEAAwE;IACxE,uDAAuD;IACvD,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK;QACL,KAAK;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC,CAAC;IAEH,wEAAwE;IACxE,0EAA0E;IAC1E,gDAAgD;IAChD,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEtD,MAAM,aAAa,GAAG,yBAAyB,CAAC;QAC9C,KAAK;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,MAAM,EAAE,QAAQ,CAAC,UAAU;KAC5B,CAAC,CAAC;IAEH,sEAAsE;IACtE,sEAAsE;IACtE,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEjE,4EAA4E;IAC5E,+BAA+B;IAC/B,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEtE,MAAM,QAAQ,GAAG,cAAc,CAAC;QAC9B,MAAM,EAAE,QAAQ;QAChB,MAAM;QACN,yEAAyE;QACzE,kEAAkE;QAClE,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QACpD,yEAAyE;QACzE,sDAAsD;QACtD,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO,EAAE,eAAe,CACtB,QAAQ,EACR,kBAAkB,EAAE,EACpB,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAC/C;YACD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SACvD,CAAC;QACF,yEAAyE;QACzE,sEAAsE;QACtE,sEAAsE;QACtE,wEAAwE;QACxE,sEAAsE;QACtE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC5F,qEAAqE;QACrE,0EAA0E;QAC1E,sEAAsE;QACtE,0EAA0E;QAC1E,mBAAmB;QACnB,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxC,0EAA0E;QAC1E,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,kDAAkD;QAClD,YAAY,EAAE,YAAY,CAAC,MAAM;QACjC,2EAA2E;QAC3E,2EAA2E;QAC3E,wDAAwD;QACxD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAChC,cAAc,CAAC;YACb,QAAQ;YACR,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;YACrB,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE;YACnB,iEAAiE;YACjE,qEAAqE;YACrE,qEAAqE;YACrE,yDAAyD;YACzD,MAAM;YACN,sEAAsE;YACtE,oEAAoE;YACpE,iDAAiD;YACjD,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SAC9B,CAAC;QACJ,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;QAC5E,wEAAwE;QACxE,sEAAsE;QACtE,0EAA0E;QAC1E,4DAA4D;QAC5D,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;QACpD,wEAAwE;QACxE,2EAA2E;QAC3E,yBAAyB;QACzB,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;QACrC,0EAA0E;QAC1E,0EAA0E;QAC1E,gBAAgB;QAChB,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE;KACtC,CAAC,CAAC;IACH,4EAA4E;IAC5E,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,kBAAkB;IAClB,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,IAAI,aAAa,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,oBAAoB,CAAC;QACtC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,QAAQ,CAAC,UAAU;QACtB,EAAE,EAAE,YAAY;KACjB,CAAC,CAAC;IAEH;;;;;;;OAOG;IACH,MAAM,mBAAmB,GAAG,GAAmB,EAAE,CAC/C,yBAAyB,CAAC;QACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,QAAQ,CAAC,UAAU;QACtB,EAAE,EAAE,YAAY;QAChB,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;IAEL,6EAA6E;IAC7E,0EAA0E;IAC1E,6EAA6E;IAC7E,kEAAkE;IAClE,sEAAsE;IACtE,mEAAmE;IACnE,MAAM,aAAa,GAAG,yBAAyB,CAAC;QAC9C,KAAK;QACL,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAC7B,UAAU,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAClD,KAAK;YACL,KAAK;YACL,MAAM,EAAE,QAAQ;YAChB,aAAa;SACd,CAAC,CACH;KACF,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,qBAAqB,CAAC;QACrC,UAAU;QACV,KAAK;QACL,KAAK;QACL,MAAM,EAAE,QAAQ;QAChB,aAAa;KACd,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjE,4EAA4E;IAC5E,6EAA6E;IAC7E,iDAAiD;IACjD,MAAM,aAAa,GAAG,qBAAqB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEtF,0EAA0E;IAC1E,yEAAyE;IACzE,6EAA6E;IAC7E,sEAAsE;IACtE,2EAA2E;IAC3E,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,0EAA0E;IAC1E,yEAAyE;IACzE,sCAAsC;IACtC,MAAM,WAAW,GAAG,uBAAuB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC/F,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QACrC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QACrC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,kEAAkE;IAClE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjE,2EAA2E;IAC3E,kDAAkD;IAClD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QACrC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,uDAAuD;IACvD,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,KAAK;QACL,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9C,SAAS,EAAE;YACT,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAClD,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;gBACjB,KAAK,CAAC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;YAClD,CAAC;SACF;KACF,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QACrC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,0EAA0E;IAC1E,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,MAAM,GAAG,kBAAkB,CAAC;QAChC,UAAU;QACV,KAAK;QACL,KAAK;QACL,MAAM,EAAE,QAAQ;QAChB,aAAa;KACd,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,EAAE,CAAC;IAEd,MAAM,WAAW,GAAG,uBAAuB,CAAC;QAC1C,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,WAAW;QAC5B,GAAG,EAAE,QAAQ,CAAC,GAAG;KAClB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAErD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAc,CAAC;IAEnC,4EAA4E;IAC5E,0EAA0E;IAC1E,mEAAmE;IACnE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzB,yEAAyE;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,+CAA+C;IAC/C,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,GAAG,CAAC,GAAG,CACL,GAAG,EACH,eAAe,CAAC;YACd,MAAM,EAAE,QAAQ;YAChB,GAAG,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC;SACvF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,iEAAiE;IACjE,IAAI,QAAQ,CAAC,WAAW;QAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IAEtD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7B,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACpC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACtC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAClC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACtC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC9B,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAClC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC9B,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,2EAA2E;IAC3E,6EAA6E;IAC7E,2CAA2C;IAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAEtC,gEAAgE;IAChE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAEzB,4EAA4E;IAC5E,yEAAyE;IACzE,uCAAuC;IACvC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAE9B,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE7D,wEAAwE;IACxE,0EAA0E;IAC1E,sCAAsC;IACtC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEjB,4EAA4E;IAC5E,oDAAoD;IACpD,cAAc,CAAC,GAAG,CAAC,CAAC;IAEpB,0EAA0E;IAC1E,yEAAyE;IACzE,wEAAwE;IACxE,mCAAmC;IACnC,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC7B,0BAA0B,CAAC,GAAG,CAAC,CAAC;IAChC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC7B,wEAAwE;IACxE,gBAAgB;IAChB,aAAa,CAAC,GAAG,CAAC,CAAC;IACnB,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAExB,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,4BAA4B;IAC5B,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAErE,iEAAiE;IACjE,UAAU,CAAC,GAAG,CAAC,CAAC;IAChB,eAAe,CAAC,GAAG,CAAC,CAAC;IAErB;;;;;;OAMG;IACH,SAAS,SAAS,CAAC,KAA4B,EAAE,IAAwB;QACvE,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;YACzC,sEAAsE;YACtE,+DAA+D;YAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;oBAC9B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvE,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,mBAAmB,OAAO,EAAE,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS;QAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC5F,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;QAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEjF,IAAI,MAA8D,CAAC;IAEnE,OAAO;QACL,GAAG;QACH,MAAM,EAAE,QAAQ;QAChB,KAAK;QACL,KAAK;QACL,UAAU;QACV,QAAQ;QACR,MAAM;QACN,WAAW;QACX,aAAa;QACb,OAAO;QACP,aAAa;QACb,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,IAAI;QACJ,aAAa;QACb,OAAO;QACP,SAAS;QACT,MAAM,EAAE,OAAO,CAAC,MAAM;QAEtB,gBAAgB,CAAC,IAAI;YACnB,OAAO,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,SAAS,CAAC,IAAI;YACZ,OAAO,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,WAAW,CAAC,IAAI;YACd,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI;YACF,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;QAED,KAAK,CAAC,KAAK;YACT,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,CAAC;YAED,sEAAsE;YACtE,wEAAwE;YACxE,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAEtB,qEAAqE;YACrE,iEAAiE;YACjE,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YAExB,kEAAkE;YAClE,kEAAkE;YAClE,aAAa,CAAC,OAAO,EAAE,CAAC;YAExB,sEAAsE;YACtE,8DAA8D;YAC9D,KAAK,MAAM,OAAO,IAAI,yBAAyB,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE5F,yEAAyE;YACzE,uEAAuE;YACvE,mDAAmD;YACnD,OAAO,CAAC,KAAK,EAAE,CAAC;YAEhB,kEAAkE;YAClE,yEAAyE;YACzE,2EAA2E;YAC3E,aAAa,CAAC,KAAK,EAAE,CAAC;YAEtB,wEAAwE;YACxE,2CAA2C;YAC3C,SAAS,CAAC,KAAK,EAAE,CAAC;YAElB,yEAAyE;YACzE,sEAAsE;YACtE,2EAA2E;YAC3E,OAAO,CAAC,KAAK,EAAE,CAAC;YAEhB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrE,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,KAAK;YACT,MAAM,OAAO,GAAG,MAAM,CAAC;YACvB,MAAM,GAAG,SAAS,CAAC;YACnB,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,EAAE,CAAC;YACrB,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,yEAAyE;YACzE,mCAAmC;YACnC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,wEAAwE;YACxE,gDAAgD;YAChD,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,oEAAoE;YACpE,wEAAwE;YACxE,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAEpC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACpB,IAAI,GAAG;4BAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;4BAChB,OAAO,EAAE,CAAC;oBACjB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAED,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { MiddlewareHandler } from 'hono';
1
+ import type { Context, MiddlewareHandler } from 'hono';
2
2
  import type { User } from '../admin/accounts.ts';
3
3
  import type { GeekityEnv } from '../env.ts';
4
4
  import type { Scope } from './request.ts';
@@ -36,4 +36,9 @@ export interface BearerEnv {
36
36
  * 9728), which is how an MCP client finds out where to sign in.
37
37
  */
38
38
  export declare function requireBearer(guard: Guard): MiddlewareHandler<BearerEnv>;
39
+ /**
40
+ * The 403 for a token that lacks `scope`, for a route that only learns which
41
+ * scope it needs from the request, as a Micropub POST does from its action.
42
+ */
43
+ export declare function insufficientScope(c: Context<BearerEnv>, scope: Scope): Response;
39
44
  //# sourceMappingURL=bearer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bearer.d.ts","sourceRoot":"","sources":["../../src/indieauth/bearer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAGvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,sBAAsB,CAAC;IACrD,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED,+EAA+E;AAC/E,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAAC,SAAS,CAAC,CA+BxE"}
1
+ {"version":3,"file":"bearer.d.ts","sourceRoot":"","sources":["../../src/indieauth/bearer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAGvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,sBAAsB,CAAC;IACrD,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED,+EAA+E;AAC/E,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAgCxE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,CAM/E"}
@@ -13,7 +13,12 @@ import { findAccessToken, recordUse, verifyAccessToken } from './tokens.js';
13
13
  export function requireBearer(guard) {
14
14
  return async (c, next) => {
15
15
  const { config } = c.var;
16
- const presented = await presentedToken(c);
16
+ const tokens = await presentedTokens(c);
17
+ if (tokens.length > 1) {
18
+ const description = 'Send the access token in the header or the body, not both.';
19
+ return refuse(c, 400, 'invalid_request', description, { error: 'invalid_request' });
20
+ }
21
+ const presented = tokens[0];
17
22
  if (presented === undefined) {
18
23
  return refuse(c, 401, 'unauthorized', 'An access token is required.', {});
19
24
  }
@@ -27,27 +32,49 @@ export function requireBearer(guard) {
27
32
  return refuse(c, 401, 'invalid_token', description, { error: 'invalid_token' });
28
33
  }
29
34
  if (guard.scope !== undefined && !token.scopes.includes(guard.scope)) {
30
- const description = `The access token was not granted the ${guard.scope} scope.`;
31
- return refuse(c, 403, 'insufficient_scope', description, {
32
- error: 'insufficient_scope',
33
- scope: guard.scope,
34
- });
35
+ return insufficientScope(c, guard.scope);
35
36
  }
36
37
  await recordUse(config.dataDir, token, now);
37
38
  c.set('bearer', { token, user });
38
39
  await next();
39
40
  };
40
41
  }
41
- async function presentedToken(c) {
42
+ /**
43
+ * The 403 for a token that lacks `scope`, for a route that only learns which
44
+ * scope it needs from the request, as a Micropub POST does from its action.
45
+ */
46
+ export function insufficientScope(c, scope) {
47
+ const description = `The access token was not granted the ${scope} scope.`;
48
+ return refuse(c, 403, 'insufficient_scope', description, {
49
+ error: 'insufficient_scope',
50
+ scope,
51
+ });
52
+ }
53
+ /**
54
+ * Every access token the request carries. More than one is refused, as RFC
55
+ * 6750 section 3.1 says, even when they are the same token.
56
+ */
57
+ async function presentedTokens(c) {
58
+ const tokens = [];
42
59
  const header = /^Bearer +(\S+)$/i.exec(c.req.header('authorization') ?? '');
43
- if (header !== null)
44
- return header[1];
60
+ if (header?.[1] !== undefined)
61
+ tokens.push(header[1]);
45
62
  const type = c.req.header('content-type') ?? '';
46
- if (!/^(application\/x-www-form-urlencoded|multipart\/form-data)\b/i.test(type)) {
63
+ if (/^(application\/x-www-form-urlencoded|multipart\/form-data)\b/i.test(type)) {
64
+ const field = (await readBody(c))?.['access_token'];
65
+ if (typeof field === 'string' && field !== '')
66
+ tokens.push(field);
67
+ }
68
+ return tokens;
69
+ }
70
+ /** The parsed form body, or undefined when it cannot be read, which is the route's to refuse. */
71
+ async function readBody(c) {
72
+ try {
73
+ return await c.req.parseBody();
74
+ }
75
+ catch {
47
76
  return undefined;
48
77
  }
49
- const field = (await c.req.parseBody())['access_token'];
50
- return typeof field === 'string' && field !== '' ? field : undefined;
51
78
  }
52
79
  function refuse(c, status, error, description, params) {
53
80
  const challenge = Object.entries({
@@ -1 +1 @@
1
- {"version":3,"file":"bearer.js","sourceRoot":"","sources":["../../src/indieauth/bearer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bearer.js","sourceRoot":"","sources":["../../src/indieauth/bearer.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,10 @@ export declare const INTROSPECTION_PATH = "/_geekity/indieauth/introspect";
14
14
  export declare const REVOCATION_PATH = "/_geekity/indieauth/revoke";
15
15
  /** Where a client asks for the profile a token was approved to see (TASK-161). */
16
16
  export declare const USERINFO_PATH = "/_geekity/indieauth/userinfo";
17
+ /** Where a Micropub client creates posts and asks what the site supports (TASK-163). */
18
+ export declare const MICROPUB_PATH = "/_geekity/micropub";
19
+ /** Where a Micropub client uploads a file before it names it in a post (TASK-165). */
20
+ export declare const MICROPUB_MEDIA_PATH = "/_geekity/micropub/media";
17
21
  /**
18
22
  * RFC 9728's well-known location for the protected resource metadata, which
19
23
  * an MCP client reads to learn where to sign in (TASK-161).
@@ -76,12 +80,13 @@ export declare function siteBaseUrl(c: {
76
80
  */
77
81
  export declare function mountIndieAuthDiscovery(app: Hono<GeekityEnv>): void;
78
82
  /**
79
- * Point every identity URL at the metadata, with a `Link` header and a
80
- * `<link>` before `</head>` (TASK-157).
83
+ * Point every identity URL at the metadata (TASK-157) and the Micropub
84
+ * endpoint (TASK-163), each with a `Link` header and a `<link>` before
85
+ * `</head>`.
81
86
  *
82
87
  * Added to the response rather than left to the layouts so that every theme
83
- * carries it, a custom one that replaces the packaged base layout included. A
88
+ * carries them, a custom one that replaces the packaged base layout included. A
84
89
  * 404 for a username nobody has is left alone: it is nobody's identity.
85
90
  */
86
- export declare const advertiseIndieAuthMetadata: MiddlewareHandler<GeekityEnv>;
91
+ export declare const advertiseIdentityEndpoints: MiddlewareHandler<GeekityEnv>;
87
92
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/indieauth/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAGpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5C,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,iCAAiC,CAAC;AAEtE,4DAA4D;AAC5D,eAAO,MAAM,8BAA8B,4CAA4C,CAAC;AAExF,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAE7D,oEAAoE;AACpE,eAAO,MAAM,UAAU,8BAA8B,CAAC;AAEtD,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,mCAAmC,CAAC;AAEnE,8DAA8D;AAC9D,eAAO,MAAM,eAAe,+BAA+B,CAAC;AAE5D,kFAAkF;AAClF,eAAO,MAAM,aAAa,iCAAiC,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,gCAAgC,0CAA0C,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAI,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAE3F,iFAAiF;AACjF,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,gCAAgC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpD,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,8CAA8C,EAAE,OAAO,CAAC;IACxD;;;OAGG;IACH,qCAAqC,EAAE,OAAO,CAAC;CAChD;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,2BAA2B,CAexF;AAED,4CAA4C;AAC5C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,wBAAwB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,CAOpF;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,CAAC,EAAE;IAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAA;CAAE,GAAG,MAAM,CAGvF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAOnE;AAeD;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,CAAC,UAAU,CAiBpE,CAAC"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/indieauth/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAGpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5C,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,iCAAiC,CAAC;AAEtE,4DAA4D;AAC5D,eAAO,MAAM,8BAA8B,4CAA4C,CAAC;AAExF,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAE7D,oEAAoE;AACpE,eAAO,MAAM,UAAU,8BAA8B,CAAC;AAEtD,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,mCAAmC,CAAC;AAEnE,8DAA8D;AAC9D,eAAO,MAAM,eAAe,+BAA+B,CAAC;AAE5D,kFAAkF;AAClF,eAAO,MAAM,aAAa,iCAAiC,CAAC;AAE5D,wFAAwF;AACxF,eAAO,MAAM,aAAa,uBAAuB,CAAC;AAElD,sFAAsF;AACtF,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,gCAAgC,0CAA0C,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAI,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAE3F,iFAAiF;AACjF,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,gCAAgC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpD,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,8CAA8C,EAAE,OAAO,CAAC;IACxD;;;OAGG;IACH,qCAAqC,EAAE,OAAO,CAAC;CAChD;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,2BAA2B,CAexF;AAED,4CAA4C;AAC5C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,wBAAwB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,CAOpF;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,CAAC,EAAE;IAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAA;CAAE,GAAG,MAAM,CAGvF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAOnE;AAeD;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,CAAC,UAAU,CAsBpE,CAAC"}
@@ -15,6 +15,10 @@ export const INTROSPECTION_PATH = '/_geekity/indieauth/introspect';
15
15
  export const REVOCATION_PATH = '/_geekity/indieauth/revoke';
16
16
  /** Where a client asks for the profile a token was approved to see (TASK-161). */
17
17
  export const USERINFO_PATH = '/_geekity/indieauth/userinfo';
18
+ /** Where a Micropub client creates posts and asks what the site supports (TASK-163). */
19
+ export const MICROPUB_PATH = '/_geekity/micropub';
20
+ /** Where a Micropub client uploads a file before it names it in a post (TASK-165). */
21
+ export const MICROPUB_MEDIA_PATH = '/_geekity/micropub/media';
18
22
  /**
19
23
  * RFC 9728's well-known location for the protected resource metadata, which
20
24
  * an MCP client reads to learn where to sign in (TASK-161).
@@ -91,27 +95,34 @@ function isIdentityPath(pathname) {
91
95
  return pathname === '/' || parseAuthorPath(pathname)?.pageNumber === 0;
92
96
  }
93
97
  /**
94
- * Point every identity URL at the metadata, with a `Link` header and a
95
- * `<link>` before `</head>` (TASK-157).
98
+ * Point every identity URL at the metadata (TASK-157) and the Micropub
99
+ * endpoint (TASK-163), each with a `Link` header and a `<link>` before
100
+ * `</head>`.
96
101
  *
97
102
  * Added to the response rather than left to the layouts so that every theme
98
- * carries it, a custom one that replaces the packaged base layout included. A
103
+ * carries them, a custom one that replaces the packaged base layout included. A
99
104
  * 404 for a username nobody has is left alone: it is nobody's identity.
100
105
  */
101
- export const advertiseIndieAuthMetadata = async (c, next) => {
106
+ export const advertiseIdentityEndpoints = async (c, next) => {
102
107
  await next();
103
108
  if (!isIdentityPath(requestPath(c)))
104
109
  return;
105
110
  const { status } = c.res;
106
111
  if (status !== 304 && (status < 200 || status >= 300))
107
112
  return;
108
- const href = `${siteBaseUrl(c)}${INDIEAUTH_METADATA_PATH}`;
109
- c.res.headers.append('link', `<${href}>; rel="indieauth-metadata"`);
113
+ const baseUrl = siteBaseUrl(c);
114
+ const links = [
115
+ { rel: 'indieauth-metadata', href: `${baseUrl}${INDIEAUTH_METADATA_PATH}` },
116
+ { rel: 'micropub', href: `${baseUrl}${MICROPUB_PATH}` },
117
+ ];
118
+ for (const { rel, href } of links)
119
+ c.res.headers.append('link', `<${href}>; rel="${rel}"`);
110
120
  if (status === 304 || !(c.res.headers.get('content-type') ?? '').startsWith('text/html'))
111
121
  return;
112
122
  const headers = new Headers(c.res.headers);
113
123
  headers.delete('content-length');
114
- const body = withHeadLink(await c.res.text(), `<link rel="indieauth-metadata" href="${href}">`);
124
+ const headLinks = links.map(({ rel, href }) => `<link rel="${rel}" href="${href}">`).join('');
125
+ const body = withHeadLink(await c.res.text(), headLinks);
115
126
  // Cleared first, because assigning over a response copies its headers onto
116
127
  // the new one.
117
128
  c.res = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/indieauth/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/indieauth/discovery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qEAAqE;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG,8BAA8B,CAAC;AAEtE,4DAA4D;AAC5D,MAAM,CAAC,MAAM,8BAA8B,GAAG,yCAAyC,CAAC;AAExF,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AAE7D,oEAAoE;AACpE,MAAM,CAAC,MAAM,UAAU,GAAG,2BAA2B,CAAC;AAEtD,wEAAwE;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAEnE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,4BAA4B,CAAC;AAE5D,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAE5D,wFAAwF;AACxF,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAElD,sFAAsF;AACtF,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,uCAAuC,CAAC;AAExF;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAsB3F;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,sBAAsB,EAAE,GAAG,OAAO,GAAG,kBAAkB,EAAE;QACzD,cAAc,EAAE,GAAG,OAAO,GAAG,UAAU,EAAE;QACzC,sBAAsB,EAAE,GAAG,OAAO,GAAG,kBAAkB,EAAE;QACzD,mBAAmB,EAAE,GAAG,OAAO,GAAG,eAAe,EAAE;QACnD,iBAAiB,EAAE,GAAG,OAAO,GAAG,aAAa,EAAE;QAC/C,wBAAwB,EAAE,CAAC,MAAM,CAAC;QAClC,qBAAqB,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;QAC9D,gCAAgC,EAAE,CAAC,MAAM,CAAC;QAC1C,gBAAgB,EAAE,MAAM;QACxB,8CAA8C,EAAE,IAAI;QACpD,qCAAqC,EAAE,IAAI;KAC5C,CAAC;AACJ,CAAC;AAUD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,qBAAqB,EAAE,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QACpE,gBAAgB,EAAE,MAAM;QACxB,wBAAwB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,WAAW,CAAC,CAAmD;IAC7E,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;IACzB,OAAO,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAqB;IAC3D,KAAK,MAAM,QAAQ,IAAI,CAAC,uBAAuB,EAAE,8BAA8B,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC9C,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,QAAgB;IACtC,OAAO,QAAQ,KAAK,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,UAAU,KAAK,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAkC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;IACzF,MAAM,IAAI,EAAE,CAAC;IACb,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;IACzB,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC;QAAE,OAAO;IAE9D,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG;QACZ,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,GAAG,OAAO,GAAG,uBAAuB,EAAE,EAAE;QAC3E,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,OAAO,GAAG,aAAa,EAAE,EAAE;KACxD,CAAC;IACF,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK;QAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,WAAW,GAAG,GAAG,CAAC,CAAC;IAC3F,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO;IAEjG,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,cAAc,GAAG,WAAW,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9F,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IACzD,2EAA2E;IAC3E,eAAe;IACf,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC;IAClB,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,mFAAmF;AACnF,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY;IAC9C,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACxE,CAAC"}
@@ -0,0 +1,56 @@
1
+ import type { EditorForm } from '../admin/documents.ts';
2
+ import type { SyndicationTarget } from '../webmention/syndication.ts';
3
+ /**
4
+ * A Micropub create (TASK-164), whichever way it was encoded: the one
5
+ * microformats2 type it names and each property's values.
6
+ */
7
+ export interface CreateRequest {
8
+ /** The `h-*` type, as JSON spells it: `h-entry` for a form's `h=entry`. */
9
+ readonly type: string;
10
+ readonly properties: ReadonlyMap<string, readonly unknown[]>;
11
+ }
12
+ /**
13
+ * A form-encoded or multipart create as a {@link CreateRequest}: `h=entry`
14
+ * names the type, and `category[]=a&category[]=b` and `category=a&category=b`
15
+ * are the same two values.
16
+ */
17
+ export declare function fromForm(form: FormData): CreateRequest;
18
+ /** A JSON create as a {@link CreateRequest}, or what is wrong with it. */
19
+ export declare function fromJson(body: unknown): CreateRequest | {
20
+ readonly error: string;
21
+ };
22
+ /** A photo sent as a file part of a multipart create, for the editor row it fills. */
23
+ export interface PhotoUpload {
24
+ /** The index of its row in the form's photos, whose address is empty until it is stored. */
25
+ readonly row: number;
26
+ readonly file: File;
27
+ }
28
+ /**
29
+ * Who a create is by and the site it lands on: its zone and clock, its base
30
+ * URL, whose own uploads are written as paths, and the syndication targets it
31
+ * declares, which are all `mp-syndicate-to` may name.
32
+ */
33
+ export interface CreateSite {
34
+ readonly author: string;
35
+ readonly timezone: string;
36
+ readonly now: Date;
37
+ readonly baseUrl: string;
38
+ readonly targets: readonly SyndicationTarget[];
39
+ }
40
+ /** A create that can be written, once its {@link PhotoUpload}s are stored. */
41
+ export interface CreatedForm {
42
+ readonly form: EditorForm;
43
+ readonly draft: boolean;
44
+ readonly uploads: readonly PhotoUpload[];
45
+ }
46
+ /**
47
+ * The editor form a create fills in, or every reason it cannot be, each
48
+ * naming the type or property at fault.
49
+ *
50
+ * The form then goes through the editor's own write path, which is what makes
51
+ * a Micropub post indistinguishable from an editor post (AC #2).
52
+ */
53
+ export declare function createForm(request: CreateRequest, site: CreateSite): CreatedForm | {
54
+ readonly errors: string[];
55
+ };
56
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/micropub/create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC;CAC9D;AAsCD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,CAStD;AAED,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiBlF;AAED,sFAAsF;AACtF,MAAM,WAAW,WAAW;IAC1B,4FAA4F;IAC5F,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAChD;AAED,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,UAAU,GACf,WAAW,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAyD7C"}
@@ -0,0 +1,200 @@
1
+ import { blankForm, POST_KIND } from '../admin/documents.js';
2
+ import { isWebUrl } from '../content/enclosure.js';
3
+ import { normalizeBody } from '../content/writer.js';
4
+ import { UPLOAD_ASSET_PREFIX } from '../web/assets.js';
5
+ import { absoluteUrl } from '../web/negotiate.js';
6
+ /**
7
+ * The properties a post can be created with, and the editor field each one
8
+ * fills (decision-27). Anything else is refused by name rather than dropped,
9
+ * so a client can tell its user what did not land.
10
+ */
11
+ const SINGLE_VALUED = {
12
+ name: 'title',
13
+ summary: 'description',
14
+ 'in-reply-to': 'inReplyTo',
15
+ 'repost-of': 'repostOf',
16
+ 'like-of': 'likeOf',
17
+ 'bookmark-of': 'bookmarkOf',
18
+ published: 'date',
19
+ 'mp-slug': 'slug',
20
+ };
21
+ const PROPERTIES = new Set([
22
+ ...Object.keys(SINGLE_VALUED),
23
+ 'content',
24
+ 'category',
25
+ 'photo',
26
+ 'post-status',
27
+ 'mp-syndicate-to',
28
+ ]);
29
+ /** What `post-status` may say, and whether it makes a draft. */
30
+ const POST_STATUSES = { published: false, draft: true };
31
+ /** The form fields Micropub sets aside from the post's own properties. */
32
+ const FORM_RESERVED = new Set(['h', 'access_token']);
33
+ /**
34
+ * A form-encoded or multipart create as a {@link CreateRequest}: `h=entry`
35
+ * names the type, and `category[]=a&category[]=b` and `category=a&category=b`
36
+ * are the same two values.
37
+ */
38
+ export function fromForm(form) {
39
+ const properties = new Map();
40
+ for (const [key, value] of form.entries()) {
41
+ if (FORM_RESERVED.has(key))
42
+ continue;
43
+ const name = key.endsWith('[]') ? key.slice(0, -2) : key;
44
+ properties.set(name, [...(properties.get(name) ?? []), value]);
45
+ }
46
+ const h = form.get('h');
47
+ return { type: typeof h === 'string' && h !== '' ? `h-${h}` : '', properties };
48
+ }
49
+ /** A JSON create as a {@link CreateRequest}, or what is wrong with it. */
50
+ export function fromJson(body) {
51
+ if (typeof body !== 'object' || body === null || Array.isArray(body)) {
52
+ return { error: 'A JSON request is an object with type and properties.' };
53
+ }
54
+ const { type, properties } = body;
55
+ if (!Array.isArray(type) || type.length !== 1 || typeof type[0] !== 'string') {
56
+ return { error: 'A JSON request names exactly one type, such as ["h-entry"].' };
57
+ }
58
+ if (typeof properties !== 'object' || properties === null || Array.isArray(properties)) {
59
+ return { error: 'A JSON request carries its properties in an object.' };
60
+ }
61
+ const entries = Object.entries(properties);
62
+ const notLists = entries.filter(([, values]) => !Array.isArray(values)).map(([name]) => name);
63
+ if (notLists.length > 0) {
64
+ return { error: `Every property is a list of values; ${notLists.join(', ')} is not.` };
65
+ }
66
+ return { type: type[0], properties: new Map(entries) };
67
+ }
68
+ /**
69
+ * The editor form a create fills in, or every reason it cannot be, each
70
+ * naming the type or property at fault.
71
+ *
72
+ * The form then goes through the editor's own write path, which is what makes
73
+ * a Micropub post indistinguishable from an editor post (AC #2).
74
+ */
75
+ export function createForm(request, site) {
76
+ const { author, timezone, now } = site;
77
+ if (request.type !== 'h-entry') {
78
+ const named = request.type === '' ? 'no type' : request.type;
79
+ return { errors: [`This endpoint creates h-entry posts, not ${named}.`] };
80
+ }
81
+ const errors = [];
82
+ const unknown = [...request.properties.keys()].filter((name) => !PROPERTIES.has(name));
83
+ if (unknown.length > 0) {
84
+ errors.push(`This endpoint does not understand ${unknown.join(', ')}.`);
85
+ }
86
+ const text = (name) => {
87
+ const values = request.properties.get(name) ?? [];
88
+ if (values.length > 1)
89
+ errors.push(`${name} takes one value.`);
90
+ const [value] = values;
91
+ if (value === undefined)
92
+ return '';
93
+ if (typeof value !== 'string') {
94
+ errors.push(`${name} has to be text.`);
95
+ return '';
96
+ }
97
+ return value.trim();
98
+ };
99
+ const form = {
100
+ ...blankForm(POST_KIND, timezone, now),
101
+ date: '',
102
+ author,
103
+ body: normalizeBody(content(request.properties.get('content') ?? [], errors)),
104
+ tags: categories(request.properties.get('category') ?? [], errors),
105
+ syndicateTo: syndicateTo(request.properties.get('mp-syndicate-to') ?? [], site.targets, errors),
106
+ };
107
+ const uploads = [];
108
+ form.photos = (request.properties.get('photo') ?? []).map((value, row) => {
109
+ if (value instanceof File) {
110
+ uploads.push({ row, file: value });
111
+ return { url: '', alt: '' };
112
+ }
113
+ const photo = photoRow(value, site.baseUrl);
114
+ if (photo === undefined) {
115
+ errors.push('photo is a web address, { "value": "…", "alt": "…" } or an uploaded file.');
116
+ return { url: '', alt: '' };
117
+ }
118
+ return photo;
119
+ });
120
+ for (const [property, field] of Object.entries(SINGLE_VALUED)) {
121
+ form[field] = text(property);
122
+ }
123
+ const status = text('post-status');
124
+ const draft = status === '' ? false : POST_STATUSES[status];
125
+ if (draft === undefined) {
126
+ errors.push(`post-status is published or draft, not ${status}.`);
127
+ }
128
+ return errors.length > 0 || draft === undefined ? { errors } : { form, draft, uploads };
129
+ }
130
+ /**
131
+ * A photo given as a URL or as `{ value, alt }`, as the editor row it fills.
132
+ * A URL into this site's own uploads becomes the path the editor would have
133
+ * written, so the theme serves its responsive variants.
134
+ */
135
+ function photoRow(value, baseUrl) {
136
+ let url = value;
137
+ let alt = '';
138
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
139
+ ({ value: url, alt = '' } = value);
140
+ }
141
+ if (typeof url !== 'string' || typeof alt !== 'string' || !isWebUrl(url.trim()))
142
+ return undefined;
143
+ const uploads = absoluteUrl(UPLOAD_ASSET_PREFIX, baseUrl);
144
+ const address = url.trim();
145
+ return {
146
+ url: address.startsWith(uploads)
147
+ ? `${UPLOAD_ASSET_PREFIX}${address.slice(uploads.length)}`
148
+ : address,
149
+ alt: alt.trim(),
150
+ };
151
+ }
152
+ /** The body: plain text as the Markdown it is written in, or HTML as it came. */
153
+ function content(values, errors) {
154
+ if (values.length > 1)
155
+ errors.push('content takes one value.');
156
+ const [value] = values;
157
+ if (value === undefined)
158
+ return '';
159
+ if (typeof value === 'string')
160
+ return value;
161
+ if (isHtmlContent(value))
162
+ return value.html;
163
+ errors.push('content has to be text or { "html": "…" }.');
164
+ return '';
165
+ }
166
+ function isHtmlContent(value) {
167
+ return (typeof value === 'object' &&
168
+ value !== null &&
169
+ typeof value['html'] === 'string');
170
+ }
171
+ /** The categories as the editor's comma-separated tags field. */
172
+ function categories(values, errors) {
173
+ const terms = [];
174
+ for (const value of values) {
175
+ if (typeof value !== 'string' || value.includes(',')) {
176
+ errors.push('category has to be text, one tag to a value, without commas.');
177
+ return '';
178
+ }
179
+ terms.push(value);
180
+ }
181
+ return terms.join(', ');
182
+ }
183
+ /**
184
+ * The targets `mp-syndicate-to` selects, each once, as the editor's checkboxes
185
+ * would. A uid the site does not declare is refused by name: a post read back
186
+ * ignores it, so a client would never learn the post went nowhere.
187
+ */
188
+ function syndicateTo(values, targets, errors) {
189
+ if (!values.every((value) => typeof value === 'string')) {
190
+ errors.push('mp-syndicate-to has to be text, one target uid to a value.');
191
+ return [];
192
+ }
193
+ const declared = new Set(targets.map(({ id }) => id));
194
+ const unknown = values.filter((uid) => !declared.has(uid));
195
+ if (unknown.length > 0) {
196
+ errors.push(`mp-syndicate-to names no syndication target ${unknown.join(', ')}.`);
197
+ }
198
+ return [...new Set(values)];
199
+ }
200
+ //# sourceMappingURL=create.js.map