waterplane 0.1.22 → 0.1.25

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 (144) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/SECURITY.md +1 -1
  3. package/node_modules/@waterplane/shared/dist/healthindex/commits.d.ts +1 -1
  4. package/node_modules/@waterplane/shared/dist/healthindex/commits.js +2 -2
  5. package/node_modules/@waterplane/shared/dist/healthindex/commits.js.map +1 -1
  6. package/node_modules/@waterplane/shared/dist/healthindex/coverage.d.ts +128 -0
  7. package/node_modules/@waterplane/shared/dist/healthindex/coverage.js +343 -0
  8. package/node_modules/@waterplane/shared/dist/healthindex/coverage.js.map +1 -0
  9. package/node_modules/@waterplane/shared/dist/healthindex/readings.d.ts +9 -1
  10. package/node_modules/@waterplane/shared/dist/healthindex/readings.js +122 -4
  11. package/node_modules/@waterplane/shared/dist/healthindex/readings.js.map +1 -1
  12. package/node_modules/@waterplane/shared/dist/healthindex/repoindex.d.ts +5 -0
  13. package/node_modules/@waterplane/shared/dist/healthindex/repoindex.js +2 -0
  14. package/node_modules/@waterplane/shared/dist/healthindex/repoindex.js.map +1 -1
  15. package/node_modules/@waterplane/shared/dist/healthindex/score.d.ts +3 -0
  16. package/node_modules/@waterplane/shared/dist/healthindex/score.js +52 -16
  17. package/node_modules/@waterplane/shared/dist/healthindex/score.js.map +1 -1
  18. package/node_modules/@waterplane/shared/dist/healthindex/types.d.ts +82 -6
  19. package/node_modules/@waterplane/shared/dist/healthindex/types.js +35 -2
  20. package/node_modules/@waterplane/shared/dist/healthindex/types.js.map +1 -1
  21. package/node_modules/@waterplane/shared/dist/healthindex/words.js +65 -6
  22. package/node_modules/@waterplane/shared/dist/healthindex/words.js.map +1 -1
  23. package/node_modules/@waterplane/shared/dist/healthindex.d.ts +21 -7
  24. package/node_modules/@waterplane/shared/dist/healthindex.js +20 -7
  25. package/node_modules/@waterplane/shared/dist/healthindex.js.map +1 -1
  26. package/node_modules/@waterplane/shared/dist/healthindexresponse.js +3 -2
  27. package/node_modules/@waterplane/shared/dist/healthindexresponse.js.map +1 -1
  28. package/node_modules/@waterplane/shared/dist/healthspend.js +1 -1
  29. package/node_modules/@waterplane/shared/dist/hints.js +9 -0
  30. package/node_modules/@waterplane/shared/dist/hints.js.map +1 -1
  31. package/node_modules/@waterplane/shared/dist/index.d.ts +2 -0
  32. package/node_modules/@waterplane/shared/dist/index.js +2 -0
  33. package/node_modules/@waterplane/shared/dist/index.js.map +1 -1
  34. package/node_modules/@waterplane/shared/dist/intent/kind.d.ts +45 -1
  35. package/node_modules/@waterplane/shared/dist/intent/kind.js +60 -2
  36. package/node_modules/@waterplane/shared/dist/intent/kind.js.map +1 -1
  37. package/node_modules/@waterplane/shared/dist/intent.d.ts +1 -1
  38. package/node_modules/@waterplane/shared/dist/intent.js +1 -1
  39. package/node_modules/@waterplane/shared/dist/intent.js.map +1 -1
  40. package/node_modules/@waterplane/shared/dist/repohealth.d.ts +178 -0
  41. package/node_modules/@waterplane/shared/dist/repohealth.js.map +1 -1
  42. package/node_modules/@waterplane/shared/dist/repohealthhabits.d.ts +15 -0
  43. package/node_modules/@waterplane/shared/dist/repohealthhabits.js +117 -0
  44. package/node_modules/@waterplane/shared/dist/repohealthhabits.js.map +1 -0
  45. package/node_modules/@waterplane/shared/dist/repohealthnative.d.ts +10 -0
  46. package/node_modules/@waterplane/shared/dist/repohealthnative.js +94 -0
  47. package/node_modules/@waterplane/shared/dist/repohealthnative.js.map +1 -0
  48. package/node_modules/@waterplane/shared/dist/repohealthread.js +23 -1
  49. package/node_modules/@waterplane/shared/dist/repohealthread.js.map +1 -1
  50. package/node_modules/@waterplane/shared/dist/wire/agentreadings.d.ts +104 -0
  51. package/node_modules/@waterplane/shared/dist/wire/agentreadings.js +7 -0
  52. package/node_modules/@waterplane/shared/dist/wire/agentreadings.js.map +1 -0
  53. package/node_modules/@waterplane/shared/dist/wire/notify.d.ts +6 -1
  54. package/node_modules/@waterplane/shared/dist/wire/notify.js +6 -1
  55. package/node_modules/@waterplane/shared/dist/wire/notify.js.map +1 -1
  56. package/node_modules/@waterplane/shared/dist/wire/repo.d.ts +1 -1
  57. package/npm-shrinkwrap.json +2 -2
  58. package/package.json +1 -1
  59. package/packages/extensions/android-apps/waterplane-plugin.json +4 -1
  60. package/packages/extensions/copilot-usage/waterplane-plugin.json +7 -2
  61. package/packages/extensions/desktop/waterplane-plugin.json +5 -0
  62. package/packages/extensions/ocr/waterplane-plugin.json +5 -1
  63. package/packages/extensions/requirements/waterplane-plugin.json +3 -3
  64. package/packages/extensions/scorecard/waterplane-plugin.json +2 -1
  65. package/packages/extensions/token-stats/waterplane-plugin.json +4 -3
  66. package/packages/host/dist/agentclass.d.ts +105 -0
  67. package/packages/host/dist/agentclass.js +189 -0
  68. package/packages/host/dist/agentclass.js.map +1 -0
  69. package/packages/host/dist/agentintents.d.ts +18 -0
  70. package/packages/host/dist/agentintents.js +40 -7
  71. package/packages/host/dist/agentintents.js.map +1 -1
  72. package/packages/host/dist/agentreadings.d.ts +40 -0
  73. package/packages/host/dist/agentreadings.js +254 -0
  74. package/packages/host/dist/agentreadings.js.map +1 -0
  75. package/packages/host/dist/agentscan.d.ts +8 -0
  76. package/packages/host/dist/agentscan.js +329 -0
  77. package/packages/host/dist/agentscan.js.map +1 -0
  78. package/packages/host/dist/backends/index.js +12 -1
  79. package/packages/host/dist/backends/index.js.map +1 -1
  80. package/packages/host/dist/binguard.d.ts +13 -1
  81. package/packages/host/dist/binguard.js +28 -2
  82. package/packages/host/dist/binguard.js.map +1 -1
  83. package/packages/host/dist/exposure.d.ts +10 -0
  84. package/packages/host/dist/exposure.js +25 -0
  85. package/packages/host/dist/exposure.js.map +1 -1
  86. package/packages/host/dist/plugins/pluginassets.d.ts +17 -0
  87. package/packages/host/dist/plugins/pluginassets.js +27 -1
  88. package/packages/host/dist/plugins/pluginassets.js.map +1 -1
  89. package/packages/host/dist/plugins/pluginregistry.d.ts +3 -1
  90. package/packages/host/dist/plugins/pluginregistry.js +8 -1
  91. package/packages/host/dist/plugins/pluginregistry.js.map +1 -1
  92. package/packages/host/dist/reposkilltext.d.ts +2 -0
  93. package/packages/host/dist/reposkilltext.js +8 -2
  94. package/packages/host/dist/reposkilltext.js.map +1 -1
  95. package/packages/host/dist/routes/apirepowork.js +13 -0
  96. package/packages/host/dist/routes/apirepowork.js.map +1 -1
  97. package/packages/host/dist/routes/apisystem.js +17 -1
  98. package/packages/host/dist/routes/apisystem.js.map +1 -1
  99. package/packages/host/dist/routes/apitable.d.ts +4 -0
  100. package/packages/host/dist/routes/apitable.js.map +1 -1
  101. package/packages/host/dist/server/http.js +2 -1
  102. package/packages/host/dist/server/http.js.map +1 -1
  103. package/packages/host/dist/server/intentDeps.js +14 -1
  104. package/packages/host/dist/server/intentDeps.js.map +1 -1
  105. package/packages/host/dist/sessions/tmux.js +6 -1
  106. package/packages/host/dist/sessions/tmux.js.map +1 -1
  107. package/packages/host/dist/weekburn.js +7 -5
  108. package/packages/host/dist/weekburn.js.map +1 -1
  109. package/packages/web/dist/assets/demo-mKJo0QVO.js +26 -0
  110. package/packages/web/dist/assets/index-B6f7Lcp1.js +170 -0
  111. package/packages/web/dist/assets/index-DQIK94fc.css +1 -0
  112. package/packages/web/dist/assets/shared-Cd69oxHd.js +51 -0
  113. package/packages/web/dist/assets/sheets-BImsk1_Y.js +256 -0
  114. package/packages/web/dist/build-id.txt +1 -1
  115. package/packages/web/dist/buildstamp.json +1 -1
  116. package/packages/web/dist/index.html +5 -5
  117. package/packages/web/dist/sw.js +2 -2
  118. package/release.json +3 -3
  119. package/tools/repohealth/constants.mjs +34 -1
  120. package/tools/repohealth/fixture.json +5374 -38
  121. package/tools/repohealth/git.mjs +77 -0
  122. package/tools/repohealth/lang/dart-analyze.mjs +181 -0
  123. package/tools/repohealth/lang/dart-lex.mjs +494 -0
  124. package/tools/repohealth/lang/dart-resolve.mjs +95 -0
  125. package/tools/repohealth/lang/python-ast.mjs +602 -0
  126. package/tools/repohealth/lang/python-resolve.mjs +228 -0
  127. package/tools/repohealth/metrics/habits.mjs +286 -0
  128. package/tools/repohealth/metrics/native.mjs +542 -0
  129. package/tools/repohealth/metrics/untested.mjs +20 -8
  130. package/tools/repohealth/metrics/workspace.mjs +256 -0
  131. package/tools/repohealth/own.mjs +67 -5
  132. package/tools/repohealth/packs/dart.mjs +153 -85
  133. package/tools/repohealth/packs/python.mjs +51 -14
  134. package/tools/repohealth/plot.mjs +143 -1
  135. package/tools/repohealth/reach.mjs +98 -0
  136. package/tools/repohealth/scope.mjs +14 -1
  137. package/tools/repohealth/series.mjs +5 -0
  138. package/tools/repohealth/types.mjs +4 -0
  139. package/tools/repohealth.mjs +39 -5
  140. package/packages/web/dist/assets/demo-ad3g3HDa.js +0 -26
  141. package/packages/web/dist/assets/index-BllRvpkw.js +0 -170
  142. package/packages/web/dist/assets/index-DUiYLEts.css +0 -1
  143. package/packages/web/dist/assets/shared-DBaaGttP.js +0 -51
  144. package/packages/web/dist/assets/sheets-CrfRr6Um.js +0 -256
@@ -4,6 +4,11 @@ import { claudeEndpointBackend } from "./claude-endpoint.js";
4
4
  import { shellBackend } from "./shell.js";
5
5
  import { BACKENDS, liveIds, registerCore } from "./registry.js";
6
6
  import { derive } from "./derive.js";
7
+ import { homedir } from "node:os";
8
+ import { backendBinUnavailable } from "../binguard.js";
9
+ import { claudeBinResolution } from "../claudebin.js";
10
+ import { claudeMissingRefusal } from "../doctorclaude.js";
11
+ import { env } from "../env.js";
7
12
  export * from "./types.js";
8
13
  export * from "./registry.js";
9
14
  export { PROMPT_READERS, TRANSCRIPT_READERS, contributedReaders, registerScreenReader, registerStoreReader, screenReaderFor, storeReaderFor, namesStoreReader } from "./readers.js";
@@ -301,9 +306,11 @@ export function backendAutoAcceptsTrust(id) {
301
306
  const b = id ? BACKENDS.find((x) => x.id === id) : DEFAULT_BACKEND;
302
307
  return b?.delivery?.autoAcceptsTrust === true;
303
308
  }
309
+ const binWhy = (b) => backendBinUnavailable(b, () => claudeMissingRefusal(env("CLAUDE_BIN"), claudeBinResolution(), homedir()));
304
310
  export function backendInfos() {
305
311
  return BACKENDS.map((b) => {
306
312
  const m = MODEL_CACHE.get(b.id) ?? { aliases: [], ids: [] };
313
+ const why = m.unavailable ?? binWhy(b);
307
314
  return {
308
315
  id: b.id,
309
316
  label: b.label,
@@ -325,7 +332,11 @@ export function backendInfos() {
325
332
  ...(m.contextWindow && Object.keys(m.contextWindow).length ? { contextWindow: { ...m.contextWindow } } : {}),
326
333
  ...(m.overheadTok && Object.keys(m.overheadTok).length ? { overheadTok: { ...m.overheadTok } } : {}),
327
334
  ...(m.note ? { note: m.note } : {}) },
328
- ...(m.unavailable ? { unavailable: m.unavailable } : {}),
335
+ // A catalogue's own reason first; else a binary that is not there (copilot never installed,
336
+ // claude mid-upgrade) — so the phone offers the backends that CAN start instead of queuing
337
+ // a create the host will refuse. Computed per list, never cached: a hello or "Check again"
338
+ // sees an install that finished a minute ago.
339
+ ...(why ? { unavailable: why } : {}),
329
340
  ...(b.experimental ? { experimental: true } : {}),
330
341
  // The versions a plugin was measured on, the running one, and the drift sentence (R6).
331
342
  // Absent for a backend that declares no `measured` — every core backend (the pin holds).
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backends/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backends/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type BackendDescriptor } from "./backends/index.js";
1
+ import type { BackendDescriptor } from "./backends/types.js";
2
2
  export interface InstallerProc {
3
3
  pid: number;
4
4
  cmd: string;
@@ -24,5 +24,17 @@ export declare function binMissingRefusal(label: string, bin: string, facts?: {
24
24
  resolves: (b: string) => boolean;
25
25
  installer: (b: string) => InstallerProc | null;
26
26
  }, ownWords?: boolean): string | null;
27
+ /**
28
+ * The program a backend runs, named as a CLI: "GitHub Copilot" alone reads as the editor
29
+ * extension a person may well have, which is not what is missing. A label that already says
30
+ * CLI ("Gemini CLI") is kept as it is.
31
+ */
32
+ export declare function cliName(label: string): string;
33
+ /**
34
+ * Why `backend` cannot start on this desktop because of its binary — the same sentence a
35
+ * session start would be refused with — or null when it is there. For the backend list, so
36
+ * the phone says it before a launch instead of after one. Never throws (a plugin's `bin()` may).
37
+ */
38
+ export declare function backendBinUnavailable(backend: Pick<BackendDescriptor, "label" | "bin">, claudeMissing: () => string | null): string | null;
27
39
  /** `binMissingRefusal` for a backend about to be launched; claude speaks its own "not installed" in `prepare`. */
28
40
  export declare function backendBinRefusal(backend: Pick<BackendDescriptor, "label" | "bin">): string | null;
@@ -14,7 +14,7 @@ import { execFileSync } from "node:child_process";
14
14
  import { existsSync } from "node:fs";
15
15
  import path from "node:path";
16
16
  import { pathHas } from "./claudebin.js";
17
- import { claudeBin } from "./backends/index.js";
17
+ import { claudeBin } from "./backends/claude.js";
18
18
  /** Package-manager verbs that replace an installed command. */
19
19
  const PM_RE = /(?:^|[\s/])(?:npm|pnpm|yarn|bun|brew|volta)(?:\.\w+)?\s+(?:-g\s+)?(?:install|i|add|update|upgrade|up|reinstall|global\s+add)\b/;
20
20
  /**
@@ -78,7 +78,33 @@ export function binMissingRefusal(label, bin, facts = { resolves: binResolves, i
78
78
  return `${installingWords(label, inst)}. Start the session again once it is done.`;
79
79
  if (ownWords)
80
80
  return null;
81
- return `${label} is not installed on this desktop — \`${bin}\` is not on the PATH the host runs with. Install it (or fix that PATH), then start the session again.`;
81
+ const cli = cliName(label);
82
+ return `The ${cli} is not installed on this desktop — its \`${bin}\` command is not on the PATH the host runs with. Install the ${cli} (or fix that PATH), then start the session again.`;
83
+ }
84
+ /**
85
+ * The program a backend runs, named as a CLI: "GitHub Copilot" alone reads as the editor
86
+ * extension a person may well have, which is not what is missing. A label that already says
87
+ * CLI ("Gemini CLI") is kept as it is.
88
+ */
89
+ export function cliName(label) {
90
+ const l = label.trim();
91
+ return /\bCLI$/i.test(l) ? l : `${l} CLI`;
92
+ }
93
+ /**
94
+ * Why `backend` cannot start on this desktop because of its binary — the same sentence a
95
+ * session start would be refused with — or null when it is there. For the backend list, so
96
+ * the phone says it before a launch instead of after one. Never throws (a plugin's `bin()` may).
97
+ */
98
+ export function backendBinUnavailable(backend, claudeMissing) {
99
+ try {
100
+ const bin = backend.bin();
101
+ if (bin === claudeBin())
102
+ return binMissingRefusal(backend.label, bin, undefined, true) ?? claudeMissing();
103
+ return binMissingRefusal(backend.label, bin);
104
+ }
105
+ catch {
106
+ return null;
107
+ }
82
108
  }
83
109
  /** `binMissingRefusal` for a backend about to be launched; claude speaks its own "not installed" in `prepare`. */
84
110
  export function backendBinRefusal(backend) {
@@ -1 +1 @@
1
- {"version":3,"file":"binguard.js","sourceRoot":"","sources":["../src/binguard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binguard.js","sourceRoot":"","sources":["../src/binguard.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,16 @@ export declare function exposureSeriesAll(): Array<{
11
11
  triage: ExposureTriageFile | null;
12
12
  unreadable?: boolean;
13
13
  }>;
14
+ /**
15
+ * The crash-group marks for this worktree (`agentreadings.ts`'s escaped-defect count): the instant
16
+ * of each mark on a crash group — a finding with an app version, or a mark that recorded one.
17
+ * A sentence instead when there is no series or the triage file cannot be read. Never throws.
18
+ */
19
+ export declare function exposureCrashMarks(worktree: string): {
20
+ at: number[];
21
+ } | {
22
+ why: string;
23
+ };
14
24
  /** The exposure rows for this worktree: none when no series names it. Never throws. */
15
25
  export declare function exposureChecksFor(worktree: string): ComplianceCheck[];
16
26
  export type ExposureAcceptOutcome = {
@@ -186,6 +186,31 @@ function readTriage(file) {
186
186
  return { ok: false, why: e instanceof Error ? e.message : String(e) };
187
187
  }
188
188
  }
189
+ /**
190
+ * The crash-group marks for this worktree (`agentreadings.ts`'s escaped-defect count): the instant
191
+ * of each mark on a crash group — a finding with an app version, or a mark that recorded one.
192
+ * A sentence instead when there is no series or the triage file cannot be read. Never throws.
193
+ */
194
+ export function exposureCrashMarks(worktree) {
195
+ try {
196
+ const s = seriesFor(worktree);
197
+ if (!s)
198
+ return { why: "No exposure watch reading is stored for this repo, so there are no crash marks to count." };
199
+ const tri = readTriage(s.triageFile);
200
+ if (!tri.ok)
201
+ return { why: `${s.triageFile} is unreadable (${tri.why}).` };
202
+ const crashIds = new Set((s.row.findings ?? []).filter((f) => f.group || f.appVersion).map(exposureTriageId));
203
+ const at = [];
204
+ for (const [id, m] of Object.entries(tri.data ?? {})) {
205
+ if (crashIds.has(id) || m.markedVersion)
206
+ at.push(Date.parse(m.at));
207
+ }
208
+ return { at };
209
+ }
210
+ catch (e) {
211
+ return { why: `The exposure watch could not be read: ${e instanceof Error ? e.message : String(e)}` };
212
+ }
213
+ }
189
214
  /** The exposure rows for this worktree: none when no series names it. Never throws. */
190
215
  export function exposureChecksFor(worktree) {
191
216
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"exposure.js","sourceRoot":"","sources":["../src/exposure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exposure.js","sourceRoot":"","sources":["../src/exposure.ts"],"names":[],"mappings":"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"}
@@ -14,3 +14,20 @@ export type AssetResult = {
14
14
  };
15
15
  /** `pluginDir` = the extension folder; `assets` = the manifest value; `name` = the URL's file segment. */
16
16
  export declare function resolveAsset(pluginName: string, pluginDir: string, assets: string | undefined, name: string): AssetResult;
17
+ /** A README is text for a phone screen; past this it is not a README a person reads there. */
18
+ export declare const README_MAX: number;
19
+ export type ReadmeResult = {
20
+ ok: true;
21
+ text: string;
22
+ } | {
23
+ ok: false;
24
+ status: 404 | 413;
25
+ error: string;
26
+ };
27
+ /**
28
+ * The extension's own `README.md`, for the Plugins screen's "Read more". Same containment as an
29
+ * asset: the file is realpath-resolved and must sit directly in the (realpath) plugin folder, so a
30
+ * symlink out is a 404, never a read. Served whether or not the plugin is running — reading about a
31
+ * plugin that is off is how a person decides to turn it on.
32
+ */
33
+ export declare function readReadme(pluginName: string, pluginDir: string): ReadmeResult;
@@ -6,7 +6,7 @@
6
6
  * in words. The name is flat (`ASSET_NAME`); the assets dir and the file are both realpath-resolved
7
7
  * and the file must stay under the dir, so a symlink out is a 404, never a read.
8
8
  */
9
- import { realpathSync, statSync } from "node:fs";
9
+ import { readFileSync, realpathSync, statSync } from "node:fs";
10
10
  import { extname, isAbsolute, join, sep } from "node:path";
11
11
  /** A flat file name: no slash, no leading dot, no `..` run can matter without a separator. */
12
12
  export const ASSET_NAME = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
@@ -41,4 +41,30 @@ export function resolveAsset(pluginName, pluginDir, assets, name) {
41
41
  return missing(`${pluginName} has no file by that name`);
42
42
  }
43
43
  }
44
+ /** A README is text for a phone screen; past this it is not a README a person reads there. */
45
+ export const README_MAX = 256 * 1024;
46
+ /**
47
+ * The extension's own `README.md`, for the Plugins screen's "Read more". Same containment as an
48
+ * asset: the file is realpath-resolved and must sit directly in the (realpath) plugin folder, so a
49
+ * symlink out is a 404, never a read. Served whether or not the plugin is running — reading about a
50
+ * plugin that is off is how a person decides to turn it on.
51
+ */
52
+ export function readReadme(pluginName, pluginDir) {
53
+ const missing = { ok: false, status: 404, error: `${pluginName} has no README` };
54
+ try {
55
+ const dir = realpathSync(pluginDir);
56
+ const file = realpathSync(join(dir, "README.md"));
57
+ if (!file.startsWith(dir + sep))
58
+ return missing;
59
+ const st = statSync(file);
60
+ if (!st.isFile())
61
+ return missing;
62
+ if (st.size > README_MAX)
63
+ return { ok: false, status: 413, error: `${pluginName}'s README is too long to show here` };
64
+ return { ok: true, text: readFileSync(file, "utf8") };
65
+ }
66
+ catch {
67
+ return missing;
68
+ }
69
+ }
44
70
  //# sourceMappingURL=pluginassets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pluginassets.js","sourceRoot":"","sources":["../../src/plugins/pluginassets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAE3D,8FAA8F;AAC9F,MAAM,CAAC,MAAM,UAAU,GAAG,8BAA8B,CAAC;AAEzD,MAAM,UAAU,GAA2B;IACzC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;CAC9G,CAAC;AACF,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,0BAA0B,CAAC;AAC/E,CAAC;AAMD,0GAA0G;AAC1G,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,SAAiB,EAAE,MAA0B,EAAE,IAAY;IAC1G,MAAM,OAAO,GAAG,CAAC,KAAa,EAAe,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,GAAG,UAAU,kBAAkB,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,GAAG,UAAU,2BAA2B,CAAC,CAAC;IACrF,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,GAAG,UAAU,kBAAkB,CAAC,CAAC;IAChH,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,UAAU,kBAAkB,CAAC,CAAC;QACzI,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,UAAU,2BAA2B,CAAC,CAAC;QAC1F,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;YAAE,OAAO,OAAO,CAAC,GAAG,UAAU,2BAA2B,CAAC,CAAC;QAC3E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,GAAG,UAAU,2BAA2B,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"pluginassets.js","sourceRoot":"","sources":["../../src/plugins/pluginassets.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { type PluginRoute } from "./pluginroutes.js";
6
6
  import { type ReleaseBuiltins } from "./builtin.js";
7
7
  import { PluginStreams, type StreamSink } from "./pluginstreams.js";
8
8
  import { PluginFiles, type ServedFile } from "./pluginfiles.js";
9
- import { type AssetResult } from "./pluginassets.js";
9
+ import { type AssetResult, type ReadmeResult } from "./pluginassets.js";
10
10
  import { type AutoProbes } from "./pluginauto.js";
11
11
  import type { Notify } from "../notifytypes.js";
12
12
  type Handler = (e: any) => unknown;
@@ -234,6 +234,8 @@ export declare class PluginRegistry {
234
234
  offeredFile(pluginId: string, token: string): ServedFile | null;
235
235
  /** `GET|HEAD /api/plugin/<id>/asset/<file>`: unknown plugin / no `assets` / no file ⇒ 404 in words; switched off or not running ⇒ 403. */
236
236
  assetFile(pluginId: string, file: string): AssetResult;
237
+ /** Its README.md, running or not (`readReadme`). */
238
+ readme(pluginId: string): ReadmeResult;
237
239
  route(pluginId: string, method: string, parts: readonly string[]): ((req: {
238
240
  query: Record<string, string>;
239
241
  body: unknown;
@@ -46,7 +46,7 @@ import { makeApi } from "./pluginapi.js";
46
46
  import { PluginStreams } from "./pluginstreams.js";
47
47
  import { setSetupSource } from "./setupcontrib.js";
48
48
  import { PluginFiles } from "./pluginfiles.js";
49
- import { resolveAsset } from "./pluginassets.js";
49
+ import { readReadme, resolveAsset } from "./pluginassets.js";
50
50
  import { hostStateDir } from "../branddirs.js";
51
51
  import { AUTO_PROBE_EVERY_MS, autoWhy, cachedProbe, writeProbeCache } from "./pluginauto.js";
52
52
  import { readJsonGuarded, writeJsonAtomic } from "../jsonstore.js";
@@ -533,6 +533,13 @@ export class PluginRegistry {
533
533
  return { ok: false, status: 403, error: `${e.manifest.name} is ${e.state === "off" ? "turned off" : "not running"}` };
534
534
  return resolveAsset(e.manifest.name, e.dir, e.manifest.assets, file);
535
535
  }
536
+ /** Its README.md, running or not (`readReadme`). */
537
+ readme(pluginId) {
538
+ const e = this.byId(pluginId);
539
+ if (!e)
540
+ return { ok: false, status: 404, error: "no such plugin" };
541
+ return readReadme(e.manifest.name, e.dir);
542
+ }
536
543
  route(pluginId, method, parts) {
537
544
  const e = this.byId(pluginId);
538
545
  if (!e || e.state !== "active")