@hiai-gg/docsmint 0.6.5 → 0.6.6
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 +14 -1
- package/dist/backend/index.js +16 -9
- package/package.json +1 -1
- package/packages/cli/src/index.ts +1 -1
- package/packages/mcp-server/src/server.ts +1 -1
- package/server.json +2 -2
package/README.md
CHANGED
|
@@ -40,7 +40,20 @@ server.
|
|
|
40
40
|
- **Own the full stack**: application data, vectors, graph, queue, and files run
|
|
41
41
|
on infrastructure you control.
|
|
42
42
|
|
|
43
|
-
## What's new in DocsMint 0.6.
|
|
43
|
+
## What's new in DocsMint 0.6.6?
|
|
44
|
+
|
|
45
|
+
- **Safe explicit index recovery.** Admin document reindexing keeps the active
|
|
46
|
+
generation searchable until a new generation has passed embedding, graph,
|
|
47
|
+
summary, and finalize stages.
|
|
48
|
+
- **Truthful queue admission.** Maintenance requests force a replacement
|
|
49
|
+
generation and report an error when durable enqueue fails instead of
|
|
50
|
+
returning a false-positive success.
|
|
51
|
+
- **Verified MCP distribution.** The official MCP Registry manifest, npm stdio
|
|
52
|
+
package, hosted Streamable HTTP endpoint, bundled Skill, prompts, resources,
|
|
53
|
+
and 17-tool catalog remain one versioned contract.
|
|
54
|
+
|
|
55
|
+
DocsMint 0.6.6 includes the registry metadata fixes released in 0.6.3-0.6.5
|
|
56
|
+
and the complete MCP foundation introduced in 0.6.2:
|
|
44
57
|
|
|
45
58
|
- **Official MCP identity.** DocsMint now publishes the verified
|
|
46
59
|
`io.github.HiAi-gg/docsmint` registry identity for both the npm stdio server
|
package/dist/backend/index.js
CHANGED
|
@@ -194473,7 +194473,7 @@ async function claimEnqueueSlot(docId, workspaceId) {
|
|
|
194473
194473
|
return true;
|
|
194474
194474
|
}
|
|
194475
194475
|
}
|
|
194476
|
-
async function enqueueReembed(docIds, workspaceId) {
|
|
194476
|
+
async function enqueueReembed(docIds, workspaceId, options = {}) {
|
|
194477
194477
|
const unique = new Set;
|
|
194478
194478
|
for (const id2 of docIds) {
|
|
194479
194479
|
if (typeof id2 !== "string" || id2.trim().length === 0)
|
|
@@ -194482,9 +194482,10 @@ async function enqueueReembed(docIds, workspaceId) {
|
|
|
194482
194482
|
}
|
|
194483
194483
|
let pushed = 0;
|
|
194484
194484
|
for (const id2 of unique) {
|
|
194485
|
-
if (await claimEnqueueSlot(id2, workspaceId)) {
|
|
194486
|
-
enqueueEmbedding(id2, "interactive", workspaceId);
|
|
194487
|
-
|
|
194485
|
+
if (options.bypassDedup || await claimEnqueueSlot(id2, workspaceId)) {
|
|
194486
|
+
const queued = await enqueueEmbedding(id2, options.source ?? "interactive", workspaceId, { forceNewGeneration: options.forceNewGeneration });
|
|
194487
|
+
if (queued)
|
|
194488
|
+
pushed += 1;
|
|
194488
194489
|
}
|
|
194489
194490
|
}
|
|
194490
194491
|
return pushed;
|
|
@@ -194620,14 +194621,20 @@ var adminRoutes = new Elysia({ prefix: "/api/admin" }).post("/reindex/:docId", a
|
|
|
194620
194621
|
set2.status = 404;
|
|
194621
194622
|
return { error: "Document not found" };
|
|
194622
194623
|
}
|
|
194623
|
-
await
|
|
194624
|
-
|
|
194624
|
+
const enqueued = await enqueueReembed([params.docId], undefined, {
|
|
194625
|
+
bypassDedup: true,
|
|
194626
|
+
forceNewGeneration: true,
|
|
194627
|
+
source: "reindex"
|
|
194625
194628
|
});
|
|
194626
|
-
|
|
194629
|
+
if (enqueued !== 1) {
|
|
194630
|
+
set2.status = 503;
|
|
194631
|
+
return { error: "Failed to queue document reindex" };
|
|
194632
|
+
}
|
|
194627
194633
|
return {
|
|
194628
194634
|
success: true,
|
|
194629
194635
|
documentId: params.docId,
|
|
194630
|
-
|
|
194636
|
+
enqueued,
|
|
194637
|
+
message: "Document reindex queued with a new generation"
|
|
194631
194638
|
};
|
|
194632
194639
|
} catch (err) {
|
|
194633
194640
|
logger3.error({ err, docId: params.docId }, "Admin reindex failed");
|
|
@@ -234946,7 +234953,7 @@ var swaggerConfig = {
|
|
|
234946
234953
|
},
|
|
234947
234954
|
info: {
|
|
234948
234955
|
title: "DocsMint API",
|
|
234949
|
-
version: "0.6.
|
|
234956
|
+
version: "0.6.6",
|
|
234950
234957
|
description: "Self-hosted AI-first documentation platform. Full-text + semantic search, version history, sharing, and folder organization.",
|
|
234951
234958
|
contact: { name: "HiAi-gg", url: "https://github.com/HiAi-gg/docsmint" },
|
|
234952
234959
|
license: {
|
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@ import { registerSearch } from './commands/search.js';
|
|
|
24
24
|
import { registerSnapshot } from './commands/snapshot.js';
|
|
25
25
|
import { registerUpdate } from './commands/update.js';
|
|
26
26
|
|
|
27
|
-
const VERSION = '0.6.
|
|
27
|
+
const VERSION = '0.6.6';
|
|
28
28
|
|
|
29
29
|
const program = new Command();
|
|
30
30
|
program.name('hiai-docs').description('CLI for the hiai-docs knowledge base').version(VERSION);
|
|
@@ -81,7 +81,7 @@ export interface CreateDocsmintMcpServerOptions {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
export function createDocsmintMcpServer(options: CreateDocsmintMcpServerOptions = {}): McpServer {
|
|
84
|
-
const server = new McpServer({ name: 'docsmint', version: '0.6.
|
|
84
|
+
const server = new McpServer({ name: 'docsmint', version: '0.6.6' });
|
|
85
85
|
registerDocsmintMcpCapabilities(server, options.client ?? defaultClient);
|
|
86
86
|
return server;
|
|
87
87
|
}
|
package/server.json
CHANGED
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
"source": "github",
|
|
9
9
|
"id": "1249550690"
|
|
10
10
|
},
|
|
11
|
-
"version": "0.6.
|
|
11
|
+
"version": "0.6.6",
|
|
12
12
|
"packages": [
|
|
13
13
|
{
|
|
14
14
|
"registryType": "npm",
|
|
15
15
|
"identifier": "@hiai-gg/docsmint",
|
|
16
|
-
"version": "0.6.
|
|
16
|
+
"version": "0.6.6",
|
|
17
17
|
"transport": {
|
|
18
18
|
"type": "stdio"
|
|
19
19
|
},
|