@forumulate/cli 0.9.0 → 0.10.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 (224) hide show
  1. package/README.md +3 -3
  2. package/dist/api/args.d.ts.map +1 -1
  3. package/dist/api/args.js +1 -0
  4. package/dist/api/args.js.map +1 -1
  5. package/dist/api/command.d.ts +1 -1
  6. package/dist/api/command.d.ts.map +1 -1
  7. package/dist/api/command.js +86 -11
  8. package/dist/api/command.js.map +1 -1
  9. package/dist/api/http.d.ts +8 -0
  10. package/dist/api/http.d.ts.map +1 -1
  11. package/dist/api/http.js +3 -2
  12. package/dist/api/http.js.map +1 -1
  13. package/dist/api/live-spec.d.ts +48 -0
  14. package/dist/api/live-spec.d.ts.map +1 -0
  15. package/dist/api/live-spec.js +72 -0
  16. package/dist/api/live-spec.js.map +1 -0
  17. package/dist/api/operations.json +1 -1
  18. package/dist/api/request.d.ts.map +1 -1
  19. package/dist/api/request.js +25 -1
  20. package/dist/api/request.js.map +1 -1
  21. package/dist/api/send.d.ts +10 -1
  22. package/dist/api/send.d.ts.map +1 -1
  23. package/dist/api/send.js +14 -3
  24. package/dist/api/send.js.map +1 -1
  25. package/dist/api/slim.d.ts +14 -0
  26. package/dist/api/slim.d.ts.map +1 -0
  27. package/dist/api/slim.js +174 -0
  28. package/dist/api/slim.js.map +1 -0
  29. package/dist/cache-command.d.ts +12 -0
  30. package/dist/cache-command.d.ts.map +1 -0
  31. package/dist/cache-command.js +93 -0
  32. package/dist/cache-command.js.map +1 -0
  33. package/dist/check/command.d.ts +48 -0
  34. package/dist/check/command.d.ts.map +1 -0
  35. package/dist/check/command.js +256 -0
  36. package/dist/check/command.js.map +1 -0
  37. package/dist/check/external.d.ts +66 -0
  38. package/dist/check/external.d.ts.map +1 -0
  39. package/dist/check/external.js +177 -0
  40. package/dist/check/external.js.map +1 -0
  41. package/dist/check/markdown-links.d.ts +38 -0
  42. package/dist/check/markdown-links.d.ts.map +1 -0
  43. package/dist/check/markdown-links.js +166 -0
  44. package/dist/check/markdown-links.js.map +1 -0
  45. package/dist/cli.js +42 -7
  46. package/dist/cli.js.map +1 -1
  47. package/dist/commands/completion.d.ts.map +1 -1
  48. package/dist/commands/completion.js +1 -0
  49. package/dist/commands/completion.js.map +1 -1
  50. package/dist/commands/context.d.ts.map +1 -1
  51. package/dist/commands/context.js +6 -2
  52. package/dist/commands/context.js.map +1 -1
  53. package/dist/commands/groups-api.d.ts.map +1 -1
  54. package/dist/commands/groups-api.js +20 -2
  55. package/dist/commands/groups-api.js.map +1 -1
  56. package/dist/commands/groups-docs.d.ts.map +1 -1
  57. package/dist/commands/groups-docs.js +8 -2
  58. package/dist/commands/groups-docs.js.map +1 -1
  59. package/dist/commands/groups-jobs.d.ts +10 -0
  60. package/dist/commands/groups-jobs.d.ts.map +1 -0
  61. package/dist/commands/groups-jobs.js +89 -0
  62. package/dist/commands/groups-jobs.js.map +1 -0
  63. package/dist/commands/groups-org.d.ts.map +1 -1
  64. package/dist/commands/groups-org.js +59 -2
  65. package/dist/commands/groups-org.js.map +1 -1
  66. package/dist/commands/groups-site.d.ts.map +1 -1
  67. package/dist/commands/groups-site.js +33 -3
  68. package/dist/commands/groups-site.js.map +1 -1
  69. package/dist/commands/groups-spaces.d.ts.map +1 -1
  70. package/dist/commands/groups-spaces.js +11 -5
  71. package/dist/commands/groups-spaces.js.map +1 -1
  72. package/dist/commands/groups-types.d.ts.map +1 -1
  73. package/dist/commands/groups-types.js +74 -0
  74. package/dist/commands/groups-types.js.map +1 -1
  75. package/dist/commands/groups.d.ts.map +1 -1
  76. package/dist/commands/groups.js +2 -0
  77. package/dist/commands/groups.js.map +1 -1
  78. package/dist/commands/index.d.ts +9 -0
  79. package/dist/commands/index.d.ts.map +1 -1
  80. package/dist/commands/index.js +18 -3
  81. package/dist/commands/index.js.map +1 -1
  82. package/dist/commands/job-wait.d.ts +64 -0
  83. package/dist/commands/job-wait.d.ts.map +1 -0
  84. package/dist/commands/job-wait.js +91 -0
  85. package/dist/commands/job-wait.js.map +1 -0
  86. package/dist/commands/resource.d.ts +19 -0
  87. package/dist/commands/resource.d.ts.map +1 -1
  88. package/dist/commands/resource.js +65 -3
  89. package/dist/commands/resource.js.map +1 -1
  90. package/dist/content/library.d.ts +8 -0
  91. package/dist/content/library.d.ts.map +1 -1
  92. package/dist/content/library.js +10 -2
  93. package/dist/content/library.js.map +1 -1
  94. package/dist/credentials.d.ts +43 -4
  95. package/dist/credentials.d.ts.map +1 -1
  96. package/dist/credentials.js +67 -4
  97. package/dist/credentials.js.map +1 -1
  98. package/dist/doctor/address-checks.d.ts +56 -0
  99. package/dist/doctor/address-checks.d.ts.map +1 -0
  100. package/dist/doctor/address-checks.js +183 -0
  101. package/dist/doctor/address-checks.js.map +1 -0
  102. package/dist/doctor/boilerplate.d.ts +33 -0
  103. package/dist/doctor/boilerplate.d.ts.map +1 -0
  104. package/dist/doctor/boilerplate.js +78 -0
  105. package/dist/doctor/boilerplate.js.map +1 -0
  106. package/dist/doctor/command.d.ts +18 -0
  107. package/dist/doctor/command.d.ts.map +1 -0
  108. package/dist/doctor/command.js +234 -0
  109. package/dist/doctor/command.js.map +1 -0
  110. package/dist/doctor/crawl.d.ts +49 -0
  111. package/dist/doctor/crawl.d.ts.map +1 -0
  112. package/dist/doctor/crawl.js +210 -0
  113. package/dist/doctor/crawl.js.map +1 -0
  114. package/dist/doctor/extended.d.ts +52 -0
  115. package/dist/doctor/extended.d.ts.map +1 -0
  116. package/dist/doctor/extended.js +150 -0
  117. package/dist/doctor/extended.js.map +1 -0
  118. package/dist/doctor/page-checks.d.ts +42 -0
  119. package/dist/doctor/page-checks.d.ts.map +1 -0
  120. package/dist/doctor/page-checks.js +200 -0
  121. package/dist/doctor/page-checks.js.map +1 -0
  122. package/dist/doctor/probe.d.ts +63 -0
  123. package/dist/doctor/probe.d.ts.map +1 -0
  124. package/dist/doctor/probe.js +170 -0
  125. package/dist/doctor/probe.js.map +1 -0
  126. package/dist/doctor/reader-auth-atlas.d.ts +18 -0
  127. package/dist/doctor/reader-auth-atlas.d.ts.map +1 -0
  128. package/dist/doctor/reader-auth-atlas.js +50 -0
  129. package/dist/doctor/reader-auth-atlas.js.map +1 -0
  130. package/dist/doctor/robots-params.d.ts +36 -0
  131. package/dist/doctor/robots-params.d.ts.map +1 -0
  132. package/dist/doctor/robots-params.js +97 -0
  133. package/dist/doctor/robots-params.js.map +1 -0
  134. package/dist/doctor/site.d.ts +42 -0
  135. package/dist/doctor/site.d.ts.map +1 -0
  136. package/dist/doctor/site.js +82 -0
  137. package/dist/doctor/site.js.map +1 -0
  138. package/dist/doctor.d.ts +21 -0
  139. package/dist/doctor.d.ts.map +1 -1
  140. package/dist/doctor.js +94 -3
  141. package/dist/doctor.js.map +1 -1
  142. package/dist/exit-codes.d.ts +40 -0
  143. package/dist/exit-codes.d.ts.map +1 -0
  144. package/dist/exit-codes.js +66 -0
  145. package/dist/exit-codes.js.map +1 -0
  146. package/dist/help-commands.d.ts +13 -0
  147. package/dist/help-commands.d.ts.map +1 -0
  148. package/dist/help-commands.js +215 -0
  149. package/dist/help-commands.js.map +1 -0
  150. package/dist/help.d.ts +1 -1
  151. package/dist/help.d.ts.map +1 -1
  152. package/dist/help.js +57 -11
  153. package/dist/help.js.map +1 -1
  154. package/dist/io.d.ts +33 -0
  155. package/dist/io.d.ts.map +1 -0
  156. package/dist/io.js +81 -0
  157. package/dist/io.js.map +1 -0
  158. package/dist/preview-comment.d.ts +20 -0
  159. package/dist/preview-comment.d.ts.map +1 -0
  160. package/dist/preview-comment.js +88 -0
  161. package/dist/preview-comment.js.map +1 -0
  162. package/dist/publish/about.d.ts +23 -0
  163. package/dist/publish/about.d.ts.map +1 -0
  164. package/dist/publish/about.js +66 -0
  165. package/dist/publish/about.js.map +1 -0
  166. package/dist/publish/command.d.ts +20 -0
  167. package/dist/publish/command.d.ts.map +1 -1
  168. package/dist/publish/command.js +97 -4
  169. package/dist/publish/command.js.map +1 -1
  170. package/dist/publish/context.d.ts +8 -0
  171. package/dist/publish/context.d.ts.map +1 -1
  172. package/dist/publish/context.js.map +1 -1
  173. package/dist/publish/docs-apply.d.ts.map +1 -1
  174. package/dist/publish/docs-apply.js +13 -1
  175. package/dist/publish/docs-apply.js.map +1 -1
  176. package/dist/publish/extras.d.ts +10 -0
  177. package/dist/publish/extras.d.ts.map +1 -1
  178. package/dist/publish/extras.js +54 -2
  179. package/dist/publish/extras.js.map +1 -1
  180. package/dist/publish/manifest.d.ts.map +1 -1
  181. package/dist/publish/manifest.js +27 -2
  182. package/dist/publish/manifest.js.map +1 -1
  183. package/dist/publish/preview.d.ts +56 -0
  184. package/dist/publish/preview.d.ts.map +1 -0
  185. package/dist/publish/preview.js +133 -0
  186. package/dist/publish/preview.js.map +1 -0
  187. package/dist/publish/redirects.d.ts +13 -0
  188. package/dist/publish/redirects.d.ts.map +1 -0
  189. package/dist/publish/redirects.js +154 -0
  190. package/dist/publish/redirects.js.map +1 -0
  191. package/dist/publish/studio-edits.d.ts +25 -0
  192. package/dist/publish/studio-edits.d.ts.map +1 -0
  193. package/dist/publish/studio-edits.js +53 -0
  194. package/dist/publish/studio-edits.js.map +1 -0
  195. package/dist/publish/types.d.ts +22 -1
  196. package/dist/publish/types.d.ts.map +1 -1
  197. package/dist/publish-command.d.ts +55 -0
  198. package/dist/publish-command.d.ts.map +1 -0
  199. package/dist/publish-command.js +197 -0
  200. package/dist/publish-command.js.map +1 -0
  201. package/dist/run.d.ts +3 -10
  202. package/dist/run.d.ts.map +1 -1
  203. package/dist/run.js +122 -110
  204. package/dist/run.js.map +1 -1
  205. package/dist/translations/target.d.ts.map +1 -1
  206. package/dist/translations/target.js +2 -2
  207. package/dist/translations/target.js.map +1 -1
  208. package/dist/validate.d.ts +39 -0
  209. package/dist/validate.d.ts.map +1 -0
  210. package/dist/validate.js +166 -0
  211. package/dist/validate.js.map +1 -0
  212. package/dist/version.d.ts +8 -0
  213. package/dist/version.d.ts.map +1 -0
  214. package/dist/version.js +11 -0
  215. package/dist/version.js.map +1 -0
  216. package/dist/whoami.d.ts +41 -0
  217. package/dist/whoami.d.ts.map +1 -0
  218. package/dist/whoami.js +161 -0
  219. package/dist/whoami.js.map +1 -0
  220. package/package.json +2 -2
  221. package/dist/publish-dir.d.ts +0 -54
  222. package/dist/publish-dir.d.ts.map +0 -1
  223. package/dist/publish-dir.js +0 -119
  224. package/dist/publish-dir.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/api/request.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAA0C,KAAK,SAAS,EAAmB,MAAM,QAAQ,CAAC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;IAC5C,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kGAAkG;AAClG,eAAO,MAAM,SAAS,aAiBpB,CAAC;AAEH,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,KAAG,MAA8C,CAAC;AAEhF,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAyDxC,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EAAE,EACrB,GAAG,EAAE,cAAc,EACnB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAClC,OAAO,CAAC,OAAO,CAAC,CAwHlB"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/api/request.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAA0C,KAAK,SAAS,EAAmB,MAAM,QAAQ,CAAC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;IAC5C,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kGAAkG;AAClG,eAAO,MAAM,SAAS,aA2BpB,CAAC;AASH,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,KAAG,MAA8C,CAAC;AAEhF,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAyDxC,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EAAE,EACrB,GAAG,EAAE,cAAc,EACnB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAClC,OAAO,CAAC,OAAO,CAAC,CA6HlB"}
@@ -23,7 +23,23 @@ exports.API_FLAGS = new Set([
23
23
  'help',
24
24
  'verbose',
25
25
  'org',
26
+ // The output contract (FMU-D05): never API parameters.
27
+ 'out',
28
+ 'jsonl',
29
+ /*
30
+ * The global PAT override (FMU-DOC01). Here so that, on an operation with no
31
+ * `token` of its own, it is never sent on as a query parameter (the secret
32
+ * in a URL and in every access log in front of the API). An operation that
33
+ * declares one, in its parameters or its body, still owns it: see `OWNED_FIRST`.
34
+ */
35
+ 'token',
26
36
  ]);
37
+ /**
38
+ * CLI flags an operation's BODY property of the same name also beats. Only
39
+ * `token` for now: a registry's, a GitHub connection's and an ACME answer's
40
+ * token are body fields, and `--token` named them before it was global.
41
+ */
42
+ const OWNED_FIRST = new Set(['token']);
27
43
  const norm = (s) => s.toLowerCase().replace(/[-_]/g, '');
28
44
  exports.norm = norm;
29
45
  class UsageError extends Error {
@@ -100,14 +116,19 @@ async function planRequest(op, parsed, positionals, src, preset = {}) {
100
116
  let bodySet = false;
101
117
  const form = new FormData();
102
118
  let formSet = false;
119
+ let tokenIsParam = false;
103
120
  for (const [name, vals] of parsed.flags) {
104
121
  const param = byNorm.get((0, exports.norm)(name));
105
122
  if (param) {
106
123
  values[param.n] = [...(values[param.n] && !preset[param.n] ? values[param.n] : []), ...vals];
124
+ if (name === 'token')
125
+ tokenIsParam = true;
107
126
  continue;
108
127
  }
109
- if (exports.API_FLAGS.has(name))
128
+ if (exports.API_FLAGS.has(name) && !(OWNED_FIRST.has(name) && bodyByNorm.has((0, exports.norm)(name))))
110
129
  continue;
130
+ if (name === 'token')
131
+ tokenIsParam = true;
111
132
  const prop = bodyByNorm.get((0, exports.norm)(name));
112
133
  if (prop && !op.mp) {
113
134
  const v = vals.at(-1);
@@ -203,6 +224,9 @@ async function planRequest(op, parsed, positionals, src, preset = {}) {
203
224
  formSet = true;
204
225
  }
205
226
  const request = { method: op.m, path, query, headers, idempotent: Boolean(op.ik) };
227
+ // The value went to the operation, so the bearer is the ordinary one.
228
+ if (tokenIsParam)
229
+ request.tokenIsParam = true;
206
230
  if (formSet)
207
231
  request.form = form;
208
232
  else if (bodySet) {
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/api/request.ts"],"names":[],"mappings":";;;AAiHA,kCA8HC;AA/OD,yCAAqC;AACrC,iCAAgD;AAChD,iCAAiG;AA0BjG,kGAAkG;AACrF,QAAA,SAAS,GAAG,IAAI,GAAG,CAAC;IAC/B,MAAM;IACN,UAAU;IACV,WAAW;IACX,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,aAAa;IACb,iBAAiB;IACjB,SAAS;IACT,iBAAiB;IACjB,SAAS;IACT,MAAM;IACN,SAAS;IACT,KAAK;CACN,CAAC,CAAC;AAEI,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAAnE,QAAA,IAAI,QAA+D;AAEhF,MAAa,UAAW,SAAQ,KAAK;CAAG;AAAxC,gCAAwC;AAExC,SAAS,MAAM,CAAC,GAAW,EAAE,MAA8B,EAAE,EAAU;IACrE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5F,IAAI,GAAG,KAAK,MAAM,IAAI,MAAM,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,GAAG,EAAE,2BAA2B,GAAG,GAAG,CAAC,CAAC;YACtF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,SAAS;YACZ,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO;gBAAE,OAAO,GAAG,KAAK,MAAM,CAAC;YAC7D,MAAM,IAAI,UAAU,CAAC,GAAG,EAAE,gCAAgC,GAAG,GAAG,CAAC,CAAC;QACpE,KAAK,OAAO;YACV,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1D,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/E,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5B;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,EAAU;IACxC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,UAAU,CAAC,GAAG,EAAE,qBAAsB,CAAW,CAAC,OAAO,GAAG,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,0FAA0F;AAC1F,SAAS,OAAO,CAAC,MAA+B,EAAE,IAAY,EAAE,KAAc;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1D,IAAI,GAAG,IAAI,CAAC,CAAC,CAA4B,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED,SAAS,QAAQ,CAAC,EAAa,EAAE,IAAY;IAC3C,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,IAAI,GAA2B,IAAA,qBAAc,EAAC,EAAE,CAAC,CAAC,IAAK,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,IAAI,GAAG,IAAA,iBAAU,EAAC,IAAA,iBAAU,EAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,IAAA,iBAAU,EAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,GAAmB;IACtD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC;IACxD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC;AACb,CAAC;AAQM,KAAK,UAAU,WAAW,CAC/B,EAAa,EACb,MAAc,EACd,WAAqB,EACrB,GAAmB,EACnB,SAAiC,EAAE;IAEnC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,YAAI,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAc,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,YAAI,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAA,YAAI,EAAC,IAAI,CAAC,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;YAC9F,SAAS;QACX,CAAC;QACD,IAAI,iBAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAA,YAAI,EAAC,IAAI,CAAC,CAAC,CAAC;QACxC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACrD,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC,CAAC;YAChD,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,IAAI,UAAU,CAClB,KAAK,IAAI,0BAA0B,EAAE,CAAC,EAAE,kCAAkC,EAAE,CAAC,EAAE,EAAE,CAClF,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,IAAA,UAAG,EAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,EAAE,GAAG,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;QAC5E,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAA,YAAI,EAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/E,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,gEAAgE;IAChE,MAAM,SAAS,GAAG,IAAA,iBAAU,EAAC,EAAE,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC,CAAC;IACxF,IAAI,KAAK,CAAC,MAAM;QACd,MAAM,IAAI,UAAU,CAAC,sBAAsB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU;QAChE,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,MAAM;QAChB,MAAM,IAAI,UAAU,CAClB,GAAG,EAAE,CAAC,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,CAAC,CAAC,GAAG,CAC5F,CAAC;IACJ,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,IAAI,QAAQ,CAAC,MAAM;QAAE,MAAM,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,YAAY,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEvF,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;IAChG,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM;YAAE,SAAS;QACpC,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1C,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IACvD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAA,UAAG,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,EAAE,GAAG,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,wCAAwC,CAAC,GAAG,CAAC,CAAC;QAC/E,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5C,IAAI,GAAG;QAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC;IAE1C,qDAAqD;IACrD,IAAI,OAAgB,CAAC;IACrB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrE,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC;IAClC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAA,UAAG,EAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,EAAE,GAAG,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,GAAG,CAAC,CAAC;QAC3E,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7D,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK;YACjB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC;YAChD,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,IAAA,UAAG,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,EAAE,GAAG,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,iDAAiD,CAAC,GAAG,CAAC,CAAC;YACxF,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7D,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IAEH,MAAM,OAAO,GAAgB,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChG,IAAI,OAAO;QAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;SAC5B,IAAI,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI;YACV,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC/D,CAAC,CAAC,EAAE,GAAI,OAAkB,EAAE,GAAG,IAAI,EAAE;gBACrC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;oBACxB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,OAAO,CAAC;IAClB,CAAC;SAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;IAC9D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,IAAc,EACd,IAAY,EACZ,KAAa,EACb,GAAmB;IAEnB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;;QAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/api/request.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,13 @@ import type { Http, HttpRequest } from './http';
6
6
  */
7
7
  export interface SendOptions {
8
8
  json: boolean;
9
+ /**
10
+ * With `--paginate`: one JSON object per line, written as each page arrives
11
+ * (FMU-D05). A 1,226-row walk merged into one array is held whole in memory
12
+ * and printed at the end; a line per row streams, and `jq -c`, `wc -l` and a
13
+ * `while read` loop all consume it without parsing a 10 MB document.
14
+ */
15
+ jsonl?: boolean;
9
16
  paginate?: boolean;
10
17
  maxPages?: number;
11
18
  columns?: string[];
@@ -21,7 +28,9 @@ export declare function sendAndPrint(http: Http, request: HttpRequest, opts: Sen
21
28
  * and pages with `?page=`, which is not a walk). Says so when the first
22
29
  * answer is not a list at all (`list: false`, and `first` is that answer).
23
30
  */
24
- export declare function walk(http: Http, request: HttpRequest, maxPages?: number): Promise<{
31
+ export declare function walk(http: Http, request: HttpRequest, maxPages?: number,
32
+ /** Each page's rows as they arrive (`--jsonl` streams them). */
33
+ onPage?: (rows: unknown[]) => void): Promise<{
25
34
  key: string;
26
35
  rows: unknown[];
27
36
  list: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/api/send.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAC;AAI9D;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,OAAO,GACV,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED;;;;;GAKG;AACH,wBAAsB,IAAI,CACxB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,QAAQ,SAAO,GACd,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAoB1E;AAED,wBAAgB,KAAK,CACnB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EAC3C,EAAE,EAAE,OAAO,GACV,IAAI,CAGN;AAQD,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAM5E"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/api/send.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAC;AAI9D;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,OAAO,GACV,OAAO,CAAC,OAAO,CAAC,CA6BlB;AAED;;;;;GAKG;AACH,wBAAsB,IAAI,CACxB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,QAAQ,SAAO;AACf,gEAAgE;AAChE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GACjC,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAsB1E;AAED,wBAAgB,KAAK,CACnB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EAC3C,EAAE,EAAE,OAAO,GACV,IAAI,CAGN;AAQD,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAM5E"}
package/dist/api/send.js CHANGED
@@ -16,7 +16,12 @@ async function sendAndPrint(http, request, opts, io) {
16
16
  }
17
17
  if (request.method !== 'GET')
18
18
  throw new request_1.UsageError('--paginate only applies to GET operations');
19
- const rows = await walk(http, request, opts.maxPages ?? 1000);
19
+ const rows = await walk(http, request, opts.maxPages ?? 1000, opts.jsonl ? (page) => page.forEach((r) => io.out(JSON.stringify(r))) : undefined);
20
+ if (opts.jsonl) {
21
+ if (!rows.list)
22
+ io.out(JSON.stringify(rows.first ?? null));
23
+ return rows.rows;
24
+ }
20
25
  if (!rows.list) {
21
26
  // Not a list: nothing to walk, so the one answer is the answer.
22
27
  print(rows.first, opts, io);
@@ -37,7 +42,9 @@ async function sendAndPrint(http, request, opts, io) {
37
42
  * and pages with `?page=`, which is not a walk). Says so when the first
38
43
  * answer is not a list at all (`list: false`, and `first` is that answer).
39
44
  */
40
- async function walk(http, request, maxPages = 1000) {
45
+ async function walk(http, request, maxPages = 1000,
46
+ /** Each page's rows as they arrive (`--jsonl` streams them). */
47
+ onPage) {
41
48
  const rows = [];
42
49
  let key = '';
43
50
  let cursor = request.query?.cursor;
@@ -53,7 +60,11 @@ async function walk(http, request, maxPages = 1000) {
53
60
  if (!found)
54
61
  return { key, rows, list: page > 0, first };
55
62
  key ||= found.key;
56
- rows.push(...found.rows);
63
+ // Streamed rows are not also held: the point of `--jsonl` is a walk of any size.
64
+ if (onPage)
65
+ onPage(found.rows);
66
+ else
67
+ rows.push(...found.rows);
57
68
  const info = (0, output_1.pageOf)(res.data);
58
69
  if (!info?.hasMore || !info.nextCursor || info.nextCursor === cursor)
59
70
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/api/send.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/api/send.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { OperationIndex } from './spec';
2
+ /**
3
+ * The slim operation index, cut from a full OpenAPI document — the same cut
4
+ * `scripts/slim-spec.mjs` makes at build time, here so `forumulate api list
5
+ * --refresh` can cut it from the LIVE spec (FMU-D13). `slim.test.ts` holds the
6
+ * two to the same output on the bundled spec, so they cannot drift.
7
+ *
8
+ * A full spec is untyped JSON walked by shape; one `any` alias says so once
9
+ * rather than a cast at every property.
10
+ */
11
+ type J = any;
12
+ export declare function slim(spec: J): OperationIndex;
13
+ export {};
14
+ //# sourceMappingURL=slim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slim.d.ts","sourceRoot":"","sources":["../../src/api/slim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;;;;;;GAQG;AAEH,KAAK,CAAC,GAAG,GAAG,CAAC;AAYb,wBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,cAAc,CA6H5C"}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.slim = slim;
4
+ const METHODS = ['get', 'post', 'put', 'patch', 'delete'];
5
+ /** First sentence, at most `max` characters: enough to say what a thing is. */
6
+ function brief(text, max = 140) {
7
+ if (!text)
8
+ return undefined;
9
+ const flat = String(text).replace(/\s+/g, ' ').trim();
10
+ const sentence = flat.match(/^.*?[.!?](?=\s|$)/)?.[0] ?? flat;
11
+ return sentence.length > max ? `${sentence.slice(0, max - 1)}…` : sentence;
12
+ }
13
+ function slim(spec) {
14
+ const schemas = {};
15
+ const refName = (ref) => ref.split('/').pop() ?? '';
16
+ /** A JSON Schema reduced to what a person filling in a body needs. */
17
+ function slimSchema(s, depth) {
18
+ if (!s || typeof s !== 'object')
19
+ return undefined;
20
+ if (s.$ref) {
21
+ const name = refName(s.$ref);
22
+ if (!(name in schemas)) {
23
+ schemas[name] = null; // reserve first: schemas can be recursive
24
+ schemas[name] = slimSchema(spec.components?.schemas?.[name], 0) ?? {};
25
+ }
26
+ return { $ref: name };
27
+ }
28
+ if (depth > 3)
29
+ return { t: s.type ?? 'any' };
30
+ const out = {};
31
+ const variants = s.anyOf ?? s.oneOf;
32
+ if (variants) {
33
+ const kept = variants.filter((v) => v.type !== 'null');
34
+ if (kept.length < variants.length)
35
+ out.n = 1; // nullable
36
+ if (kept.length === 1)
37
+ Object.assign(out, slimSchema(kept[0], depth));
38
+ else
39
+ out.any = kept.map((v) => slimSchema(v, depth + 1));
40
+ }
41
+ if (s.allOf)
42
+ out.all = s.allOf.map((v) => slimSchema(v, depth + 1));
43
+ if (s.type)
44
+ out.t = Array.isArray(s.type) ? s.type.filter((t) => t !== 'null').join('|') : s.type;
45
+ if (s.enum)
46
+ out.e = s.enum;
47
+ if (s.const !== undefined)
48
+ out.c = s.const;
49
+ const d = brief(s.description, 100);
50
+ if (d)
51
+ out.d = d;
52
+ if (s.properties) {
53
+ out.p = {};
54
+ for (const [k, v] of Object.entries(s.properties))
55
+ out.p[k] = slimSchema(v, depth + 1) ?? {};
56
+ }
57
+ if (s.required?.length)
58
+ out.r = s.required;
59
+ if (s.items)
60
+ out.i = slimSchema(s.items, depth + 1);
61
+ return out;
62
+ }
63
+ const ops = [];
64
+ for (const [path, item] of Object.entries(spec.paths)) {
65
+ for (const m of METHODS) {
66
+ const o = item[m];
67
+ if (!o)
68
+ continue;
69
+ const params = [];
70
+ let idempotent = false;
71
+ for (const raw of [...(item.parameters ?? []), ...(o.parameters ?? [])]) {
72
+ const p = raw.$ref ? spec.components.parameters[refName(raw.$ref)] : raw;
73
+ if (!p)
74
+ continue;
75
+ if (p.in === 'header' && p.name.toLowerCase() === 'forumulate-version')
76
+ continue;
77
+ if (p.in === 'header' && p.name.toLowerCase() === 'idempotency-key') {
78
+ idempotent = true;
79
+ continue;
80
+ }
81
+ const sch = p.schema ?? {};
82
+ const q = { n: p.name, in: p.in };
83
+ if (p.required)
84
+ q.r = 1;
85
+ const t = sch.type ?? (sch.anyOf ? 'string' : undefined);
86
+ if (t && t !== 'string')
87
+ q.t = t;
88
+ if (sch.enum)
89
+ q.e = sch.enum;
90
+ const d = brief(p.description, 100);
91
+ if (d)
92
+ q.d = d;
93
+ params.push(q);
94
+ }
95
+ const op = { id: o.operationId, m: m.toUpperCase(), p: path };
96
+ const summary = brief(o.summary ?? o.description, 120);
97
+ if (summary)
98
+ op.s = summary;
99
+ if (o.tags?.length)
100
+ op.t = o.tags;
101
+ if (params.length)
102
+ op.q = params;
103
+ if (idempotent)
104
+ op.ik = 1;
105
+ const content = o.requestBody?.content ?? {};
106
+ if (content['application/json']) {
107
+ op.b = slimSchema(content['application/json'].schema, 0) ?? {};
108
+ }
109
+ else if (content['multipart/form-data']) {
110
+ op.mp = 1;
111
+ op.b = slimSchema(content['multipart/form-data'].schema, 0) ?? {};
112
+ }
113
+ if (o.requestBody?.required)
114
+ op.br = 1;
115
+ if (o.deprecated)
116
+ op.dep = 1;
117
+ ops.push(op);
118
+ }
119
+ }
120
+ /*
121
+ * Content-addressed: the theme bodies alone repeat one 100 KB subtree across
122
+ * nine operations. A subtree that appears twice is stored once, under `~n`.
123
+ */
124
+ const seen = new Map();
125
+ /** Every child that is itself a schema node: the only places a `$ref` may stand. */
126
+ const children = (node) => [
127
+ ...(node.any ?? []),
128
+ ...(node.all ?? []),
129
+ ...Object.values(node.p ?? {}),
130
+ ...(node.i ? [node.i] : []),
131
+ ];
132
+ const count = (node) => {
133
+ if (!node || typeof node !== 'object' || node.$ref)
134
+ return;
135
+ const key = JSON.stringify(node);
136
+ if (key.length > 200)
137
+ seen.set(key, (seen.get(key) ?? 0) + 1);
138
+ children(node).forEach(count);
139
+ };
140
+ for (const op of ops)
141
+ count(op.b);
142
+ const shared = new Map();
143
+ const rebuild = (node) => {
144
+ const out = { ...node };
145
+ if (node.any)
146
+ out.any = node.any.map(intern);
147
+ if (node.all)
148
+ out.all = node.all.map(intern);
149
+ if (node.p)
150
+ out.p = Object.fromEntries(Object.entries(node.p).map(([k, v]) => [k, intern(v)]));
151
+ if (node.i)
152
+ out.i = intern(node.i);
153
+ return out;
154
+ };
155
+ const intern = (node) => {
156
+ if (!node || typeof node !== 'object' || node.$ref)
157
+ return node;
158
+ const key = JSON.stringify(node);
159
+ if ((seen.get(key) ?? 0) < 2)
160
+ return rebuild(node);
161
+ let name = shared.get(key);
162
+ if (!name) {
163
+ name = `~${shared.size}`;
164
+ shared.set(key, name);
165
+ schemas[name] = rebuild(node);
166
+ }
167
+ return { $ref: name };
168
+ };
169
+ for (const op of ops)
170
+ if (op.b)
171
+ op.b = rebuild(op.b);
172
+ return { info: { title: spec.info?.title, version: spec.info?.version }, ops, schemas };
173
+ }
174
+ //# sourceMappingURL=slim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slim.js","sourceRoot":"","sources":["../../src/api/slim.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type CommandDeps } from './commands/context';
2
+ /**
3
+ * `forumulate cache purge` — the cache, and only the cache (FMU-B04).
4
+ *
5
+ * "Purge" in this API meant three things: a page's permanent deletion, a
6
+ * space's permanent deletion, and a cache flush filed under Consent. The CLI
7
+ * now has one verb for the flush, calling the `Cache_*` operations; deleting
8
+ * for good is `spaces destroy` / `items destroy` and asks for the slug.
9
+ */
10
+ export declare const CACHE_HELP = "forumulate cache \u2014 drop cached copies of published pages\n\nUsage:\n forumulate cache purge --space <id|slug> [--page <id|slug>] [--org <id|slug>] [--json]\n forumulate cache purge --org <id|slug> --all-spaces [--json]\n\n Drops cached copies \u2014 our web tier and every CDN the org has configured\n (Cloudflare, Fastly, Bunny, KeyCDN, or a purge webhook) \u2014 and prints which\n addresses went and which CDN took them (`edge: none` when no CDN fronts them).\n NOTHING IS DELETED: content, drafts and history are untouched. To delete a\n trashed page or space for good, see `forumulate items destroy` /\n `forumulate spaces destroy`.\n\n --page one page (its slug and id addresses on every domain)\n --space the whole space: every page, locale variant and old address\n --all-spaces every space in the org (with --org)\n\nExamples:\n forumulate cache purge --space docs\n forumulate cache purge --space docs --page getting-started --json\n\nExit status:\n 0 ok 1 failed (verification mismatch, doctor FAIL)\n 2 usage 3 auth (no token, 401, token not allowed)\n 4 not found 5 conflict (409/412, edited in the studio since your last publish)\n 124 --wait timed out (the job keeps running; with --wait, a failed job is 1)";
11
+ export declare function runCache(argv: string[], deps: CommandDeps): Promise<number>;
12
+ //# sourceMappingURL=cache-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-command.d.ts","sourceRoot":"","sources":["../src/cache-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG5E;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,4wCAqBJ,CAAC;AAWpB,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CA2CjF"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CACHE_HELP = void 0;
4
+ exports.runCache = runCache;
5
+ const args_1 = require("./api/args");
6
+ const config_1 = require("./commands/config");
7
+ const context_1 = require("./commands/context");
8
+ const exit_codes_1 = require("./exit-codes");
9
+ /**
10
+ * `forumulate cache purge` — the cache, and only the cache (FMU-B04).
11
+ *
12
+ * "Purge" in this API meant three things: a page's permanent deletion, a
13
+ * space's permanent deletion, and a cache flush filed under Consent. The CLI
14
+ * now has one verb for the flush, calling the `Cache_*` operations; deleting
15
+ * for good is `spaces destroy` / `items destroy` and asks for the slug.
16
+ */
17
+ exports.CACHE_HELP = `forumulate cache — drop cached copies of published pages
18
+
19
+ Usage:
20
+ forumulate cache purge --space <id|slug> [--page <id|slug>] [--org <id|slug>] [--json]
21
+ forumulate cache purge --org <id|slug> --all-spaces [--json]
22
+
23
+ Drops cached copies — our web tier and every CDN the org has configured
24
+ (Cloudflare, Fastly, Bunny, KeyCDN, or a purge webhook) — and prints which
25
+ addresses went and which CDN took them (\`edge: none\` when no CDN fronts them).
26
+ NOTHING IS DELETED: content, drafts and history are untouched. To delete a
27
+ trashed page or space for good, see \`forumulate items destroy\` /
28
+ \`forumulate spaces destroy\`.
29
+
30
+ --page one page (its slug and id addresses on every domain)
31
+ --space the whole space: every page, locale variant and old address
32
+ --all-spaces every space in the org (with --org)
33
+
34
+ Examples:
35
+ forumulate cache purge --space docs
36
+ forumulate cache purge --space docs --page getting-started --json
37
+
38
+ ${exit_codes_1.EXIT_CODES_HELP}`;
39
+ async function runCache(argv, deps) {
40
+ const p = (0, args_1.parseArgs)(argv, new Set(['json', 'help', 'all-spaces']));
41
+ const [verb] = p.positionals;
42
+ if ((0, args_1.has)(p, 'help') || !verb) {
43
+ deps.out(exports.CACHE_HELP);
44
+ return verb || (0, args_1.has)(p, 'help') ? exit_codes_1.EXIT.OK : exit_codes_1.EXIT.USAGE;
45
+ }
46
+ if (verb !== 'purge') {
47
+ deps.err(`Unknown cache verb "${verb}". Usage: forumulate cache purge --space <id|slug> [--page …]`);
48
+ return exit_codes_1.EXIT.USAGE;
49
+ }
50
+ const org = (0, config_1.setting)('org', (0, args_1.flag)(p, 'org'), deps.env, deps.config);
51
+ if (!org) {
52
+ deps.err('Which organization? Pass --org, set FORUMULATE_ORG, or `forumulate config set org …`.');
53
+ return exit_codes_1.EXIT.USAGE;
54
+ }
55
+ const spaceRef = (0, config_1.setting)('space', (0, args_1.flag)(p, 'space'), deps.env, deps.config);
56
+ const pageRef = (0, args_1.flag)(p, 'page');
57
+ let path;
58
+ if ((0, args_1.has)(p, 'all-spaces') && !(0, args_1.flag)(p, 'space'))
59
+ path = `/orgs/${encodeURIComponent(org)}/cache/purge`;
60
+ else {
61
+ if (!spaceRef) {
62
+ deps.err('Which space? Pass --space <id|slug> (or --all-spaces for the whole org).');
63
+ return exit_codes_1.EXIT.USAGE;
64
+ }
65
+ const spaceId = await (0, context_1.resolveChild)(deps, 'space', org, spaceRef);
66
+ const base = `/orgs/${encodeURIComponent(org)}/spaces/${spaceId}`;
67
+ path = pageRef ? `${base}/pages/${await pageId(deps, base, pageRef)}/cache/purge` : `${base}/cache/purge`;
68
+ }
69
+ const res = await deps.http.send({ method: 'POST', path });
70
+ const answer = res.data;
71
+ if ((0, args_1.has)(p, 'json')) {
72
+ deps.out(JSON.stringify(answer, null, 2));
73
+ return exit_codes_1.EXIT.OK;
74
+ }
75
+ deps.out(`Purged ${answer.purged}: ${answer.urlCount ?? answer.urls?.length ?? 0} address(es), edge ${answer.edge ?? 'none'}${answer.webTier ? ', web tier refreshed' : ''}.`);
76
+ for (const e of answer.edges ?? [])
77
+ deps.out(` ${e.ok ? 'ok ' : 'FAILED'} ${e.name} (${e.account}) ${e.urls} url(s)${e.error ? ` — ${e.error}` : ''}`);
78
+ if ((answer.edge ?? 'none') === 'none')
79
+ deps.err('No CDN fronts these addresses (or none is configured): only our web tier was refreshed.');
80
+ return (answer.edges ?? []).some((e) => !e.ok) ? exit_codes_1.EXIT.FAILED : exit_codes_1.EXIT.OK;
81
+ }
82
+ /** A page id from an id or a slug, looked up in the space's page list. */
83
+ async function pageId(deps, base, ref) {
84
+ if ((0, context_1.isUuid)(ref))
85
+ return ref;
86
+ const res = await deps.http.send({ method: 'GET', path: `${base}/pages`, query: { limit: '1000' } });
87
+ const body = res.data;
88
+ const hit = (body.pages ?? body.data ?? []).find((r) => r.slug === ref);
89
+ if (!hit)
90
+ throw Object.assign(new Error(`No page "${ref}" in this space.`), { status: 404 });
91
+ return hit.id;
92
+ }
93
+ //# sourceMappingURL=cache-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-command.js","sourceRoot":"","sources":["../src/cache-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { type Fetcher } from './external';
2
+ /** One broken link, wherever it was found. */
3
+ export interface BrokenRow {
4
+ /** A file (folder mode) or a page slug (space mode). */
5
+ where: string;
6
+ line?: number;
7
+ url: string;
8
+ reason: string;
9
+ anchor?: string;
10
+ status?: number;
11
+ location?: string;
12
+ }
13
+ export interface CheckReport {
14
+ mode: 'folder' | 'space';
15
+ checked: {
16
+ pages: number;
17
+ links: number;
18
+ anchors: number;
19
+ external: number;
20
+ unchecked: number;
21
+ };
22
+ broken: BrokenRow[];
23
+ }
24
+ export interface CheckDeps {
25
+ out: (l: string) => void;
26
+ err: (l: string) => void;
27
+ env?: NodeJS.ProcessEnv;
28
+ /** The API, for `--space` (the SDK client's `request`). */
29
+ request?: <T>(method: string, path: string, opts?: {
30
+ query?: Record<string, string | number | boolean | undefined>;
31
+ }) => Promise<T>;
32
+ fetch?: Fetcher;
33
+ }
34
+ export declare const CHECK_VALUE_FLAGS: readonly ["--allow-redirect", "--ignore"];
35
+ export declare const CHECK_HELP = "forumulate check links [folder] [flags]\nforumulate check links --space <id|slug> [--org <id|slug>] [flags]\n\nFind broken links before readers do (FMU-F05).\n\nOn a folder (the default, \".\"): reads it the way `publish` does \u2014 forumulate.yaml\nand every space in it \u2014 and checks, without a token and without publishing:\n internal links ./other.md, ../guide/setup.md, /slug, ./slug \u2014 the page must exist\n anchors #section and page#section \u2014 the heading (or {#id}, or id=\"\u2026\") must exist,\n with the product's own anchor rule (duplicates get -2, -3)\n pictures a local image or file the page points at must be on disk\n external links with --external: a 2xx passes; a redirect passes only to a host\n --allow-redirect allows (default same-host); never followed\nOn a published space (--space): asks the API for the same report, which adds\nreference-page operation anchors (#operationId and #get-v1-x) and uploads.\n\nFlags:\n --external also check outside links (slow; paced per host; cached a day)\n --allow-redirect <list> hosts a redirect may land on: same-host, docs.x.com, *.x.com\n (space mode: the space/org key links.check_allowed_redirect_hosts)\n --ignore <pattern> skip links containing this text (repeatable)\n --no-cache ask every outside link again\n --json the report as JSON on stdout\n\nExit status: 0 nothing broken, 1 something broken, 2 usage, 3 auth, 4 not found.";
36
+ /** `forumulate check …` — only `links` today; the noun leaves room for the next check. */
37
+ export declare function runCheck(argv: string[], rest: string[], deps: CheckDeps): Promise<number>;
38
+ interface FolderReport extends CheckReport {
39
+ /** Outside URLs → where each was found, for the external pass. */
40
+ external: Map<string, {
41
+ where: string;
42
+ line: number;
43
+ }[]>;
44
+ }
45
+ /** The folder half: every space the manifest names, read as `publish` reads it. */
46
+ export declare function folderReport(root: string, _deps?: Pick<CheckDeps, 'env'>): FolderReport;
47
+ export {};
48
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/check/command.ts"],"names":[],"mappings":"AAOA,OAAO,EAAqC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAG7E,8CAA8C;AAC9C,MAAM,WAAW,SAAS;IACxB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAChG,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACpI,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,iBAAiB,2CAA4C,CAAC;AAE3E,eAAO,MAAM,UAAU,qhDAwB0D,CAAC;AAOlF,0FAA0F;AAC1F,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CA8C/F;AAkDD,UAAU,YAAa,SAAQ,WAAW;IACxC,kEAAkE;IAClE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CAC1D;AAmBD,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAM,GAAG,YAAY,CAiG3F"}