@monoes/monomindcli 2.13.0 → 2.14.1

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 (251) hide show
  1. package/.claude/skills/monodesign/scripts/context.mjs +1 -1
  2. package/.claude/skills/monodesign/scripts/detector/detect-antipatterns-browser.js +2 -2
  3. package/.claude/skills/monodesign/scripts/detector/rules/checks.mjs +2 -2
  4. package/.claude/skills/monodesign/scripts/live-browser.js +1 -1
  5. package/bin/cli.js +21 -1
  6. package/bin/mcp-server.js +21 -1
  7. package/dist/src/capabilities/cap-documents.d.ts.map +1 -1
  8. package/dist/src/capabilities/cap-documents.js +23 -0
  9. package/dist/src/capabilities/cap-documents.js.map +1 -1
  10. package/dist/src/commands/doc-filters.d.ts +19 -0
  11. package/dist/src/commands/doc-filters.d.ts.map +1 -0
  12. package/dist/src/commands/doc-filters.js +58 -0
  13. package/dist/src/commands/doc-filters.js.map +1 -0
  14. package/dist/src/commands/doc-library.d.ts +21 -0
  15. package/dist/src/commands/doc-library.d.ts.map +1 -0
  16. package/dist/src/commands/doc-library.js +390 -0
  17. package/dist/src/commands/doc-library.js.map +1 -0
  18. package/dist/src/commands/doc-list.d.ts +9 -0
  19. package/dist/src/commands/doc-list.d.ts.map +1 -0
  20. package/dist/src/commands/doc-list.js +99 -0
  21. package/dist/src/commands/doc-list.js.map +1 -0
  22. package/dist/src/commands/doc.d.ts.map +1 -1
  23. package/dist/src/commands/doc.js +49 -37
  24. package/dist/src/commands/doc.js.map +1 -1
  25. package/dist/src/commands/doctor-mcp-probe.d.ts +48 -0
  26. package/dist/src/commands/doctor-mcp-probe.d.ts.map +1 -0
  27. package/dist/src/commands/doctor-mcp-probe.js +205 -0
  28. package/dist/src/commands/doctor-mcp-probe.js.map +1 -0
  29. package/dist/src/commands/doctor-project-checks.d.ts +12 -1
  30. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  31. package/dist/src/commands/doctor-project-checks.js +55 -4
  32. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  33. package/dist/src/commands/doctor.d.ts.map +1 -1
  34. package/dist/src/commands/doctor.js +10 -1
  35. package/dist/src/commands/doctor.js.map +1 -1
  36. package/dist/src/commands/init.d.ts.map +1 -1
  37. package/dist/src/commands/init.js +17 -0
  38. package/dist/src/commands/init.js.map +1 -1
  39. package/dist/src/commands/mcp.d.ts.map +1 -1
  40. package/dist/src/commands/mcp.js +4 -3
  41. package/dist/src/commands/mcp.js.map +1 -1
  42. package/dist/src/commands/org-observe.d.ts.map +1 -1
  43. package/dist/src/commands/org-observe.js +14 -0
  44. package/dist/src/commands/org-observe.js.map +1 -1
  45. package/dist/src/commands/org.d.ts.map +1 -1
  46. package/dist/src/commands/org.js +12 -2
  47. package/dist/src/commands/org.js.map +1 -1
  48. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  49. package/dist/src/init/claudemd-generator.js +2 -1
  50. package/dist/src/init/claudemd-generator.js.map +1 -1
  51. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  52. package/dist/src/init/mcp-generator.js +3 -3
  53. package/dist/src/init/mcp-generator.js.map +1 -1
  54. package/dist/src/init/types.d.ts +6 -0
  55. package/dist/src/init/types.d.ts.map +1 -1
  56. package/dist/src/init/types.js.map +1 -1
  57. package/dist/src/init/write-runtime-config.d.ts.map +1 -1
  58. package/dist/src/init/write-runtime-config.js +12 -2
  59. package/dist/src/init/write-runtime-config.js.map +1 -1
  60. package/dist/src/knowledge/capture-envelope.d.ts +80 -0
  61. package/dist/src/knowledge/capture-envelope.d.ts.map +1 -0
  62. package/dist/src/knowledge/capture-envelope.js +165 -0
  63. package/dist/src/knowledge/capture-envelope.js.map +1 -0
  64. package/dist/src/knowledge/capture-text.d.ts +23 -0
  65. package/dist/src/knowledge/capture-text.d.ts.map +1 -0
  66. package/dist/src/knowledge/capture-text.js +49 -0
  67. package/dist/src/knowledge/capture-text.js.map +1 -0
  68. package/dist/src/knowledge/citation.d.ts +121 -0
  69. package/dist/src/knowledge/citation.d.ts.map +1 -0
  70. package/dist/src/knowledge/citation.js +252 -0
  71. package/dist/src/knowledge/citation.js.map +1 -0
  72. package/dist/src/knowledge/document-pipeline.d.ts +60 -0
  73. package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
  74. package/dist/src/knowledge/document-pipeline.js +188 -4
  75. package/dist/src/knowledge/document-pipeline.js.map +1 -1
  76. package/dist/src/knowledge/html-extract.d.ts +43 -0
  77. package/dist/src/knowledge/html-extract.d.ts.map +1 -0
  78. package/dist/src/knowledge/html-extract.js +286 -0
  79. package/dist/src/knowledge/html-extract.js.map +1 -0
  80. package/dist/src/knowledge/html-tags.d.ts +30 -0
  81. package/dist/src/knowledge/html-tags.d.ts.map +1 -0
  82. package/dist/src/knowledge/html-tags.js +229 -0
  83. package/dist/src/knowledge/html-tags.js.map +1 -0
  84. package/dist/src/knowledge/library.d.ts +106 -0
  85. package/dist/src/knowledge/library.d.ts.map +1 -0
  86. package/dist/src/knowledge/library.js +195 -0
  87. package/dist/src/knowledge/library.js.map +1 -0
  88. package/dist/src/knowledge/mhtml.d.ts +60 -0
  89. package/dist/src/knowledge/mhtml.d.ts.map +1 -0
  90. package/dist/src/knowledge/mhtml.js +154 -0
  91. package/dist/src/knowledge/mhtml.js.map +1 -0
  92. package/dist/src/knowledge/related.d.ts +58 -0
  93. package/dist/src/knowledge/related.d.ts.map +1 -0
  94. package/dist/src/knowledge/related.js +222 -0
  95. package/dist/src/knowledge/related.js.map +1 -0
  96. package/dist/src/knowledge/section-diff.d.ts +48 -0
  97. package/dist/src/knowledge/section-diff.d.ts.map +1 -0
  98. package/dist/src/knowledge/section-diff.js +151 -0
  99. package/dist/src/knowledge/section-diff.js.map +1 -0
  100. package/dist/src/knowledge/watch.d.ts +92 -0
  101. package/dist/src/knowledge/watch.d.ts.map +1 -0
  102. package/dist/src/knowledge/watch.js +221 -0
  103. package/dist/src/knowledge/watch.js.map +1 -0
  104. package/dist/src/mcp-server.d.ts.map +1 -1
  105. package/dist/src/mcp-server.js +44 -87
  106. package/dist/src/mcp-server.js.map +1 -1
  107. package/dist/src/mcp-tools/browser-instrument-tools.d.ts +35 -0
  108. package/dist/src/mcp-tools/browser-instrument-tools.d.ts.map +1 -0
  109. package/dist/src/mcp-tools/browser-instrument-tools.js +359 -0
  110. package/dist/src/mcp-tools/browser-instrument-tools.js.map +1 -0
  111. package/dist/src/mcp-tools/browser-metrics.d.ts +42 -0
  112. package/dist/src/mcp-tools/browser-metrics.d.ts.map +1 -0
  113. package/dist/src/mcp-tools/browser-metrics.js +91 -0
  114. package/dist/src/mcp-tools/browser-metrics.js.map +1 -0
  115. package/dist/src/mcp-tools/browser-profile-tools.d.ts +16 -0
  116. package/dist/src/mcp-tools/browser-profile-tools.d.ts.map +1 -0
  117. package/dist/src/mcp-tools/browser-profile-tools.js +324 -0
  118. package/dist/src/mcp-tools/browser-profile-tools.js.map +1 -0
  119. package/dist/src/mcp-tools/browser-session.d.ts +68 -0
  120. package/dist/src/mcp-tools/browser-session.d.ts.map +1 -0
  121. package/dist/src/mcp-tools/browser-session.js +224 -0
  122. package/dist/src/mcp-tools/browser-session.js.map +1 -0
  123. package/dist/src/mcp-tools/browser-tools.d.ts.map +1 -1
  124. package/dist/src/mcp-tools/browser-tools.js +10 -176
  125. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  126. package/dist/src/mcp-tools/capture-resource-read.d.ts +115 -0
  127. package/dist/src/mcp-tools/capture-resource-read.d.ts.map +1 -0
  128. package/dist/src/mcp-tools/capture-resource-read.js +296 -0
  129. package/dist/src/mcp-tools/capture-resource-read.js.map +1 -0
  130. package/dist/src/mcp-tools/capture-resource-tools.d.ts +22 -0
  131. package/dist/src/mcp-tools/capture-resource-tools.d.ts.map +1 -0
  132. package/dist/src/mcp-tools/capture-resource-tools.js +182 -0
  133. package/dist/src/mcp-tools/capture-resource-tools.js.map +1 -0
  134. package/dist/src/mcp-tools/capture-resources.d.ts +142 -0
  135. package/dist/src/mcp-tools/capture-resources.d.ts.map +1 -0
  136. package/dist/src/mcp-tools/capture-resources.js +289 -0
  137. package/dist/src/mcp-tools/capture-resources.js.map +1 -0
  138. package/dist/src/mcp-tools/index.d.ts +3 -0
  139. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  140. package/dist/src/mcp-tools/index.js +6 -0
  141. package/dist/src/mcp-tools/index.js.map +1 -1
  142. package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
  143. package/dist/src/mcp-tools/knowledge-tools.js +9 -1
  144. package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
  145. package/dist/src/mcp-tools/resource-router.d.ts +86 -0
  146. package/dist/src/mcp-tools/resource-router.d.ts.map +1 -0
  147. package/dist/src/mcp-tools/resource-router.js +181 -0
  148. package/dist/src/mcp-tools/resource-router.js.map +1 -0
  149. package/dist/src/memory/memory-bridge.js +1 -1
  150. package/dist/src/memory/memory-bridge.js.map +1 -1
  151. package/dist/src/orgrt/agent-runner.d.ts +38 -0
  152. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  153. package/dist/src/orgrt/agent-runner.js +47 -0
  154. package/dist/src/orgrt/agent-runner.js.map +1 -1
  155. package/dist/src/orgrt/checkpoint.d.ts +12 -1
  156. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  157. package/dist/src/orgrt/checkpoint.js +15 -6
  158. package/dist/src/orgrt/checkpoint.js.map +1 -1
  159. package/dist/src/orgrt/completion-gate.d.ts +74 -0
  160. package/dist/src/orgrt/completion-gate.d.ts.map +1 -1
  161. package/dist/src/orgrt/completion-gate.js +45 -0
  162. package/dist/src/orgrt/completion-gate.js.map +1 -1
  163. package/dist/src/orgrt/cost-tier.d.ts +144 -0
  164. package/dist/src/orgrt/cost-tier.d.ts.map +1 -0
  165. package/dist/src/orgrt/cost-tier.js +183 -0
  166. package/dist/src/orgrt/cost-tier.js.map +1 -0
  167. package/dist/src/orgrt/cross-org.d.ts.map +1 -1
  168. package/dist/src/orgrt/cross-org.js +14 -0
  169. package/dist/src/orgrt/cross-org.js.map +1 -1
  170. package/dist/src/orgrt/daemon.d.ts +12 -1
  171. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  172. package/dist/src/orgrt/daemon.js +216 -49
  173. package/dist/src/orgrt/daemon.js.map +1 -1
  174. package/dist/src/orgrt/decisions.d.ts +14 -2
  175. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  176. package/dist/src/orgrt/decisions.js +216 -10
  177. package/dist/src/orgrt/decisions.js.map +1 -1
  178. package/dist/src/orgrt/file-roots.d.ts +7 -0
  179. package/dist/src/orgrt/file-roots.d.ts.map +1 -1
  180. package/dist/src/orgrt/file-roots.js +38 -1
  181. package/dist/src/orgrt/file-roots.js.map +1 -1
  182. package/dist/src/orgrt/forwarder.d.ts.map +1 -1
  183. package/dist/src/orgrt/forwarder.js +16 -2
  184. package/dist/src/orgrt/forwarder.js.map +1 -1
  185. package/dist/src/orgrt/idle-deadline.d.ts +74 -1
  186. package/dist/src/orgrt/idle-deadline.d.ts.map +1 -1
  187. package/dist/src/orgrt/idle-deadline.js +52 -2
  188. package/dist/src/orgrt/idle-deadline.js.map +1 -1
  189. package/dist/src/orgrt/loadouts.d.ts +38 -0
  190. package/dist/src/orgrt/loadouts.d.ts.map +1 -0
  191. package/dist/src/orgrt/loadouts.js +129 -0
  192. package/dist/src/orgrt/loadouts.js.map +1 -0
  193. package/dist/src/orgrt/mailbox.d.ts +17 -1
  194. package/dist/src/orgrt/mailbox.d.ts.map +1 -1
  195. package/dist/src/orgrt/mailbox.js +50 -3
  196. package/dist/src/orgrt/mailbox.js.map +1 -1
  197. package/dist/src/orgrt/policy.d.ts +42 -2
  198. package/dist/src/orgrt/policy.d.ts.map +1 -1
  199. package/dist/src/orgrt/policy.js +53 -8
  200. package/dist/src/orgrt/policy.js.map +1 -1
  201. package/dist/src/orgrt/prompt-vars.d.ts +11 -0
  202. package/dist/src/orgrt/prompt-vars.d.ts.map +1 -0
  203. package/dist/src/orgrt/prompt-vars.js +49 -0
  204. package/dist/src/orgrt/prompt-vars.js.map +1 -0
  205. package/dist/src/orgrt/questions.d.ts +22 -1
  206. package/dist/src/orgrt/questions.d.ts.map +1 -1
  207. package/dist/src/orgrt/questions.js +24 -3
  208. package/dist/src/orgrt/questions.js.map +1 -1
  209. package/dist/src/orgrt/review-packet.d.ts +29 -0
  210. package/dist/src/orgrt/review-packet.d.ts.map +1 -0
  211. package/dist/src/orgrt/review-packet.js +67 -0
  212. package/dist/src/orgrt/review-packet.js.map +1 -0
  213. package/dist/src/orgrt/role-sandbox.d.ts.map +1 -1
  214. package/dist/src/orgrt/role-sandbox.js +16 -3
  215. package/dist/src/orgrt/role-sandbox.js.map +1 -1
  216. package/dist/src/orgrt/session-ledger.d.ts +68 -0
  217. package/dist/src/orgrt/session-ledger.d.ts.map +1 -0
  218. package/dist/src/orgrt/session-ledger.js +128 -0
  219. package/dist/src/orgrt/session-ledger.js.map +1 -0
  220. package/dist/src/orgrt/session.d.ts +45 -5
  221. package/dist/src/orgrt/session.d.ts.map +1 -1
  222. package/dist/src/orgrt/session.js +397 -27
  223. package/dist/src/orgrt/session.js.map +1 -1
  224. package/dist/src/orgrt/task-dag.d.ts +34 -1
  225. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  226. package/dist/src/orgrt/task-dag.js +58 -7
  227. package/dist/src/orgrt/task-dag.js.map +1 -1
  228. package/dist/src/orgrt/tool-spill.d.ts +94 -0
  229. package/dist/src/orgrt/tool-spill.d.ts.map +1 -0
  230. package/dist/src/orgrt/tool-spill.js +180 -0
  231. package/dist/src/orgrt/tool-spill.js.map +1 -0
  232. package/dist/src/orgrt/types.d.ts +138 -0
  233. package/dist/src/orgrt/types.d.ts.map +1 -1
  234. package/dist/src/orgrt/types.js +148 -0
  235. package/dist/src/orgrt/types.js.map +1 -1
  236. package/dist/src/platform-adapters/renderers/mcp.d.ts +20 -2
  237. package/dist/src/platform-adapters/renderers/mcp.d.ts.map +1 -1
  238. package/dist/src/platform-adapters/renderers/mcp.js +25 -5
  239. package/dist/src/platform-adapters/renderers/mcp.js.map +1 -1
  240. package/dist/src/protocol-capabilities.d.ts +2 -1
  241. package/dist/src/protocol-capabilities.d.ts.map +1 -1
  242. package/dist/src/protocol-capabilities.js +2 -1
  243. package/dist/src/protocol-capabilities.js.map +1 -1
  244. package/dist/src/ui/dashboard.html +450 -164
  245. package/dist/src/ui/org-hil.mjs +276 -0
  246. package/dist/src/ui/org-runtime.mjs +350 -0
  247. package/dist/src/ui/orgs.html +15 -4
  248. package/dist/src/ui/routes-org.mjs +290 -541
  249. package/dist/src/ui/server.mjs +25 -5
  250. package/dist/tsconfig.tsbuildinfo +1 -1
  251. package/package.json +9 -8
@@ -0,0 +1,142 @@
1
+ /**
2
+ * GLU-07 — captured pages as MCP resources: the URI scheme and the listing.
3
+ *
4
+ * A tool call is something an agent must be told to make. A RESOURCE is
5
+ * something a client can enumerate, attach and re-read on its own, which is
6
+ * what "read from my brain without a bespoke integration" actually needs.
7
+ *
8
+ * THE URI: `capture://<scope>/<identity>`
9
+ *
10
+ * - `<scope>` is the knowledge scope, which is also WHICH STORE to look in:
11
+ * `global` is the personal cross-project brain where `~/.monomind/inbox`
12
+ * captures land, anything else is this project's store.
13
+ * - `<identity>` is the capture's `canonicalUrl` — the same dedupe key the
14
+ * ingest uses (RCL-06) — percent-encoded, falling back to the absolute file
15
+ * path for an ordinary document. Keying on the PAGE and not the path is
16
+ * what makes the uri survive a re-capture: version 2 of an article lands in
17
+ * a new timestamped directory, and an agent that wrote the uri down last
18
+ * week must still reach the same page.
19
+ * - Percent-encoding leaves exactly one path segment, which matters: the MCP
20
+ * resource registry in `@monoes/mcp` matches templates with `[^/]+`, so a
21
+ * raw `https://…` in the path would make the uri unroutable.
22
+ * - Optional `?v=`, `?chunk=` and `?anchor=` address one VERSION or one
23
+ * PASSAGE — see `capture-resource-read.ts`.
24
+ * - `capture://<scope>` with no identity is the scope's library index: facet
25
+ * counts and the newest captures, so a client can orient before paging.
26
+ *
27
+ * Nothing here re-implements filtering, provenance or facets — `library.ts`
28
+ * owns those and this module is the MCP-shaped view over them.
29
+ *
30
+ * @module v1/cli/mcp-tools/capture-resources
31
+ */
32
+ import { type CaptureProvenance } from '../knowledge/capture-envelope.js';
33
+ import type { DocumentMeta } from '../knowledge/document-pipeline.js';
34
+ import { type LibraryEntry, type LibraryFilter, type LibrarySort, libraryFacets } from '../knowledge/library.js';
35
+ export declare const CAPTURE_URI_SCHEME = "capture";
36
+ export declare const CAPTURE_MIME_TYPE = "text/markdown";
37
+ export declare const CAPTURE_JSON_MIME_TYPE = "application/json";
38
+ export declare const CAPTURE_URI_TEMPLATE = "capture://{scope}/{identity}";
39
+ export declare const CAPTURE_INDEX_URI_TEMPLATE = "capture://{scope}";
40
+ export declare const DEFAULT_PAGE_SIZE = 50;
41
+ export declare const MAX_PAGE_SIZE = 200;
42
+ export interface CaptureUriExtras {
43
+ /** A specific stored version (RCL-06), rather than the current one. */
44
+ version?: number;
45
+ /** A single chunk, as reported on a search hit. */
46
+ chunkIndex?: number;
47
+ /** A citation anchor `<hash12>#<start>-<end>` (RCL-10). */
48
+ anchor?: string;
49
+ }
50
+ export interface CaptureUri extends CaptureUriExtras {
51
+ scope: string;
52
+ /** Empty for the scope's library index. */
53
+ identity: string;
54
+ }
55
+ export declare function buildCaptureUri(scope: string, identity: string, extras?: CaptureUriExtras): string;
56
+ /** The page a document IS, for uri purposes: its dedupe key, else its path. */
57
+ export declare function captureIdentity(meta: {
58
+ filePath: string;
59
+ canonicalUrl?: string;
60
+ provenance?: CaptureProvenance;
61
+ }): string;
62
+ export declare function captureUriFor(meta: DocumentMeta, extras?: CaptureUriExtras): string;
63
+ export declare function isCaptureUri(uri: string): boolean;
64
+ /**
65
+ * Parse a capture uri, or null when it is not one — including when it is
66
+ * malformed. A caller distinguishes "not mine" from "mine but broken" by
67
+ * checking `isCaptureUri` first, which is what the router does so a typo in a
68
+ * capture uri reports itself instead of falling through to another scheme.
69
+ */
70
+ export declare function parseCaptureUri(uri: string): CaptureUri | null;
71
+ export interface CaptureResourceDescriptor {
72
+ uri: string;
73
+ name: string;
74
+ description: string;
75
+ mimeType: string;
76
+ }
77
+ export declare function captureResourceDescriptor(meta: DocumentMeta): CaptureResourceDescriptor;
78
+ export declare function captureIndexDescriptor(scope: string, count: number): CaptureResourceDescriptor;
79
+ export interface ListCaptureResourcesOptions extends LibraryFilter {
80
+ sort?: LibrarySort;
81
+ order?: 'asc' | 'desc';
82
+ /** Opaque, from a previous page's `nextCursor`. */
83
+ cursor?: string;
84
+ pageSize?: number;
85
+ /** Also list ordinary indexed files, which are not captures. */
86
+ includeLocal?: boolean;
87
+ now?: number;
88
+ }
89
+ export interface CaptureRow extends LibraryEntry {
90
+ uri: string;
91
+ }
92
+ export interface CaptureResourceListResult {
93
+ /** MCP `resources/list` entries. */
94
+ resources: CaptureResourceDescriptor[];
95
+ /** The same page, as the structured rows a tool caller wants. */
96
+ rows: CaptureRow[];
97
+ total: number;
98
+ nextCursor?: string;
99
+ }
100
+ /** Filtered and sorted, before paging. */
101
+ export declare function selectCaptureDocuments(docs: DocumentMeta[], opts?: ListCaptureResourcesOptions): DocumentMeta[];
102
+ /**
103
+ * One page of capture resources. Throws on a cursor that does not belong to
104
+ * these options — paging on silently would hand back a window of a different
105
+ * list, which is worse than an error the client can retry without a cursor.
106
+ */
107
+ export declare function listCaptureResources(docs: DocumentMeta[], opts?: ListCaptureResourcesOptions): CaptureResourceListResult;
108
+ /** Scopes that hold at least one capture, so the index resources match what
109
+ * is actually there rather than a hardcoded pair. */
110
+ export declare function captureScopes(docs: DocumentMeta[]): string[];
111
+ export interface CaptureLibraryIndex {
112
+ scope: string;
113
+ total: number;
114
+ facets: ReturnType<typeof libraryFacets>;
115
+ latest: CaptureRow[];
116
+ uriTemplate: string;
117
+ indexUriTemplate: string;
118
+ }
119
+ /** The payload behind `capture://<scope>`. */
120
+ export declare function captureLibraryIndex(docs: DocumentMeta[], scope: string, limit?: number): CaptureLibraryIndex;
121
+ export interface CaptureStoreOptions {
122
+ /** The project store root. Defaults to the resolved project root. */
123
+ rootDir?: string;
124
+ /** The personal cross-project brain. Defaults to `getGlobalBrainDir()`. */
125
+ globalRoot?: string;
126
+ store?: 'project' | 'global' | 'all';
127
+ }
128
+ /** The store root a scope's records live in. */
129
+ export declare function captureStoreRoot(scope: string, opts?: CaptureStoreOptions): Promise<string>;
130
+ /**
131
+ * Every indexed document, from both stores by default.
132
+ *
133
+ * Captures land in `~/.monomind/inbox`, which is outside any project, so
134
+ * `doc ingest` files them in the GLOBAL brain — listing only the project store
135
+ * would report an empty library to an agent whose user has captured hundreds
136
+ * of pages. Ordinary project documents come along; `listCaptureResources`
137
+ * drops them unless `includeLocal` is set.
138
+ */
139
+ export declare function loadCaptureDocuments(opts?: CaptureStoreOptions): Promise<DocumentMeta[]>;
140
+ /** Newest capture time in a set — what a client shows as "last updated". */
141
+ export declare function newestCaptureAt(docs: DocumentMeta[]): string | undefined;
142
+ //# sourceMappingURL=capture-resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-resources.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/capture-resources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,289 @@
1
+ /**
2
+ * GLU-07 — captured pages as MCP resources: the URI scheme and the listing.
3
+ *
4
+ * A tool call is something an agent must be told to make. A RESOURCE is
5
+ * something a client can enumerate, attach and re-read on its own, which is
6
+ * what "read from my brain without a bespoke integration" actually needs.
7
+ *
8
+ * THE URI: `capture://<scope>/<identity>`
9
+ *
10
+ * - `<scope>` is the knowledge scope, which is also WHICH STORE to look in:
11
+ * `global` is the personal cross-project brain where `~/.monomind/inbox`
12
+ * captures land, anything else is this project's store.
13
+ * - `<identity>` is the capture's `canonicalUrl` — the same dedupe key the
14
+ * ingest uses (RCL-06) — percent-encoded, falling back to the absolute file
15
+ * path for an ordinary document. Keying on the PAGE and not the path is
16
+ * what makes the uri survive a re-capture: version 2 of an article lands in
17
+ * a new timestamped directory, and an agent that wrote the uri down last
18
+ * week must still reach the same page.
19
+ * - Percent-encoding leaves exactly one path segment, which matters: the MCP
20
+ * resource registry in `@monoes/mcp` matches templates with `[^/]+`, so a
21
+ * raw `https://…` in the path would make the uri unroutable.
22
+ * - Optional `?v=`, `?chunk=` and `?anchor=` address one VERSION or one
23
+ * PASSAGE — see `capture-resource-read.ts`.
24
+ * - `capture://<scope>` with no identity is the scope's library index: facet
25
+ * counts and the newest captures, so a client can orient before paging.
26
+ *
27
+ * Nothing here re-implements filtering, provenance or facets — `library.ts`
28
+ * owns those and this module is the MCP-shaped view over them.
29
+ *
30
+ * @module v1/cli/mcp-tools/capture-resources
31
+ */
32
+ import * as crypto from 'node:crypto';
33
+ import { captureIdentityUrl } from '../knowledge/capture-envelope.js';
34
+ import { documentCapturedAt, filterDocuments, libraryEntry, libraryFacets, sortDocuments, } from '../knowledge/library.js';
35
+ export const CAPTURE_URI_SCHEME = 'capture';
36
+ export const CAPTURE_MIME_TYPE = 'text/markdown';
37
+ export const CAPTURE_JSON_MIME_TYPE = 'application/json';
38
+ export const CAPTURE_URI_TEMPLATE = 'capture://{scope}/{identity}';
39
+ export const CAPTURE_INDEX_URI_TEMPLATE = 'capture://{scope}';
40
+ export const DEFAULT_PAGE_SIZE = 50;
41
+ export const MAX_PAGE_SIZE = 200;
42
+ /** Newest captures carried inline on a library index read. */
43
+ const INDEX_LATEST = 25;
44
+ const DESCRIPTION_MAX = 400;
45
+ // ── URIs ───────────────────────────────────────────────────────────
46
+ const URI_RE = /^capture:\/\/([A-Za-z0-9._~-]+)(?:\/([^/?#\s]*))?(?:\?([^#\s]*))?$/;
47
+ export function buildCaptureUri(scope, identity, extras = {}) {
48
+ const base = `capture://${encodeURIComponent(scope)}${identity ? `/${encodeURIComponent(identity)}` : ''}`;
49
+ const query = [];
50
+ if (extras.version !== undefined)
51
+ query.push(`v=${extras.version}`);
52
+ if (extras.chunkIndex !== undefined)
53
+ query.push(`chunk=${extras.chunkIndex}`);
54
+ if (extras.anchor !== undefined)
55
+ query.push(`anchor=${encodeURIComponent(extras.anchor)}`);
56
+ return query.length ? `${base}?${query.join('&')}` : base;
57
+ }
58
+ /** The page a document IS, for uri purposes: its dedupe key, else its path. */
59
+ export function captureIdentity(meta) {
60
+ return meta.canonicalUrl ?? captureIdentityUrl(meta.provenance) ?? meta.filePath;
61
+ }
62
+ export function captureUriFor(meta, extras = {}) {
63
+ return buildCaptureUri(meta.scope, captureIdentity(meta), extras);
64
+ }
65
+ export function isCaptureUri(uri) {
66
+ return /^capture:\/\//i.test((uri ?? '').trim());
67
+ }
68
+ function intParam(params, name, min) {
69
+ const raw = params.get(name);
70
+ if (raw === null)
71
+ return undefined;
72
+ const n = Number(raw);
73
+ return Number.isInteger(n) && n >= min ? n : Number.NaN;
74
+ }
75
+ /**
76
+ * Parse a capture uri, or null when it is not one — including when it is
77
+ * malformed. A caller distinguishes "not mine" from "mine but broken" by
78
+ * checking `isCaptureUri` first, which is what the router does so a typo in a
79
+ * capture uri reports itself instead of falling through to another scheme.
80
+ */
81
+ export function parseCaptureUri(uri) {
82
+ const match = URI_RE.exec((uri ?? '').trim());
83
+ if (!match)
84
+ return null;
85
+ let scope;
86
+ let identity;
87
+ try {
88
+ scope = decodeURIComponent(match[1]);
89
+ identity = match[2] ? decodeURIComponent(match[2]) : '';
90
+ }
91
+ catch {
92
+ return null; // malformed percent-escape
93
+ }
94
+ const out = { scope, identity };
95
+ if (match[3]) {
96
+ const params = new URLSearchParams(match[3]);
97
+ const version = intParam(params, 'v', 1);
98
+ const chunkIndex = intParam(params, 'chunk', 0);
99
+ if (Number.isNaN(version) || Number.isNaN(chunkIndex))
100
+ return null;
101
+ if (version !== undefined)
102
+ out.version = version;
103
+ if (chunkIndex !== undefined)
104
+ out.chunkIndex = chunkIndex;
105
+ const anchor = params.get('anchor');
106
+ if (anchor)
107
+ out.anchor = anchor;
108
+ }
109
+ return out;
110
+ }
111
+ /** The one-line description a client shows next to the name: where it came
112
+ * from, when it was captured, which version, and the facets it was filed
113
+ * under — enough to pick a resource without reading it. */
114
+ function describe(entry) {
115
+ const bits = [
116
+ entry.url ?? entry.filePath,
117
+ entry.capturedAt ? `captured ${entry.capturedAt.slice(0, 10)}` : '',
118
+ entry.version ? `v${entry.version}` : '',
119
+ entry.source ?? '',
120
+ entry.collection ?? '',
121
+ entry.tags.length ? `#${entry.tags.join(' #')}` : '',
122
+ `${entry.chunkCount} chunk${entry.chunkCount === 1 ? '' : 's'}`,
123
+ ].filter(Boolean);
124
+ const text = bits.join(' · ');
125
+ return text.length > DESCRIPTION_MAX ? `${text.slice(0, DESCRIPTION_MAX - 1)}…` : text;
126
+ }
127
+ export function captureResourceDescriptor(meta) {
128
+ const entry = libraryEntry(meta);
129
+ return {
130
+ uri: captureUriFor(meta),
131
+ name: entry.title || entry.url || entry.filePath,
132
+ description: describe(entry),
133
+ mimeType: CAPTURE_MIME_TYPE,
134
+ };
135
+ }
136
+ export function captureIndexDescriptor(scope, count) {
137
+ return {
138
+ uri: buildCaptureUri(scope, ''),
139
+ name: `Capture library (${scope})`,
140
+ description: `${count} captured page${count === 1 ? '' : 's'} in the ${scope} brain — ` +
141
+ `site/tag/collection/source facets and the newest captures. ` +
142
+ `Read one with ${CAPTURE_URI_TEMPLATE}.`,
143
+ mimeType: CAPTURE_JSON_MIME_TYPE,
144
+ };
145
+ }
146
+ /** Filtered and sorted, before paging. */
147
+ export function selectCaptureDocuments(docs, opts = {}) {
148
+ const now = opts.now ?? Date.now();
149
+ const filter = { ...opts, capturedOnly: !opts.includeLocal };
150
+ return sortDocuments(filterDocuments(docs, filter, now), opts.sort ?? 'captured', opts.order ?? 'desc');
151
+ }
152
+ /** What a cursor is only valid against: change any of it and the offset it
153
+ * carries would point into a different list. */
154
+ function fingerprint(opts) {
155
+ const key = JSON.stringify({
156
+ site: opts.site ?? null,
157
+ tag: opts.tag ?? null,
158
+ collection: opts.collection ?? null,
159
+ source: opts.source ?? null,
160
+ since: opts.since ?? null,
161
+ until: opts.until ?? null,
162
+ text: opts.text ?? null,
163
+ scope: opts.scope ?? null,
164
+ includeLocal: !!opts.includeLocal,
165
+ sort: opts.sort ?? 'captured',
166
+ order: opts.order ?? 'desc',
167
+ });
168
+ return crypto.createHash('sha256').update(key).digest('hex').slice(0, 8);
169
+ }
170
+ function encodeCursor(offset, fp) {
171
+ return Buffer.from(`${fp}:${offset}`, 'utf-8').toString('base64url');
172
+ }
173
+ function decodeCursor(cursor, fp) {
174
+ let decoded = '';
175
+ try {
176
+ decoded = Buffer.from(cursor, 'base64url').toString('utf-8');
177
+ }
178
+ catch {
179
+ throw new Error('invalid cursor');
180
+ }
181
+ const [seen, offset] = decoded.split(':');
182
+ const n = Number(offset);
183
+ if (seen !== fp || !Number.isInteger(n) || n < 0) {
184
+ throw new Error('invalid cursor: it was issued for a different filter or sort order');
185
+ }
186
+ return n;
187
+ }
188
+ /**
189
+ * One page of capture resources. Throws on a cursor that does not belong to
190
+ * these options — paging on silently would hand back a window of a different
191
+ * list, which is worse than an error the client can retry without a cursor.
192
+ */
193
+ export function listCaptureResources(docs, opts = {}) {
194
+ const selected = selectCaptureDocuments(docs, opts);
195
+ const fp = fingerprint(opts);
196
+ const offset = opts.cursor ? decodeCursor(opts.cursor, fp) : 0;
197
+ const size = Math.min(Math.max(1, Math.floor(opts.pageSize ?? DEFAULT_PAGE_SIZE)), MAX_PAGE_SIZE);
198
+ const page = selected.slice(offset, offset + size);
199
+ const end = offset + page.length;
200
+ return {
201
+ resources: page.map(captureResourceDescriptor),
202
+ rows: page.map((meta) => ({ uri: captureUriFor(meta), ...libraryEntry(meta) })),
203
+ total: selected.length,
204
+ ...(end < selected.length ? { nextCursor: encodeCursor(end, fp) } : {}),
205
+ };
206
+ }
207
+ /** Scopes that hold at least one capture, so the index resources match what
208
+ * is actually there rather than a hardcoded pair. */
209
+ export function captureScopes(docs) {
210
+ const scopes = new Set();
211
+ for (const meta of filterDocuments(docs, { capturedOnly: true }))
212
+ scopes.add(meta.scope);
213
+ return [...scopes].sort();
214
+ }
215
+ /** The payload behind `capture://<scope>`. */
216
+ export function captureLibraryIndex(docs, scope, limit = INDEX_LATEST) {
217
+ const scoped = filterDocuments(docs, { scope, capturedOnly: true });
218
+ const latest = sortDocuments(scoped, 'captured', 'desc').slice(0, Math.max(1, limit));
219
+ return {
220
+ scope,
221
+ total: scoped.length,
222
+ facets: libraryFacets(scoped),
223
+ latest: latest.map((meta) => ({ uri: captureUriFor(meta), ...libraryEntry(meta) })),
224
+ uriTemplate: CAPTURE_URI_TEMPLATE,
225
+ indexUriTemplate: CAPTURE_INDEX_URI_TEMPLATE,
226
+ };
227
+ }
228
+ /** The store root a scope's records live in. */
229
+ export async function captureStoreRoot(scope, opts = {}) {
230
+ const { getGlobalBrainDir, getProjectRoot } = await import('../memory/memory-bridge.js');
231
+ if (scope === 'global')
232
+ return opts.globalRoot ?? getGlobalBrainDir();
233
+ return opts.rootDir ?? getProjectRoot();
234
+ }
235
+ /**
236
+ * Every indexed document, from both stores by default.
237
+ *
238
+ * Captures land in `~/.monomind/inbox`, which is outside any project, so
239
+ * `doc ingest` files them in the GLOBAL brain — listing only the project store
240
+ * would report an empty library to an agent whose user has captured hundreds
241
+ * of pages. Ordinary project documents come along; `listCaptureResources`
242
+ * drops them unless `includeLocal` is set.
243
+ */
244
+ export async function loadCaptureDocuments(opts = {}) {
245
+ const { listDocuments } = await import('../knowledge/document-pipeline.js');
246
+ const { getGlobalBrainDir, getProjectRoot } = await import('../memory/memory-bridge.js');
247
+ const path = await import('node:path');
248
+ const store = opts.store ?? 'all';
249
+ const roots = [];
250
+ if (store !== 'global')
251
+ roots.push(opts.rootDir ?? getProjectRoot());
252
+ if (store !== 'project')
253
+ roots.push(opts.globalRoot ?? getGlobalBrainDir());
254
+ const seenRoots = new Set();
255
+ const seenDocs = new Set();
256
+ const out = [];
257
+ for (const root of roots) {
258
+ const resolved = path.resolve(root);
259
+ if (seenRoots.has(resolved))
260
+ continue;
261
+ seenRoots.add(resolved);
262
+ let docs = [];
263
+ try {
264
+ docs = listDocuments(resolved);
265
+ }
266
+ catch {
267
+ continue; // a store that cannot be read is an empty one, not a failure
268
+ }
269
+ for (const meta of docs) {
270
+ const key = `${meta.scope}${meta.filePath}`;
271
+ if (seenDocs.has(key))
272
+ continue;
273
+ seenDocs.add(key);
274
+ out.push(meta);
275
+ }
276
+ }
277
+ return out;
278
+ }
279
+ /** Newest capture time in a set — what a client shows as "last updated". */
280
+ export function newestCaptureAt(docs) {
281
+ let newest = '';
282
+ for (const meta of docs) {
283
+ const at = documentCapturedAt(meta);
284
+ if (at > newest)
285
+ newest = at;
286
+ }
287
+ return newest || undefined;
288
+ }
289
+ //# sourceMappingURL=capture-resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-resources.js","sourceRoot":"","sources":["../../../src/mcp-tools/capture-resources.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export { agentTools } from './agent-tools.js';
7
7
  export { analyzeTools } from './analyze-tools.js';
8
8
  export { autopilotTools } from './autopilot-tools.js';
9
9
  export { browserTools } from './browser-tools.js';
10
+ export { captureResourceTools } from './capture-resource-tools.js';
11
+ export { buildCaptureUri, CAPTURE_URI_TEMPLATE, captureLibraryIndex, captureUriFor, isCaptureUri, listCaptureResources, loadCaptureDocuments, parseCaptureUri, } from './capture-resources.js';
10
12
  export { claimsTools } from './claims-tools.js';
11
13
  export { configTools } from './config-tools.js';
12
14
  export { embeddingsTools } from './embeddings-tools.js';
@@ -20,6 +22,7 @@ export { monomindTools } from './monomind-tools.js';
20
22
  export { monoswarmTools } from './monoswarm-tools.js';
21
23
  export { performanceTools } from './performance-tools.js';
22
24
  export { platformsTools } from './platforms-tools.js';
25
+ export { handleResourceMethod, listResources, readResource } from './resource-router.js';
23
26
  export { securityTools } from './security-tools.js';
24
27
  export { sessionTools } from './session-tools.js';
25
28
  export { systemTools } from './system-tools.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -7,6 +7,11 @@ export { agentTools } from './agent-tools.js';
7
7
  export { analyzeTools } from './analyze-tools.js';
8
8
  export { autopilotTools } from './autopilot-tools.js';
9
9
  export { browserTools } from './browser-tools.js';
10
+ // GLU-07: captures as MCP resources — the `capture://` scheme, its listing,
11
+ // its reads, and the tools that expose the same thing to clients that do not
12
+ // implement resources.
13
+ export { captureResourceTools } from './capture-resource-tools.js';
14
+ export { buildCaptureUri, CAPTURE_URI_TEMPLATE, captureLibraryIndex, captureUriFor, isCaptureUri, listCaptureResources, loadCaptureDocuments, parseCaptureUri, } from './capture-resources.js';
10
15
  export { claimsTools } from './claims-tools.js';
11
16
  export { configTools } from './config-tools.js';
12
17
  export { embeddingsTools } from './embeddings-tools.js';
@@ -20,6 +25,7 @@ export { monomindTools } from './monomind-tools.js';
20
25
  export { monoswarmTools } from './monoswarm-tools.js';
21
26
  export { performanceTools } from './performance-tools.js';
22
27
  export { platformsTools } from './platforms-tools.js';
28
+ export { handleResourceMethod, listResources, readResource } from './resource-router.js';
23
29
  export { securityTools } from './security-tools.js';
24
30
  export { sessionTools } from './session-tools.js';
25
31
  // V2 Compatibility tools
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,yBAAyB;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,4EAA4E;AAC5E,6EAA6E;AAC7E,uBAAuB;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,yBAAyB;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/knowledge-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,YAAY,CAAC;AAidzD,eAAO,MAAM,cAAc,EAAE,OAAO,EAAwD,CAAC"}
1
+ {"version":3,"file":"knowledge-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/knowledge-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,YAAY,CAAC;AAidzD,eAAO,MAAM,cAAc,EAAE,OAAO,EAOnC,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * MCP Knowledge Tools — Second Brain document ingest and search
3
3
  */
4
4
  import { validateInput } from '../utils/input-guards.js';
5
+ import { captureResourceTools } from './capture-resource-tools.js';
5
6
  const knowledgeIngest = {
6
7
  name: 'knowledge_ingest',
7
8
  description: 'Ingest documents into the Second Brain knowledge base. Accepts a file or directory path. Extracts text, chunks, embeds, and stores in SQLite for semantic search.',
@@ -394,5 +395,12 @@ const knowledgeRemove = {
394
395
  }
395
396
  },
396
397
  };
397
- export const knowledgeTools = [knowledgeIngest, knowledgeSearch, knowledgeRemove];
398
+ export const knowledgeTools = [
399
+ knowledgeIngest,
400
+ knowledgeSearch,
401
+ knowledgeRemove,
402
+ // GLU-07: browsing and reading the `capture://` resources — see
403
+ // capture-resource-tools.ts for why the resource surface needs tools too.
404
+ ...captureResourceTools,
405
+ ];
398
406
  //# sourceMappingURL=knowledge-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/knowledge-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/knowledge-tools.ts"],"names":[],"mappings":"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"}