@geekity/cms 0.26.0 → 0.28.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 (232) hide show
  1. package/README.md +169 -33
  2. package/admin/layouts/shell.njk +6 -0
  3. package/admin/pages/documents/editor.njk +4 -0
  4. package/admin/pages/plugins/confirm.njk +42 -0
  5. package/admin/pages/plugins/installed.njk +86 -4
  6. package/admin/pages/tools/dev-mode.njk +47 -0
  7. package/admin/static/admin.css +15 -0
  8. package/admin/static/editor-actions.js +13 -9
  9. package/admin/static/editor.js +31 -17
  10. package/dist/admin/dev-mode.d.ts +9 -0
  11. package/dist/admin/dev-mode.d.ts.map +1 -0
  12. package/dist/admin/dev-mode.js +42 -0
  13. package/dist/admin/dev-mode.js.map +1 -0
  14. package/dist/admin/documents.d.ts +3 -0
  15. package/dist/admin/documents.d.ts.map +1 -1
  16. package/dist/admin/documents.js +12 -3
  17. package/dist/admin/documents.js.map +1 -1
  18. package/dist/admin/editor-actions.js +3 -1
  19. package/dist/admin/editor-actions.js.map +1 -1
  20. package/dist/admin/federation.d.ts.map +1 -1
  21. package/dist/admin/federation.js +2 -0
  22. package/dist/admin/federation.js.map +1 -1
  23. package/dist/admin/menu.d.ts.map +1 -1
  24. package/dist/admin/menu.js +2 -0
  25. package/dist/admin/menu.js.map +1 -1
  26. package/dist/admin/own-paragraph.d.ts +7 -0
  27. package/dist/admin/own-paragraph.d.ts.map +1 -0
  28. package/dist/admin/own-paragraph.js +9 -0
  29. package/dist/admin/own-paragraph.js.map +1 -0
  30. package/dist/admin/plugins.d.ts +6 -0
  31. package/dist/admin/plugins.d.ts.map +1 -1
  32. package/dist/admin/plugins.js +287 -5
  33. package/dist/admin/plugins.js.map +1 -1
  34. package/dist/admin/preview.d.ts.map +1 -1
  35. package/dist/admin/preview.js +4 -1
  36. package/dist/admin/preview.js.map +1 -1
  37. package/dist/admin/routes.d.ts.map +1 -1
  38. package/dist/admin/routes.js +4 -0
  39. package/dist/admin/routes.js.map +1 -1
  40. package/dist/admin/settings-email.d.ts.map +1 -1
  41. package/dist/admin/settings-email.js +4 -0
  42. package/dist/admin/settings-email.js.map +1 -1
  43. package/dist/admin/store.d.ts +4 -2
  44. package/dist/admin/store.d.ts.map +1 -1
  45. package/dist/admin/store.js +1 -1
  46. package/dist/admin/store.js.map +1 -1
  47. package/dist/admin/taxonomy.d.ts +4 -1
  48. package/dist/admin/taxonomy.d.ts.map +1 -1
  49. package/dist/admin/taxonomy.js +11 -7
  50. package/dist/admin/taxonomy.js.map +1 -1
  51. package/dist/admin/templates.d.ts +2 -0
  52. package/dist/admin/templates.d.ts.map +1 -1
  53. package/dist/admin/templates.js +2 -0
  54. package/dist/admin/templates.js.map +1 -1
  55. package/dist/admin/uploads.d.ts +7 -1
  56. package/dist/admin/uploads.d.ts.map +1 -1
  57. package/dist/admin/uploads.js +33 -30
  58. package/dist/admin/uploads.js.map +1 -1
  59. package/dist/cli.d.ts +1 -1
  60. package/dist/cli.d.ts.map +1 -1
  61. package/dist/cli.js +127 -25
  62. package/dist/cli.js.map +1 -1
  63. package/dist/comments/index.d.ts +1 -1
  64. package/dist/comments/index.d.ts.map +1 -1
  65. package/dist/comments/index.js +1 -1
  66. package/dist/comments/index.js.map +1 -1
  67. package/dist/comments/records.d.ts +1 -0
  68. package/dist/comments/records.d.ts.map +1 -1
  69. package/dist/comments/records.js +39 -10
  70. package/dist/comments/records.js.map +1 -1
  71. package/dist/config.d.ts +29 -0
  72. package/dist/config.d.ts.map +1 -1
  73. package/dist/config.js +3 -0
  74. package/dist/config.js.map +1 -1
  75. package/dist/content/markdown.d.ts.map +1 -1
  76. package/dist/content/markdown.js +33 -1
  77. package/dist/content/markdown.js.map +1 -1
  78. package/dist/content/migrated.d.ts +6 -0
  79. package/dist/content/migrated.d.ts.map +1 -0
  80. package/dist/content/migrated.js +12 -0
  81. package/dist/content/migrated.js.map +1 -0
  82. package/dist/content/original.d.ts +3 -0
  83. package/dist/content/original.d.ts.map +1 -0
  84. package/dist/content/original.js +12 -0
  85. package/dist/content/original.js.map +1 -0
  86. package/dist/content/parser.d.ts +5 -0
  87. package/dist/content/parser.d.ts.map +1 -1
  88. package/dist/content/parser.js +3 -2
  89. package/dist/content/parser.js.map +1 -1
  90. package/dist/content/schedule.d.ts +7 -0
  91. package/dist/content/schedule.d.ts.map +1 -1
  92. package/dist/content/schedule.js +11 -2
  93. package/dist/content/schedule.js.map +1 -1
  94. package/dist/content/store.d.ts +21 -3
  95. package/dist/content/store.d.ts.map +1 -1
  96. package/dist/content/store.js +169 -42
  97. package/dist/content/store.js.map +1 -1
  98. package/dist/content/sync.d.ts.map +1 -1
  99. package/dist/content/sync.js +27 -5
  100. package/dist/content/sync.js.map +1 -1
  101. package/dist/content/tags.d.ts +26 -0
  102. package/dist/content/tags.d.ts.map +1 -0
  103. package/dist/content/tags.js +41 -0
  104. package/dist/content/tags.js.map +1 -0
  105. package/dist/content/video.d.ts +12 -0
  106. package/dist/content/video.d.ts.map +1 -0
  107. package/dist/content/video.js +91 -0
  108. package/dist/content/video.js.map +1 -0
  109. package/dist/dev-mode.d.ts +28 -0
  110. package/dist/dev-mode.d.ts.map +1 -0
  111. package/dist/dev-mode.js +64 -0
  112. package/dist/dev-mode.js.map +1 -0
  113. package/dist/drain.d.ts +9 -3
  114. package/dist/drain.d.ts.map +1 -1
  115. package/dist/drain.js +24 -3
  116. package/dist/drain.js.map +1 -1
  117. package/dist/federation/article.d.ts.map +1 -1
  118. package/dist/federation/article.js +3 -1
  119. package/dist/federation/article.js.map +1 -1
  120. package/dist/federation/delivery.d.ts +2 -0
  121. package/dist/federation/delivery.d.ts.map +1 -1
  122. package/dist/federation/delivery.js +46 -16
  123. package/dist/federation/delivery.js.map +1 -1
  124. package/dist/federation/inbox.d.ts.map +1 -1
  125. package/dist/federation/inbox.js +13 -3
  126. package/dist/federation/inbox.js.map +1 -1
  127. package/dist/federation/mount.d.ts.map +1 -1
  128. package/dist/federation/mount.js +8 -4
  129. package/dist/federation/mount.js.map +1 -1
  130. package/dist/federation/relays.d.ts.map +1 -1
  131. package/dist/federation/relays.js +16 -1
  132. package/dist/federation/relays.js.map +1 -1
  133. package/dist/index.d.ts +2 -0
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +16 -4
  136. package/dist/index.js.map +1 -1
  137. package/dist/indexnow.d.ts +1 -1
  138. package/dist/indexnow.d.ts.map +1 -1
  139. package/dist/indexnow.js +7 -0
  140. package/dist/indexnow.js.map +1 -1
  141. package/dist/mail/service.d.ts +3 -1
  142. package/dist/mail/service.d.ts.map +1 -1
  143. package/dist/mail/service.js +17 -0
  144. package/dist/mail/service.js.map +1 -1
  145. package/dist/notify.d.ts +1 -1
  146. package/dist/notify.d.ts.map +1 -1
  147. package/dist/notify.js +9 -2
  148. package/dist/notify.js.map +1 -1
  149. package/dist/plugin.d.ts +75 -4
  150. package/dist/plugin.d.ts.map +1 -1
  151. package/dist/plugin.js +8 -0
  152. package/dist/plugin.js.map +1 -1
  153. package/dist/plugins/changes.d.ts +31 -0
  154. package/dist/plugins/changes.d.ts.map +1 -0
  155. package/dist/plugins/changes.js +40 -0
  156. package/dist/plugins/changes.js.map +1 -0
  157. package/dist/plugins/folder.d.ts +2 -0
  158. package/dist/plugins/folder.d.ts.map +1 -1
  159. package/dist/plugins/folder.js +26 -5
  160. package/dist/plugins/folder.js.map +1 -1
  161. package/dist/plugins/install.d.ts +30 -3
  162. package/dist/plugins/install.d.ts.map +1 -1
  163. package/dist/plugins/install.js +43 -15
  164. package/dist/plugins/install.js.map +1 -1
  165. package/dist/plugins/manage.d.ts +34 -0
  166. package/dist/plugins/manage.d.ts.map +1 -0
  167. package/dist/plugins/manage.js +98 -0
  168. package/dist/plugins/manage.js.map +1 -0
  169. package/dist/plugins/registry.js +1 -1
  170. package/dist/plugins/registry.js.map +1 -1
  171. package/dist/plugins/site.d.ts.map +1 -1
  172. package/dist/plugins/site.js +56 -0
  173. package/dist/plugins/site.js.map +1 -1
  174. package/dist/plugins/upgrade.d.ts +54 -0
  175. package/dist/plugins/upgrade.d.ts.map +1 -0
  176. package/dist/plugins/upgrade.js +240 -0
  177. package/dist/plugins/upgrade.js.map +1 -0
  178. package/dist/supervisor/control.d.ts +15 -0
  179. package/dist/supervisor/control.d.ts.map +1 -0
  180. package/dist/supervisor/control.js +89 -0
  181. package/dist/supervisor/control.js.map +1 -0
  182. package/dist/supervisor/primary.d.ts +18 -4
  183. package/dist/supervisor/primary.d.ts.map +1 -1
  184. package/dist/supervisor/primary.js +128 -16
  185. package/dist/supervisor/primary.js.map +1 -1
  186. package/dist/supervisor/protocol.d.ts +12 -0
  187. package/dist/supervisor/protocol.d.ts.map +1 -1
  188. package/dist/supervisor/protocol.js +21 -2
  189. package/dist/supervisor/protocol.js.map +1 -1
  190. package/dist/supervisor/supervision.d.ts +1 -0
  191. package/dist/supervisor/supervision.d.ts.map +1 -1
  192. package/dist/supervisor/supervision.js +14 -1
  193. package/dist/supervisor/supervision.js.map +1 -1
  194. package/dist/supervisor/worker.d.ts.map +1 -1
  195. package/dist/supervisor/worker.js +31 -6
  196. package/dist/supervisor/worker.js.map +1 -1
  197. package/dist/web/context.d.ts +7 -0
  198. package/dist/web/context.d.ts.map +1 -1
  199. package/dist/web/context.js +7 -4
  200. package/dist/web/context.js.map +1 -1
  201. package/dist/web/feed-item.d.ts +7 -6
  202. package/dist/web/feed-item.d.ts.map +1 -1
  203. package/dist/web/feed-item.js +5 -4
  204. package/dist/web/feed-item.js.map +1 -1
  205. package/dist/web/feed-rss.d.ts +2 -2
  206. package/dist/web/feed-rss.js +2 -2
  207. package/dist/web/redirects.d.ts +17 -10
  208. package/dist/web/redirects.d.ts.map +1 -1
  209. package/dist/web/redirects.js +83 -49
  210. package/dist/web/redirects.js.map +1 -1
  211. package/dist/web/routes.d.ts.map +1 -1
  212. package/dist/web/routes.js +25 -12
  213. package/dist/web/routes.js.map +1 -1
  214. package/dist/web/taxonomy.d.ts +7 -1
  215. package/dist/web/taxonomy.d.ts.map +1 -1
  216. package/dist/web/taxonomy.js +24 -8
  217. package/dist/web/taxonomy.js.map +1 -1
  218. package/dist/webmention/service.d.ts +1 -1
  219. package/dist/webmention/service.d.ts.map +1 -1
  220. package/dist/webmention/service.js +12 -2
  221. package/dist/webmention/service.js.map +1 -1
  222. package/package.json +1 -1
  223. package/themes/default/README.md +154 -3
  224. package/themes/default/layouts/base.njk +12 -3
  225. package/themes/default/layouts/post.njk +8 -2
  226. package/themes/default/layouts/tag.njk +1 -1
  227. package/themes/default/partials/body-end.njk +1 -0
  228. package/themes/default/partials/conversation.njk +1 -1
  229. package/themes/default/partials/head-end.njk +1 -0
  230. package/themes/default/partials/tags.njk +1 -1
  231. package/themes/default/src/style.css +4 -0
  232. package/themes/default/static/style.css +8 -0
package/dist/plugin.d.ts CHANGED
@@ -12,6 +12,14 @@ import type { KvStore } from '@fedify/fedify';
12
12
  * The version of the host API this core provides. A plugin names the version
13
13
  * it targets in {@link Plugin.hostApi}, and one that targets a newer version
14
14
  * than this is unavailable.
15
+ *
16
+ * It is the gate that marks a break for plugins. A plugin accepts every core
17
+ * from the one it was built against up to 1.0, so a core minor release does
18
+ * not stop a plugin by itself. Raise this number in the release that changes
19
+ * this module so a plugin written for the current version would fail on the
20
+ * new core: a type, method or field removed or renamed, an argument or return
21
+ * value reshaped, or a behavior a plugin relies on changed. Adding a method, an
22
+ * optional field or a new extension point keeps the number.
15
23
  */
16
24
  export declare const HOST_API_VERSION = 1;
17
25
  /**
@@ -61,9 +69,14 @@ export interface PluginActorKey {
61
69
  /** The private JWK it holds, or `undefined` when there is no file yet. */
62
70
  readonly jwk: string | undefined;
63
71
  }
64
- /** The site's accounts, keys and followers, as a plugin may read and change them. */
72
+ /** The site's accounts, keys, followers and content, as a plugin may read and change them. */
65
73
  export interface PluginSite {
66
74
  readonly baseUrl: string;
75
+ /**
76
+ * The content directory, absolute. A file written here is picked up as an
77
+ * edit by hand is: by the watcher while the site runs, else at the next boot.
78
+ */
79
+ readonly contentDir: string;
67
80
  /** Every account, in the users file's order. */
68
81
  users(): readonly PluginUser[];
69
82
  /**
@@ -83,7 +96,59 @@ export interface PluginSite {
83
96
  followers(username: string): readonly PluginFollower[];
84
97
  /** Add a follower, or refresh the one already held. */
85
98
  addFollower(username: string, follower: PluginFollower): Promise<void>;
99
+ /**
100
+ * Hold a file to the rules an upload through the editor is held to: the
101
+ * site's allowed types, its size limit for the file's kind, the format's
102
+ * leading bytes, and location and camera metadata removed. Answers the
103
+ * bytes to store under `uploads/`, or why the site refuses the file. It
104
+ * writes nothing.
105
+ */
106
+ checkUpload(name: string, bytes: Uint8Array): PluginUploadCheck;
107
+ /** The comments on the post at a permalink, as its comment file holds them, emails included. */
108
+ comments(permalink: string): PluginPostComments;
109
+ /**
110
+ * Write comments onto the post at a permalink: each in place of the one
111
+ * with its id, or after the last. No other comment changes or moves. The
112
+ * site renders each one's Markdown through its comment profile and keeps an
113
+ * email only in `data/`. Nobody is told: no notice, digest or delivery.
114
+ */
115
+ putComments(permalink: string, comments: readonly PluginComment[]): Promise<void>;
116
+ }
117
+ /** What {@link PluginSite.comments} reads. */
118
+ export interface PluginPostComments {
119
+ /** The comment file, relative to the content directory, such as `_data/comments/hello.json`. */
120
+ readonly file: string;
121
+ readonly comments: readonly PluginComment[];
86
122
  }
123
+ /** One comment, reaction or webmention on a post, as a plugin reads and writes it. */
124
+ export interface PluginComment {
125
+ /** Unique across the site, and what a reply names in {@link PluginComment.inReplyTo}. */
126
+ readonly id: string;
127
+ readonly source: 'comment' | 'webmention' | 'activitypub';
128
+ readonly kind: 'reply' | 'like' | 'boost' | 'repost' | 'mention';
129
+ readonly status: 'pending' | 'approved' | 'spam';
130
+ readonly author: {
131
+ readonly name: string;
132
+ readonly url: string | null;
133
+ /** Never published: the site keeps it in `data/`. */
134
+ readonly email: string | null;
135
+ readonly avatar: string | null;
136
+ };
137
+ readonly markdown: string;
138
+ /** An ISO 8601 instant. */
139
+ readonly submitted: string;
140
+ readonly inReplyTo: string | null;
141
+ /** Where it lives when it lives somewhere else, such as a webmention's source page. */
142
+ readonly url: string | null;
143
+ }
144
+ /** What {@link PluginSite.checkUpload} makes of a file. */
145
+ export type PluginUploadCheck = {
146
+ readonly accepted: true;
147
+ readonly bytes: Uint8Array;
148
+ } | {
149
+ readonly accepted: false;
150
+ readonly why: string;
151
+ };
87
152
  /** The plugin's private folder, `data/plugins/<package name>/`. */
88
153
  export interface PluginDataFolder {
89
154
  /** The folder, absolute. */
@@ -364,9 +429,12 @@ export interface PluginEditorChoice {
364
429
  }
365
430
  /**
366
431
  * What an editor button answers: a value the author may accept into the
367
- * field, choices the author ticks before accepting, or why there is none, in
368
- * plain words. Core shows each escaped. Choices are for the tags field, and
369
- * accepting adds every ticked one; beside another field they are a failure.
432
+ * field, choices the author picks from before accepting, a note with nothing
433
+ * to accept (such as that the field is best kept as it is), or why there is
434
+ * none, in plain words. Core shows each escaped. Choices beside the tags
435
+ * field are ticked and accepting adds every ticked one; beside the title the
436
+ * author picks one and accepting fills the title with it; beside the
437
+ * description they are a failure.
370
438
  */
371
439
  export type PluginEditorSuggestion = {
372
440
  readonly ok: true;
@@ -374,6 +442,9 @@ export type PluginEditorSuggestion = {
374
442
  } | {
375
443
  readonly ok: true;
376
444
  readonly choices: readonly PluginEditorChoice[];
445
+ } | {
446
+ readonly ok: true;
447
+ readonly message: string;
377
448
  } | {
378
449
  readonly ok: false;
379
450
  readonly message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -10,6 +10,14 @@
10
10
  * The version of the host API this core provides. A plugin names the version
11
11
  * it targets in {@link Plugin.hostApi}, and one that targets a newer version
12
12
  * than this is unavailable.
13
+ *
14
+ * It is the gate that marks a break for plugins. A plugin accepts every core
15
+ * from the one it was built against up to 1.0, so a core minor release does
16
+ * not stop a plugin by itself. Raise this number in the release that changes
17
+ * this module so a plugin written for the current version would fail on the
18
+ * new core: a type, method or field removed or renamed, an argument or return
19
+ * value reshaped, or a behavior a plugin relies on changed. Adding a method, an
20
+ * optional field or a new extension point keeps the number.
13
21
  */
14
22
  export const HOST_API_VERSION = 1;
15
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AA+jBlC;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAK1B,MAA8B;IAI9B,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AA2nBlC;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAK1B,MAA8B;IAI9B,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,31 @@
1
+ export declare const PLUGIN_CHANGES_FILE = "plugin-changes.json";
2
+ export type PluginChange = {
3
+ readonly action: 'add';
4
+ readonly name: string;
5
+ readonly to: string;
6
+ /** The version the folder held before, when it held one. */
7
+ readonly from?: string | undefined;
8
+ } | {
9
+ readonly action: 'update';
10
+ readonly name: string;
11
+ readonly from: string;
12
+ readonly to: string;
13
+ } | {
14
+ readonly action: 'remove';
15
+ readonly name: string;
16
+ readonly from?: string | undefined;
17
+ };
18
+ export type PluginChangeEntry = PluginChange & {
19
+ readonly id: string;
20
+ /** When, as an ISO instant. */
21
+ readonly at: string;
22
+ /** The username of the admin who made it. */
23
+ readonly user: string;
24
+ };
25
+ /** Every recorded change, newest first. */
26
+ export declare function readPluginChanges(dataDir: string): PluginChangeEntry[];
27
+ export declare function recordPluginChanges(dataDir: string, by: {
28
+ user: string;
29
+ at: Date;
30
+ }, changes: readonly PluginChange[]): Promise<void>;
31
+ //# sourceMappingURL=changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../src/plugins/changes.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAKzD,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,GACD;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChG;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE7F,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAgBF,2CAA2C;AAC3C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAEtE;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,EAC9B,OAAO,EAAE,SAAS,YAAY,EAAE,GAC/B,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * The record of who added, updated and removed which plugin from Admin >
3
+ * Plugins (TASK-306), in `data/plugin-changes.json`. It cannot be rebuilt
4
+ * from anything else, so it is a file (decision-9).
5
+ */
6
+ import { randomUUID } from 'node:crypto';
7
+ import path from 'node:path';
8
+ import { readFileIfPresentSync, updateFileAtomically } from '../files/atomic.js';
9
+ export const PLUGIN_CHANGES_FILE = 'plugin-changes.json';
10
+ /** How many changes are kept, newest first. */
11
+ const PLUGIN_CHANGES_LIMIT = 200;
12
+ function changesFile(dataDir) {
13
+ return path.join(dataDir, PLUGIN_CHANGES_FILE);
14
+ }
15
+ function parse(text) {
16
+ if (text === undefined)
17
+ return [];
18
+ try {
19
+ const parsed = JSON.parse(text);
20
+ return Array.isArray(parsed.entries) ? parsed.entries : [];
21
+ }
22
+ catch {
23
+ return [];
24
+ }
25
+ }
26
+ /** Every recorded change, newest first. */
27
+ export function readPluginChanges(dataDir) {
28
+ return parse(readFileIfPresentSync(changesFile(dataDir)));
29
+ }
30
+ export async function recordPluginChanges(dataDir, by, changes) {
31
+ if (changes.length === 0)
32
+ return;
33
+ const at = by.at.toISOString();
34
+ const added = changes.map((change) => ({ ...change, id: randomUUID(), at, user: by.user }));
35
+ await updateFileAtomically(changesFile(dataDir), (current) => {
36
+ const entries = [...added.reverse(), ...parse(current)].slice(0, PLUGIN_CHANGES_LIMIT);
37
+ return `${JSON.stringify({ entries }, null, 2)}\n`;
38
+ }, { mode: 0o600 });
39
+ }
40
+ //# sourceMappingURL=changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changes.js","sourceRoot":"","sources":["../../src/plugins/changes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD,+CAA+C;AAC/C,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAqBjC,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,KAAK,CAAC,IAAwB;IACrC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA0B,CAAC;QACzD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,OAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,EAA8B,EAC9B,OAAgC;IAEhC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,oBAAoB,CACxB,WAAW,CAAC,OAAO,CAAC,EACpB,CAAC,OAAO,EAAE,EAAE;QACV,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACvF,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC,EACD,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;AACJ,CAAC"}
@@ -35,6 +35,8 @@ export interface PluginFolderChanges {
35
35
  }
36
36
  /** Every plugin folder, by name. A missing folder, or none named, holds none. */
37
37
  export declare function scanPluginFolders(pluginsDir: string | undefined): PluginFolder[];
38
+ export declare function pluginsFingerprint(folders: readonly PluginFolder[]): string;
39
+ export declare function pluginFolderSignature(pluginsDir: string): string;
38
40
  /** What changed between two scans, or `undefined` when nothing did. */
39
41
  export declare function pluginFolderChanges(loaded: readonly PluginFolder[], current: readonly PluginFolder[]): PluginFolderChanges | undefined;
40
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"folder.d.ts","sourceRoot":"","sources":["../../src/plugins/folder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,YAAY,aAAa,CAAC;AACvC,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7D;AAED,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,EAAE,CAahF;AAED,uEAAuE;AACvE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,OAAO,EAAE,SAAS,YAAY,EAAE,GAC/B,mBAAmB,GAAG,SAAS,CAWjC;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,SAAS,YAAY,EAAE,GAC/B,OAAO,CAAC,eAAe,EAAE,CAAC,CAmB5B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CA4BhF"}
1
+ {"version":3,"file":"folder.d.ts","sourceRoot":"","sources":["../../src/plugins/folder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,YAAY,aAAa,CAAC;AACvC,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7D;AAED,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,EAAE,CAGhF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAI3E;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAahE;AAgBD,uEAAuE;AACvE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,OAAO,EAAE,SAAS,YAAY,EAAE,GAC/B,mBAAmB,GAAG,SAAS,CAWjC;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,SAAS,YAAY,EAAE,GAC/B,OAAO,CAAC,eAAe,EAAE,CAAC,CAmB5B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CA4BhF"}
@@ -15,7 +15,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
15
15
  return path;
16
16
  };
17
17
  import { createHash } from 'node:crypto';
18
- import { existsSync, readdirSync, readFileSync } from 'node:fs';
18
+ import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
19
19
  import path from 'node:path';
20
20
  import { pathToFileURL } from 'node:url';
21
21
  import { HOST_API_VERSION } from '../plugin.js';
@@ -25,17 +25,38 @@ export const PLUGIN_MANIFEST = 'plugin.json';
25
25
  export function scanPluginFolders(pluginsDir) {
26
26
  if (pluginsDir === undefined)
27
27
  return [];
28
- const folders = [];
28
+ return pluginFolderNames(pluginsDir).map((name) => folder(pluginsDir, name));
29
+ }
30
+ export function pluginsFingerprint(folders) {
31
+ const hash = createHash('sha256');
32
+ for (const { name, fingerprint } of folders)
33
+ hash.update(`${name}\0${fingerprint}\n`);
34
+ return hash.digest('hex');
35
+ }
36
+ export function pluginFolderSignature(pluginsDir) {
37
+ const lines = [];
38
+ for (const name of pluginFolderNames(pluginsDir)) {
39
+ const directory = path.join(pluginsDir, ...name.split('/'));
40
+ lines.push(name);
41
+ for (const file of filesUnder(directory)) {
42
+ const { size, mtimeMs, ctimeMs } = statSync(file);
43
+ lines.push(`${path.relative(directory, file)} ${String(size)} ${String(mtimeMs)} ${String(ctimeMs)}`);
44
+ }
45
+ }
46
+ return lines.join('\n');
47
+ }
48
+ function pluginFolderNames(pluginsDir) {
49
+ const names = [];
29
50
  for (const entry of subdirectories(pluginsDir)) {
30
51
  if (!entry.startsWith('@')) {
31
- folders.push(folder(pluginsDir, entry));
52
+ names.push(entry);
32
53
  continue;
33
54
  }
34
55
  for (const scoped of subdirectories(path.join(pluginsDir, entry))) {
35
- folders.push(folder(pluginsDir, `${entry}/${scoped}`));
56
+ names.push(`${entry}/${scoped}`);
36
57
  }
37
58
  }
38
- return folders.sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
59
+ return names.sort((a, b) => (a < b ? -1 : a > b ? 1 : 0));
39
60
  }
40
61
  /** What changed between two scans, or `undefined` when nothing did. */
41
62
  export function pluginFolderChanges(loaded, current) {
@@ -1 +1 @@
1
- {"version":3,"file":"folder.js","sourceRoot":"","sources":["../../src/plugins/folder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"folder.js","sourceRoot":"","sources":["../../src/plugins/folder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;AA6B7C,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,UAA8B;IAC9D,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgC;IACjE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,OAAO;QAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC;IACtF,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,CACR,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,mBAAmB,CACjC,MAA+B,EAC/B,OAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,OAAO;SACpB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC;SACzF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC;QACzD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAgC;IAEhC,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,KAAK,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,OAAO,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,uBAAuB,IAAI,EAAE,CAAC;QAC7C,IAAI,QAAoC,CAAC;QACzC,IAAI,CAAC;YACH,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjF,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7C,SAAS,CAAC,IAAI,CACZ,OAAO,MAAM,KAAK,QAAQ;YACxB,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;YAC3E,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,OAAO,eAAe,eAAe,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,QAAQ,GAAG,KAA8D,CAAC;IAChF,MAAM,KAAK,GAAG,QAAQ,EAAE,gBAAgB,CAAC;IACzC,IACE,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ;QAClC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;QACpC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnC,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EACjE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,OAAO,eAAe,kEAAkE,CACzF,CAAC;IACJ,CAAC;IACD,OAAO,QAA0B,CAAC;AACpC,CAAC;AAED,0DAA0D;AAC1D,KAAK,UAAU,YAAY,CAAC,SAAiB;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,aAAa,YAAY,GAAG,CAAC;IAC5D,IAAI,MAA6B,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,MAAM,kCAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAC,CAA0B,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,YAAY,oBAAoB,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,MAAM,CAAC,OAAO;QAChB,CAAC,CAAC,OAAO,YAAY,kDAAkD,CAAC;AAC5E,CAAC;AAED,mEAAmE;AACnE,SAAS,WAAW,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE;IAC7C,OAAO;QACL,IAAI;QACJ,OAAO;QACP,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,gBAAgB;QACzB,QAAQ,KAAI,CAAC;KACd,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,MAAM,CAAC,UAAkB,EAAE,IAAY;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,4FAA4F;AAC5F,SAAS,cAAc,CAAC,SAAiB;IACvC,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACnD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACrE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB;IACnC,OAAO,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SACpE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SACjC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SACvD,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;QACtD,OAAQ,KAAgC,CAAC,QAAQ,KAAK,UAAU,CACjE,CAAC;AACJ,CAAC"}
@@ -9,6 +9,8 @@
9
9
  */
10
10
  import type { PluginManifest } from './folder.ts';
11
11
  export declare const DEFAULT_REGISTRY = "https://registry.npmjs.org/";
12
+ /** The registry plugins come from: `npm_config_registry`, as npm reads it, or registry.npmjs.org. */
13
+ export declare function pluginRegistry(env: Readonly<Record<string, string | undefined>>): string;
12
14
  export interface PackageSpec {
13
15
  name: string;
14
16
  /** A version, a dist-tag or a range; `latest` when none was given. */
@@ -27,14 +29,39 @@ export declare function addPlugin(spec: PackageSpec, options: {
27
29
  pluginsDir: string;
28
30
  registry: string;
29
31
  }): Promise<AddedPlugin>;
30
- /** Delete a plugin's folder. Throws when there is none. */
31
- export declare function removePlugin(name: string, pluginsDir: string): Promise<string>;
32
+ /**
33
+ * Delete a plugin's folder. Throws when there is none, and when the site has
34
+ * the plugin enabled: as in WordPress, a plugin is disabled before it is removed.
35
+ */
36
+ export declare function removePlugin(name: string, site: {
37
+ pluginsDir: string;
38
+ contentDir: string;
39
+ }): Promise<string>;
40
+ /** Why an enabled plugin is not removed. */
41
+ export declare function enabledRefusal(name: string): string;
42
+ /** The sentence that tells the reader how to add a missing plugin. */
43
+ export type AddAdvice = (name: string) => string;
44
+ /** What the command line tells its reader to run. */
45
+ export declare const ADD_WITH_COMMAND: AddAdvice;
32
46
  /**
33
47
  * A line for each plugin the manifest requires that is not installed or not
34
48
  * in range, and for a core out of range. `installed` maps each installed
35
49
  * plugin to its version, or to `undefined` when that is not known.
36
50
  */
37
- export declare function requirementNotes(manifest: PluginManifest, installed: ReadonlyMap<string, string | undefined>, coreVersion: string): string[];
51
+ export declare function requirementNotes(manifest: Pick<PluginManifest, 'peerDependencies'>, installed: ReadonlyMap<string, string | undefined>, coreVersion: string, addAdvice: AddAdvice): string[];
52
+ export declare const CORE_PACKAGE = "@geekity/cms";
53
+ export interface PackageDocument {
54
+ 'dist-tags'?: Record<string, string>;
55
+ versions?: Record<string, {
56
+ peerDependencies?: Record<string, string>;
57
+ dist?: {
58
+ tarball?: string;
59
+ integrity?: string;
60
+ shasum?: string;
61
+ };
62
+ } | undefined>;
63
+ }
64
+ export declare function fetchPackument(name: string, registry: string): Promise<PackageDocument>;
38
65
  /**
39
66
  * The regular files in a gzipped tar, by path with the archive's top folder
40
67
  * (`package/` in an npm tarball) removed. Links and devices are skipped.
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/plugins/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAK9D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAU1D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,qGAAqG;AACrG,wBAAsB,SAAS,CAC7B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,WAAW,CAAC,CAuCtB;AAED,2DAA2D;AAC3D,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASpF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAClD,WAAW,EAAE,MAAM,GAClB,MAAM,EAAE,CAuBV;AA0ED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BlE;AAsDD,sGAAsG;AACtG,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAOpF"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/plugins/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAE9D,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAMxF;AAKD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAU1D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,qGAAqG;AACrG,wBAAsB,SAAS,CAC7B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,WAAW,CAAC,CAuCtB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,4CAA4C;AAC5C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,sEAAsE;AACtE,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAEjD,qDAAqD;AACrD,eAAO,MAAM,gBAAgB,EAAE,SAA+D,CAAC;AAE/F;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,EAClD,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAClD,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,GACnB,MAAM,EAAE,CAuBV;AAED,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAS3C,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CACf,MAAM,EACJ;QACE,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAClE,GACD,SAAS,CACZ,CAAC;CACH;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAoB7F;AA0CD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BlE;AA0DD,sGAAsG;AACtG,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAOpF"}
@@ -14,9 +14,14 @@ import path from 'node:path';
14
14
  import { gunzipSync } from 'node:zlib';
15
15
  import semver from 'semver';
16
16
  import { HOST_API_VERSION } from '../plugin.js';
17
+ import { readEnabledPlugins } from './enabled.js';
17
18
  import { PLUGIN_ENTRY, PLUGIN_MANIFEST, readPluginManifest, scanPluginFolders } from './folder.js';
18
19
  import { PACKAGE_NAME } from './registry.js';
19
20
  export const DEFAULT_REGISTRY = 'https://registry.npmjs.org/';
21
+ /** The registry plugins come from: `npm_config_registry`, as npm reads it, or registry.npmjs.org. */
22
+ export function pluginRegistry(env) {
23
+ return ([env['npm_config_registry'], env['NPM_CONFIG_REGISTRY']].find((value) => value !== undefined && value !== '') ?? DEFAULT_REGISTRY);
24
+ }
20
25
  /** The folder in a package that is the plugin's folder once installed. */
21
26
  const BUNDLE_PREFIX = 'dist/bundle/';
22
27
  /** `@scope/name@1.2.3`, `name@next` or a bare name. */
@@ -65,23 +70,35 @@ export async function addPlugin(spec, options) {
65
70
  await rm(staging, { recursive: true, force: true });
66
71
  }
67
72
  }
68
- /** Delete a plugin's folder. Throws when there is none. */
69
- export async function removePlugin(name, pluginsDir) {
73
+ /**
74
+ * Delete a plugin's folder. Throws when there is none, and when the site has
75
+ * the plugin enabled: as in WordPress, a plugin is disabled before it is removed.
76
+ */
77
+ export async function removePlugin(name, site) {
78
+ const { pluginsDir } = site;
70
79
  const directory = path.join(pluginsDir, ...name.split('/'));
71
80
  if (!PACKAGE_NAME.test(name) || !existsSync(directory)) {
72
81
  throw new Error(`${name} is not in the plugins folder, ${pluginsDir}.`);
73
82
  }
83
+ if (readEnabledPlugins(site.contentDir).has(name))
84
+ throw new Error(enabledRefusal(name));
74
85
  const doomed = path.join(path.dirname(directory), hidden('removing', directory));
75
86
  await rename(directory, doomed);
76
87
  await rm(doomed, { recursive: true, force: true });
77
88
  return directory;
78
89
  }
90
+ /** Why an enabled plugin is not removed. */
91
+ export function enabledRefusal(name) {
92
+ return `${name} is enabled. Disable it first.`;
93
+ }
94
+ /** What the command line tells its reader to run. */
95
+ export const ADD_WITH_COMMAND = (name) => `Add it with: geekity plugin add ${name}`;
79
96
  /**
80
97
  * A line for each plugin the manifest requires that is not installed or not
81
98
  * in range, and for a core out of range. `installed` maps each installed
82
99
  * plugin to its version, or to `undefined` when that is not known.
83
100
  */
84
- export function requirementNotes(manifest, installed, coreVersion) {
101
+ export function requirementNotes(manifest, installed, coreVersion, addAdvice) {
85
102
  const notes = [];
86
103
  for (const [dependency, range] of Object.entries(manifest.peerDependencies)) {
87
104
  if (dependency === CORE_PACKAGE) {
@@ -91,7 +108,7 @@ export function requirementNotes(manifest, installed, coreVersion) {
91
108
  continue;
92
109
  }
93
110
  if (!installed.has(dependency)) {
94
- notes.push(`It requires ${dependency} ${range}, which is not installed. Add it with: geekity plugin add ${dependency}`);
111
+ notes.push(`It requires ${dependency} ${range}, which is not installed. ${addAdvice(dependency)}`);
95
112
  continue;
96
113
  }
97
114
  const version = installed.get(dependency);
@@ -101,19 +118,28 @@ export function requirementNotes(manifest, installed, coreVersion) {
101
118
  }
102
119
  return notes;
103
120
  }
104
- const CORE_PACKAGE = '@geekity/cms';
105
- async function resolveRelease(spec, registry) {
106
- const url = new URL(spec.name.replace('/', '%2f'), registry.endsWith('/') ? registry : `${registry}/`);
107
- const response = await fetch(url, {
108
- headers: { accept: 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8' },
109
- });
121
+ export const CORE_PACKAGE = '@geekity/cms';
122
+ export async function fetchPackument(name, registry) {
123
+ const url = new URL(name.replace('/', '%2f'), registry.endsWith('/') ? registry : `${registry}/`);
124
+ let response;
125
+ try {
126
+ response = await fetch(url, {
127
+ headers: { accept: 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8' },
128
+ });
129
+ }
130
+ catch (error) {
131
+ throw new Error(`The registry at ${registry} could not be reached: ${error instanceof Error ? error.message : String(error)}.`, { cause: error });
132
+ }
110
133
  if (response.status === 404) {
111
- throw new Error(`${spec.name} is not on the registry at ${registry}.`);
134
+ throw new Error(`${name} is not on the registry at ${registry}.`);
112
135
  }
113
136
  if (!response.ok) {
114
- throw new Error(`The registry at ${registry} answered ${String(response.status)} for ${spec.name}.`);
137
+ throw new Error(`The registry at ${registry} answered ${String(response.status)} for ${name}.`);
115
138
  }
116
- const document = (await response.json());
139
+ return (await response.json());
140
+ }
141
+ async function resolveRelease(spec, registry) {
142
+ const document = await fetchPackument(spec.name, registry);
117
143
  const versions = Object.keys(document.versions ?? {});
118
144
  const version = document['dist-tags']?.[spec.wanted] ??
119
145
  (semver.valid(spec.wanted) !== null && versions.includes(spec.wanted)
@@ -227,8 +253,10 @@ function stagedManifest(staging, label, name) {
227
253
  if (manifest.name !== name) {
228
254
  throw new Error(`${label} was refused: its ${PLUGIN_MANIFEST} names ${manifest.name}.`);
229
255
  }
230
- if (manifest.hostApi > HOST_API_VERSION) {
231
- throw new Error(`${label} targets host API version ${String(manifest.hostApi)}, and this core provides version ${String(HOST_API_VERSION)}. Upgrade @geekity/cms, or add an older version of the plugin.`);
256
+ if (manifest.hostApi !== HOST_API_VERSION) {
257
+ throw new Error(`${label} targets host API version ${String(manifest.hostApi)}, and this core provides version ${String(HOST_API_VERSION)}. ${manifest.hostApi > HOST_API_VERSION
258
+ ? 'Upgrade @geekity/cms, or add an older version of the plugin.'
259
+ : 'Add a newer version of the plugin.'}`);
232
260
  }
233
261
  return manifest;
234
262
  }
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/plugins/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEnG,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;AAE9D,0EAA0E;AAC1E,MAAM,aAAa,GAAG,cAAc,CAAC;AAQrC,uDAAuD;AACvD,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,8EAA8E,CACtG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AASD,qGAAqG;AACrG,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAiB,EACjB,OAAiD;IAEjD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACtB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAE3C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,eAAe,KAAK,kCAAkC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CACjF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,gBAAgB,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,iBAAiB,gBAAgB,EAAE,CAAC,CAAC;IAEjG,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,0BAA0B,aAAa,GAAG,YAAY,QAAQ,aAAa,GAAG,eAAe,gGAAgG,CACtM,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,MAAM,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACnC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,UAAkB;IACjE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kCAAkC,UAAU,GAAG,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IACjF,MAAM,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAwB,EACxB,SAAkD,EAClD,WAAmB;IAEnB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5E,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,CACR,YAAY,YAAY,IAAI,KAAK,sBAAsB,WAAW,8BAA8B,CACjG,CAAC;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CACR,eAAe,UAAU,IAAI,KAAK,6DAA6D,UAAU,EAAE,CAC5G,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,IAAI,KAAK,SAAS,OAAO,gBAAgB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,YAAY,GAAG,cAAc,CAAC;AAiBpC,KAAK,UAAU,cAAc,CAAC,IAAiB,EAAE,QAAgB;IAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAC7B,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CACnD,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE,EAAE,MAAM,EAAE,qEAAqE,EAAE;KAC3F,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,8BAA8B,QAAQ,GAAG,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,aAAa,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,GAAG,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GACX,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI;gBACvC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;gBAC7C,CAAC,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IAC/E,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,4BAA4B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAC5F,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAE/D,kFAAkF;AAClF,SAAS,cAAc,CAAC,OAAe,EAAE,OAAgB;IACvD,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IACtF,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM;aACpB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACpC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtE,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,SAAS,gEAAgE,CAAC;IACvF,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;YACtF,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,8DAA8D,CAAC;IACrE,CAAC;IACD,OAAO,+DAA+D,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,IAAI,QAA4B,CAAC;IACjC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC;YAAE,MAAM;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAE5C,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,QAAQ,CAAC;YACtD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACrF,QAAQ,GAAG,SAAS,CAAC;QACrB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,EAAE;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,KAAK,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc;IAC1D,OAAO,MAAM;SACV,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;SAC/B,QAAQ,CAAC,MAAM,CAAC;SAChB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,OAAO,CAAC,OAAe;IAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,iHAAiH;AACjH,SAAS,WAAW,CAAC,KAA0B;IAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,SAAS;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC;YACtF,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,GAAG,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,KAAa,EAAE,IAAY;IAClE,IAAI,QAAoC,CAAC;IACzC,IAAI,CAAC;QACH,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,iBAAiB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACjF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,eAAe,GAAG,CAAC,CAAC;IACnF,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qBAAqB,eAAe,UAAU,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,6BAA6B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,oCAAoC,MAAM,CAAC,gBAAgB,CAAC,gEAAgE,CAC1L,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,OAAO,IAAI,GAAG,CACZ,iBAAiB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI;QACX,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC;KACnC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB;IACzC,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,QAAQ,CAAC,OAAe,EAAE,SAAiB;IACxD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9E,MAAM,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7B,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,6EAA6E;AAC7E,SAAS,MAAM,CAAC,OAAe,EAAE,SAAiB;IAChD,OAAO,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/plugins/install.ts"],"names":[],"mappings":"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"}