@hiai-gg/docsmint 0.9.2 → 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.
package/README.md CHANGED
@@ -14,32 +14,36 @@ Apache-2.0 application on your own infrastructure.
14
14
  [![Release](https://img.shields.io/github/v/release/hiai-gg/docsmint?sort=semver)](https://github.com/hiai-gg/docsmint/releases)
15
15
  [![npm](https://img.shields.io/npm/v/@hiai-gg/docsmint?logo=npm)](https://www.npmjs.com/package/@hiai-gg/docsmint)
16
16
  [![Docker Pulls](https://img.shields.io/docker/pulls/vgalibov/docsmint?logo=docker)](https://hub.docker.com/r/vgalibov/docsmint)
17
- [![Stars](https://img.shields.io/github/stars/hiai-gg/docsmint)](https://github.com/hiai-gg/docsmint/stargazers)
18
17
  [![CI](https://github.com/hiai-gg/docsmint/actions/workflows/ci.yml/badge.svg)](https://github.com/hiai-gg/docsmint/actions/workflows/ci.yml)
18
+
19
+ [![DocsMint MCP server](https://glama.ai/mcp/servers/HiAi-gg/docsmint/badges/score.svg)](https://glama.ai/mcp/servers/HiAi-gg/docsmint)
20
+ [![MCP Badge](https://lobehub.com/badge/mcp/hiai-gg-docsmint)](https://lobehub.com/mcp/hiai-gg-docsmint)
21
+ [![MCP Registry](https://img.shields.io/badge/MCP_Registry-Listed-0891b2)](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.HiAi-gg%2Fdocsmint/versions/latest)
22
+ [![DocsMint Cloud](https://img.shields.io/badge/DocsMint_Cloud-Connect-16a34a)](https://docsmint.com/mcp/connect?source=github_mcp)
23
+
19
24
  [![Bun](https://img.shields.io/badge/Runtime-Bun_1.4-black?logo=bun&logoColor=white)](https://bun.sh)
20
25
  [![TypeScript](https://img.shields.io/badge/TypeScript-6.x-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org)
21
26
  [![Svelte](https://img.shields.io/badge/Svelte-5.x-FF3E00?logo=svelte&logoColor=white)](https://svelte.dev)
22
27
  [![Elysia](https://img.shields.io/badge/Elysia-1.4-lightgrey?logo=elysia&logoColor=white)](https://elysiajs.com)
23
28
  [![Tailwind_CSS](https://img.shields.io/badge/Tailwind_CSS-v4-06B6D4?logo=tailwindcss&logoColor=white)](https://tailwindcss.com)
24
29
  [![Drizzle_ORM](https://img.shields.io/badge/Drizzle_ORM-0.45-C5F74F?logo=drizzle&logoColor=black)](https://orm.drizzle.team)
30
+ [![Stars](https://img.shields.io/github/stars/hiai-gg/docsmint)](https://github.com/hiai-gg/docsmint/stargazers)
25
31
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
26
- [![MCP Badge](https://lobehub.com/badge/mcp/hiai-gg-docsmint)](https://lobehub.com/mcp/hiai-gg-docsmint)
27
- [![DocsMint Cloud](https://img.shields.io/badge/DocsMint_Cloud-Connect-16a34a)](https://docsmint.com/mcp/connect?source=github_mcp)
28
- [![MCP Registry](https://img.shields.io/badge/MCP_Registry-Listed-0891b2)](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.HiAi-gg%2Fdocsmint/versions/latest)
29
32
 
30
33
  <img width="1920" height="974" alt="DocsMint installable document workspace" src="https://github.com/user-attachments/assets/94701d01-a361-4ca1-b16d-de2a0c64d684" />
31
34
 
32
35
  ## Connect your AI agent
33
36
 
34
- Connect DocsMint Cloud instantly or use your own self-hosted deployment. Search,
35
- read, create, organize and update persistent knowledge through MCP with hybrid
36
- retrieval, reranking and GraphRAG.
37
+ Connect DocsMint Cloud instantly or run the self-hosted stdio bridge against
38
+ your own DocsMint API. Both paths give agents access to persistent knowledge;
39
+ the self-hosted bridge exposes 20 focused tools covering all 31 existing operations, plus 2 prompts and 3 resources.
37
40
 
38
41
  **Recommended: [DocsMint Cloud setup](https://docsmint.com/mcp/connect?source=github_mcp).**
39
42
  No server installation is required. Sign up or log in, choose your workspace,
40
- create an MCP/API credential in the authenticated browser UI, follow your client's
41
- instructions, and verify the connection. Hosted MCP follows your plan and
42
- workspace permissions. Prefer workspace-bound or category-scoped credentials.
43
+ and follow your client's connection instructions. OAuth-capable clients use
44
+ browser consent; API-key clients create an MCP/API credential in the authenticated
45
+ browser UI. Hosted MCP follows your plan and workspace permissions. Prefer
46
+ workspace-bound or category-scoped credentials.
43
47
 
44
48
  The Cloud endpoint is `https://docsmint.com/mcp` (Streamable HTTP). OAuth-capable
45
49
  clients discover the hosted resource and authorization-server metadata; current
@@ -53,11 +57,13 @@ management belongs to the signed-in browser session.
53
57
 
54
58
  **Self-hosted alternative:** run [DocsMint with Docker](#quickstart), create an API
55
59
  key in its browser UI, and configure `HIAI_DOCS_URL` and `HIAI_DOCS_API_KEY` for
56
- `npx --yes --package @hiai-gg/docsmint docsmint-mcp`. The npm package is a stdio
57
- bridge to your own API, not a server installer or hosted OAuth server. See the
58
- [MCP guide](https://github.com/HiAi-gg/docsmint/blob/main/packages/mcp-server/README.md) for client configuration.
59
- The open-source [Glama Server directory](https://glama.ai/mcp/servers) uses this
60
- stdio bridge; the hosted DocsMint Cloud Connector is a separate listing.
60
+ `npx --yes --package @hiai-gg/docsmint docsmint-mcp`. Install Bun 1.3.14 or
61
+ later to execute the published binary. The npm package is a stdio bridge to
62
+ your own API; it does not install the DocsMint application or Cloud OAuth server.
63
+ See the [MCP guide](https://github.com/HiAi-gg/docsmint/blob/main/packages/mcp-server/README.md)
64
+ for client configuration. The [Glama OSS Server listing](https://glama.ai/mcp/servers/HiAi-gg/docsmint)
65
+ describes this bridge; the hosted [DocsMint Cloud Connector](https://glama.ai/mcp/connectors/io.github.HiAi-gg/docsmint)
66
+ is a separate listing.
61
67
 
62
68
  ## Why DocsMint?
63
69
 
@@ -74,15 +80,17 @@ stdio bridge; the hosted DocsMint Cloud Connector is a separate listing.
74
80
  - **Choose how you run it.** Use [managed DocsMint](https://docsmint.com) or
75
81
  self-host the application, database, search, queues, and files.
76
82
 
77
- ## What's new in 0.9.2?
83
+ ## What's new in 0.10.0?
78
84
 
79
- - Prepare the open-source MCP stdio bridge for a separate Glama Server listing
80
- with a schema-valid organization maintainer claim.
81
- - Clarify that Glama-hosted stdio needs a reachable self-hosted DocsMint API
82
- and an API key; DocsMint Cloud remains a separate hosted Connector.
83
- - Keep the existing 21 tools, 2 prompts, 3 resources, and API-key behavior.
85
+ - Present 20 focused MCP tools while preserving every document, tag, folder,
86
+ category, graph, version, indexing, and trash operation from 0.9.4.
87
+ - Use explicit selectors for grouped operations and keep irreversible actions
88
+ separate. MCP clients that call the old tool names need to update their calls;
89
+ SDK, CLI, REST, and self-hosted API-key authentication are unchanged.
90
+ - Keep the Cloud Connector and self-hosted stdio bridge distinct. The Cloud
91
+ endpoint must deploy the matching contract before hosted clients use it.
84
92
 
85
- This release adds no database migration. See the [release notes](https://github.com/HiAi-gg/docsmint/releases/tag/v0.9.2)
93
+ No database migration is required. See the [release notes](https://github.com/HiAi-gg/docsmint/releases/tag/v0.10.0)
86
94
  and [changelog](https://github.com/HiAi-gg/docsmint/blob/main/CHANGELOG.md).
87
95
 
88
96
  ## Install with an AI agent
@@ -135,7 +143,7 @@ docker pull vgalibov/docsmint:web-latest
135
143
  docker pull vgalibov/docsmint:caddy-latest
136
144
  ```
137
145
 
138
- Use versioned tags `api-v0.9.2`, `web-v0.9.2`, and `caddy-v0.9.2` for
146
+ Use versioned tags `api-v0.10.0`, `web-v0.10.0`, and `caddy-v0.10.0` for
139
147
  reproducible deploys. Caddy is the supporting reverse proxy with rate limiting;
140
148
  it is separate from the API and web application. The quickstart still builds the Compose stack from this repository so PostgreSQL,
141
149
  Redis, and SeaweedFS start together with the application.
@@ -238460,7 +238460,7 @@ var swaggerConfig = {
238460
238460
  },
238461
238461
  info: {
238462
238462
  title: "DocsMint API",
238463
- version: "0.9.2",
238463
+ version: "0.10.0",
238464
238464
  description: "Self-hosted AI-native knowledge workspace and installable PWA with hybrid search, GraphRAG, REST, SDK, CLI, and MCP access for people and AI agents.",
238465
238465
  contact: { name: "HiAi-gg", url: "https://github.com/HiAi-gg/docsmint" },
238466
238466
  license: {
package/dist/client.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * failures (502 / 503 / 504 / timeout / network reset) are retried
8
8
  * with exponential backoff up to `config.retries` attempts.
9
9
  */
10
- import type { DocsApiKeyCreated, DocsApiKeyListResponse, DocsAttachment, DocsAttachmentConfirmInput, DocsAttachmentListResponse, DocsAttachmentPresignInput, DocsAttachmentPresignResponse, DocsCategory, DocsCategoryListItem, DocsCategoryInput, DocsCategoryUpdate, DocsDocument, DocsDocumentCreateInput, DocsDocumentCursorPage, DocsDocumentIndexRefresh, DocsDocumentIndexStatus, DocsDocumentKnowledgeSummary, DocsDocumentListResponse, DocsDocumentPipeline, DocsPipelineWarningRetry, DocsDocumentUpdateInput, DocsFolder, DocsFolderCreateInput, DocsFolderUpdateInput, DocsGraphEntitiesResponse, DocsGraphRelatedResponse, DocsGraphSearchResponse, DocsHealthResponse, DocsRequestContext, DocsSearchOptions, DocsSearchResponse, DocsSearchSuggestItem, DocsSharedContent, DocsShareLink, DocsShareListResponse, DocsShareRole, DocsTag, DocsVersion, DocsVersionDiff } from "./types.js";
10
+ import type { DocsApiKeyCreated, DocsApiKeyListResponse, DocsAttachment, DocsAttachmentConfirmInput, DocsAttachmentListResponse, DocsAttachmentPresignInput, DocsAttachmentPresignResponse, DocsCategory, DocsCategoryListItem, DocsCategoryInput, DocsCategoryUpdate, DocsDocument, DocsDocumentCreateInput, DocsDocumentCursorPage, DocsDocumentIndexRefresh, DocsDocumentIndexStatus, DocsDocumentKnowledgeSummary, DocsDocumentListResponse, DocsDocumentPipeline, DocsPipelineWarningRetry, DocsDocumentUpdateInput, DocsFolder, DocsFolderCreateInput, DocsFolderUpdateInput, DocsGraphEntitiesResponse, DocsGraphRelatedResponse, DocsGraphSearchResponse, DocsHealthResponse, DocsRequestContext, DocsSearchOptions, DocsSearchResponse, DocsSearchSuggestItem, DocsSharedContent, DocsShareLink, DocsShareListResponse, DocsShareRole, DocsTag, DocsTrashResponse, DocsVersion, DocsVersionDiff } from "./types.js";
11
11
  export interface DocsClientConfig {
12
12
  /** Base URL of the DocsMint API, e.g. `http://localhost:50700`. */
13
13
  baseUrl: string;
@@ -124,6 +124,13 @@ export declare class DocsClient {
124
124
  color?: string;
125
125
  }, context?: DocsRequestContext): Promise<DocsTag>;
126
126
  deleteTag(id: string, context?: DocsRequestContext): Promise<void>;
127
+ listTrash(context?: DocsRequestContext): Promise<DocsTrashResponse>;
128
+ restoreTrashedDocument(id: string, context?: DocsRequestContext): Promise<{
129
+ success: true;
130
+ }>;
131
+ permanentlyDeleteDocument(id: string, context?: DocsRequestContext): Promise<{
132
+ success: true;
133
+ }>;
127
134
  addTagToDoc(documentId: string, tagId: string, context?: DocsRequestContext): Promise<void>;
128
135
  removeTagFromDoc(documentId: string, tagId: string, context?: DocsRequestContext): Promise<void>;
129
136
  listCategories(context?: DocsRequestContext): Promise<DocsCategoryListItem[]>;
package/dist/client.js CHANGED
@@ -222,6 +222,15 @@ export class DocsClient {
222
222
  async deleteTag(id, context) {
223
223
  await this.request("DELETE", `/api/tags/${encodeURIComponent(id)}`, undefined, context);
224
224
  }
225
+ async listTrash(context) {
226
+ return this.request("GET", "/api/trash", undefined, context);
227
+ }
228
+ async restoreTrashedDocument(id, context) {
229
+ return this.request("POST", `/api/trash/documents/${encodeURIComponent(id)}/restore`, undefined, context);
230
+ }
231
+ async permanentlyDeleteDocument(id, context) {
232
+ return this.request("DELETE", `/api/trash/documents/${encodeURIComponent(id)}`, undefined, context);
233
+ }
225
234
  async addTagToDoc(documentId, tagId, context) {
226
235
  await this.request("POST", `/api/documents/${encodeURIComponent(documentId)}/tags`, { json: { tagId } }, context);
227
236
  }