@autorag/librarian 2.10.2 → 2.10.3
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/dist/agent/search-documents.d.ts +1 -1
- package/dist/cli/index.js +28 -3
- package/dist/core.js +28 -3
- package/dist/index.js +28 -3
- package/dist/mcp/index.js +28 -3
- package/dist/minsync/index.d.ts +1 -1
- package/dist/minsync/installer.d.ts +1 -1
- package/dist/minsync/types.d.ts +7 -0
- package/package.json +1 -1
- package/skills/autorag-doctor/SKILL.md +1 -0
- package/skills/autorag-lite-setup/SKILL.md +1 -1
- package/skills/autorag-setup/SKILL.md +1 -1
|
@@ -9,7 +9,7 @@ export type SearchDocumentDiagnosticSeverity = "info" | "warning" | "error";
|
|
|
9
9
|
* (#21/#22) does not require another source-breaking type change; codes not yet
|
|
10
10
|
* emitted are still valid members.
|
|
11
11
|
*/
|
|
12
|
-
export type SearchDocumentDiagnosticCode = "empty-query" | "no-verified-results" | "unknown-warning" | "caller-tool-dropped" | "minsync-staging-excluded" | "minsync-sync-failed" | "minsync-lock-held" | "embedder-unavailable" | "embedding-identity-mismatch" | "parser-skipped" | "parser-failed" | "parser-crashed" | "source-vanished" | "source-unreadable" | "source-read-failed" | "mirror-write-failed" | "parser-warning" | "duplicate-excluded" | "unsupported-file" | "stale-index" | "deleted-mirror" | "search-root-unavailable" | "mass-delete-suppressed" | "walk-truncated" | "directory-unreadable" | "pdf-extract-thin" | "retrieval-method-failed" | "rerank-failed" | "jikji-unavailable" | "jikji-prepare-failed" | "jikji-find-failed" | "everything-index-failed" | "fsearch-index-failed" | "fsearch-binary-missing" | "refresh-failed" | "refresh-interrupted" | "watch-failed" | "watch-limited" | "unknown-datasource-skill" | "no-final-answer" | "model-request-failed" | "tool-call-burst" | "query-routed" | "query-route-fallback" | "query-decomposition-failed" | "follow-up-skipped" | "follow-up-check-fallback" | "datasources-selected" | "datasource-selection-fallback" | "citation-without-result" | "evidence-judged" | "evidence-judgment-fallback" | "memory-search-fallback" | "self-config-unavailable" | "self-config-rolled-back";
|
|
12
|
+
export type SearchDocumentDiagnosticCode = "empty-query" | "no-verified-results" | "unknown-warning" | "caller-tool-dropped" | "minsync-staging-excluded" | "minsync-file-skipped" | "minsync-sync-failed" | "minsync-lock-held" | "embedder-unavailable" | "embedding-identity-mismatch" | "parser-skipped" | "parser-failed" | "parser-crashed" | "source-vanished" | "source-unreadable" | "source-read-failed" | "mirror-write-failed" | "parser-warning" | "duplicate-excluded" | "unsupported-file" | "stale-index" | "deleted-mirror" | "search-root-unavailable" | "mass-delete-suppressed" | "walk-truncated" | "directory-unreadable" | "pdf-extract-thin" | "retrieval-method-failed" | "rerank-failed" | "jikji-unavailable" | "jikji-prepare-failed" | "jikji-find-failed" | "everything-index-failed" | "fsearch-index-failed" | "fsearch-binary-missing" | "refresh-failed" | "refresh-interrupted" | "watch-failed" | "watch-limited" | "unknown-datasource-skill" | "no-final-answer" | "model-request-failed" | "tool-call-burst" | "query-routed" | "query-route-fallback" | "query-decomposition-failed" | "follow-up-skipped" | "follow-up-check-fallback" | "datasources-selected" | "datasource-selection-fallback" | "citation-without-result" | "evidence-judged" | "evidence-judgment-fallback" | "memory-search-fallback" | "self-config-unavailable" | "self-config-rolled-back";
|
|
13
13
|
export interface SearchDocumentDiagnostic {
|
|
14
14
|
readonly code: SearchDocumentDiagnosticCode;
|
|
15
15
|
readonly severity: SearchDocumentDiagnosticSeverity;
|
package/dist/cli/index.js
CHANGED
|
@@ -17388,7 +17388,8 @@ class MinSyncClient {
|
|
|
17388
17388
|
restoreConfig();
|
|
17389
17389
|
return this.lockHeldResult(result.stderr);
|
|
17390
17390
|
}
|
|
17391
|
-
|
|
17391
|
+
const partial = !result.ok && result.code === MINSYNC_PARTIAL_SYNC_EXIT_CODE ? readPartialSync(result.stdout) : undefined;
|
|
17392
|
+
if (!result.ok && partial === undefined) {
|
|
17392
17393
|
restoreConfig();
|
|
17393
17394
|
return {
|
|
17394
17395
|
ok: false,
|
|
@@ -17408,10 +17409,12 @@ class MinSyncClient {
|
|
|
17408
17409
|
}
|
|
17409
17410
|
if (effective.identity)
|
|
17410
17411
|
this.writeIdentity(effective.identity);
|
|
17412
|
+
const filesFailed = partial?.filesFailed ?? [];
|
|
17411
17413
|
return {
|
|
17412
17414
|
ok: true,
|
|
17413
17415
|
synced: readSyncedCount(result.stdout),
|
|
17414
17416
|
workspacePath: this.workspacePath,
|
|
17417
|
+
...filesFailed.length > 0 ? { filesFailed } : {},
|
|
17415
17418
|
...identityChanged ? {
|
|
17416
17419
|
diagnostic: {
|
|
17417
17420
|
code: "embedding-identity-mismatch",
|
|
@@ -17443,6 +17446,19 @@ function readConfigSnapshot(configPath) {
|
|
|
17443
17446
|
throw error;
|
|
17444
17447
|
}
|
|
17445
17448
|
}
|
|
17449
|
+
function readPartialSync(stdout) {
|
|
17450
|
+
const parsed = parseJson7(stdout);
|
|
17451
|
+
if (!isRecord11(parsed) || parsed.partial !== true)
|
|
17452
|
+
return;
|
|
17453
|
+
const failures = Array.isArray(parsed.files_failed) ? parsed.files_failed : [];
|
|
17454
|
+
return {
|
|
17455
|
+
filesFailed: failures.filter(isRecord11).map((failure) => ({
|
|
17456
|
+
path: typeof failure.path === "string" ? failure.path : "(unknown)",
|
|
17457
|
+
stage: typeof failure.stage === "string" ? failure.stage : "unknown",
|
|
17458
|
+
error: typeof failure.error === "string" ? failure.error : "unknown error"
|
|
17459
|
+
}))
|
|
17460
|
+
};
|
|
17461
|
+
}
|
|
17446
17462
|
function readSyncedCount(stdout) {
|
|
17447
17463
|
const parsed = parseJson7(stdout);
|
|
17448
17464
|
if (!isRecord11(parsed))
|
|
@@ -17498,7 +17514,7 @@ function isIdentity(value) {
|
|
|
17498
17514
|
function isRecord11(value) {
|
|
17499
17515
|
return typeof value === "object" && value !== null;
|
|
17500
17516
|
}
|
|
17501
|
-
var MINSYNC_OLLAMA_MIGRATION_MESSAGE = "This workspace uses the legacy 768-dimensional Ollama/TEI embedding path. Reindex explicitly, or pin an explicit Ollama/TEI embedder config before using the new default runtime.", API_KEY_ENV_PATTERN2, MINSYNC_LOCK_HELD_EXIT_CODE = 3, MinSyncQueryError;
|
|
17517
|
+
var MINSYNC_OLLAMA_MIGRATION_MESSAGE = "This workspace uses the legacy 768-dimensional Ollama/TEI embedding path. Reindex explicitly, or pin an explicit Ollama/TEI embedder config before using the new default runtime.", API_KEY_ENV_PATTERN2, MINSYNC_LOCK_HELD_EXIT_CODE = 3, MINSYNC_PARTIAL_SYNC_EXIT_CODE = 6, MinSyncQueryError;
|
|
17502
17518
|
var init_client10 = __esm(() => {
|
|
17503
17519
|
init_embedder_config();
|
|
17504
17520
|
init_errors4();
|
|
@@ -17742,7 +17758,7 @@ function isGitHubAsset(value) {
|
|
|
17742
17758
|
function isRecord12(value) {
|
|
17743
17759
|
return typeof value === "object" && value !== null;
|
|
17744
17760
|
}
|
|
17745
|
-
var LATEST_RELEASE_URL = "https://api.github.com/repos/NomaDamas/MinSync/releases/latest", SHA256_HEX_PATTERN, MINSYNC_VERSION = "0.4.
|
|
17761
|
+
var LATEST_RELEASE_URL = "https://api.github.com/repos/NomaDamas/MinSync/releases/latest", SHA256_HEX_PATTERN, MINSYNC_VERSION = "0.4.8", MINSYNC_CARGO_INSTALL_TIMEOUT_MS, CARGO_PROBE_TIMEOUT_MS = 5000, MinSyncReleaseError;
|
|
17746
17762
|
var init_installer2 = __esm(() => {
|
|
17747
17763
|
init_process();
|
|
17748
17764
|
SHA256_HEX_PATTERN = /^[a-f0-9]{64}$/;
|
|
@@ -32259,6 +32275,7 @@ ${initialRetrievalContext ?? "Pending; continue only with a brief progress state
|
|
|
32259
32275
|
...summary.diagnostics,
|
|
32260
32276
|
...minsyncDiagnostics,
|
|
32261
32277
|
...stagingExcludedDiagnostics(minsync?.stagingExcluded),
|
|
32278
|
+
...fileSkippedDiagnostics(minsync?.filesFailed),
|
|
32262
32279
|
...everythingDiagnostics,
|
|
32263
32280
|
...fsearchDiagnostics
|
|
32264
32281
|
],
|
|
@@ -32895,6 +32912,14 @@ function stagingExcludedDiagnostics(excluded) {
|
|
|
32895
32912
|
source
|
|
32896
32913
|
}));
|
|
32897
32914
|
}
|
|
32915
|
+
function fileSkippedDiagnostics(failed) {
|
|
32916
|
+
return (failed ?? []).map((failure) => ({
|
|
32917
|
+
code: "minsync-file-skipped",
|
|
32918
|
+
severity: "warning",
|
|
32919
|
+
message: `MinSync skipped this file at the ${failure.stage} stage and will retry it on the next sync: ${sanitizeDiagnosticMessage(failure.error)}`,
|
|
32920
|
+
source: failure.path
|
|
32921
|
+
}));
|
|
32922
|
+
}
|
|
32898
32923
|
function toSearchDiagnostic(diagnostic) {
|
|
32899
32924
|
return {
|
|
32900
32925
|
code: diagnostic.code,
|
package/dist/core.js
CHANGED
|
@@ -5513,7 +5513,8 @@ class MinSyncClient {
|
|
|
5513
5513
|
restoreConfig();
|
|
5514
5514
|
return this.lockHeldResult(result.stderr);
|
|
5515
5515
|
}
|
|
5516
|
-
|
|
5516
|
+
const partial = !result.ok && result.code === MINSYNC_PARTIAL_SYNC_EXIT_CODE ? readPartialSync(result.stdout) : undefined;
|
|
5517
|
+
if (!result.ok && partial === undefined) {
|
|
5517
5518
|
restoreConfig();
|
|
5518
5519
|
return {
|
|
5519
5520
|
ok: false,
|
|
@@ -5533,10 +5534,12 @@ class MinSyncClient {
|
|
|
5533
5534
|
}
|
|
5534
5535
|
if (effective.identity)
|
|
5535
5536
|
this.writeIdentity(effective.identity);
|
|
5537
|
+
const filesFailed = partial?.filesFailed ?? [];
|
|
5536
5538
|
return {
|
|
5537
5539
|
ok: true,
|
|
5538
5540
|
synced: readSyncedCount(result.stdout),
|
|
5539
5541
|
workspacePath: this.workspacePath,
|
|
5542
|
+
...filesFailed.length > 0 ? { filesFailed } : {},
|
|
5540
5543
|
...identityChanged ? {
|
|
5541
5544
|
diagnostic: {
|
|
5542
5545
|
code: "embedding-identity-mismatch",
|
|
@@ -5568,6 +5571,19 @@ function readConfigSnapshot(configPath) {
|
|
|
5568
5571
|
throw error;
|
|
5569
5572
|
}
|
|
5570
5573
|
}
|
|
5574
|
+
function readPartialSync(stdout) {
|
|
5575
|
+
const parsed = parseJson(stdout);
|
|
5576
|
+
if (!isRecord4(parsed) || parsed.partial !== true)
|
|
5577
|
+
return;
|
|
5578
|
+
const failures = Array.isArray(parsed.files_failed) ? parsed.files_failed : [];
|
|
5579
|
+
return {
|
|
5580
|
+
filesFailed: failures.filter(isRecord4).map((failure) => ({
|
|
5581
|
+
path: typeof failure.path === "string" ? failure.path : "(unknown)",
|
|
5582
|
+
stage: typeof failure.stage === "string" ? failure.stage : "unknown",
|
|
5583
|
+
error: typeof failure.error === "string" ? failure.error : "unknown error"
|
|
5584
|
+
}))
|
|
5585
|
+
};
|
|
5586
|
+
}
|
|
5571
5587
|
function readSyncedCount(stdout) {
|
|
5572
5588
|
const parsed = parseJson(stdout);
|
|
5573
5589
|
if (!isRecord4(parsed))
|
|
@@ -5623,7 +5639,7 @@ function isIdentity(value) {
|
|
|
5623
5639
|
function isRecord4(value) {
|
|
5624
5640
|
return typeof value === "object" && value !== null;
|
|
5625
5641
|
}
|
|
5626
|
-
var MINSYNC_OLLAMA_MIGRATION_MESSAGE = "This workspace uses the legacy 768-dimensional Ollama/TEI embedding path. Reindex explicitly, or pin an explicit Ollama/TEI embedder config before using the new default runtime.", API_KEY_ENV_PATTERN, MINSYNC_LOCK_HELD_EXIT_CODE = 3, MinSyncQueryError;
|
|
5642
|
+
var MINSYNC_OLLAMA_MIGRATION_MESSAGE = "This workspace uses the legacy 768-dimensional Ollama/TEI embedding path. Reindex explicitly, or pin an explicit Ollama/TEI embedder config before using the new default runtime.", API_KEY_ENV_PATTERN, MINSYNC_LOCK_HELD_EXIT_CODE = 3, MINSYNC_PARTIAL_SYNC_EXIT_CODE = 6, MinSyncQueryError;
|
|
5627
5643
|
var init_client4 = __esm(() => {
|
|
5628
5644
|
init_embedder_config();
|
|
5629
5645
|
init_errors();
|
|
@@ -5867,7 +5883,7 @@ function isGitHubAsset(value) {
|
|
|
5867
5883
|
function isRecord5(value) {
|
|
5868
5884
|
return typeof value === "object" && value !== null;
|
|
5869
5885
|
}
|
|
5870
|
-
var LATEST_RELEASE_URL = "https://api.github.com/repos/NomaDamas/MinSync/releases/latest", SHA256_HEX_PATTERN, MINSYNC_VERSION = "0.4.
|
|
5886
|
+
var LATEST_RELEASE_URL = "https://api.github.com/repos/NomaDamas/MinSync/releases/latest", SHA256_HEX_PATTERN, MINSYNC_VERSION = "0.4.8", MINSYNC_CARGO_INSTALL_TIMEOUT_MS, CARGO_PROBE_TIMEOUT_MS = 5000, MinSyncReleaseError;
|
|
5871
5887
|
var init_installer2 = __esm(() => {
|
|
5872
5888
|
init_process();
|
|
5873
5889
|
SHA256_HEX_PATTERN = /^[a-f0-9]{64}$/;
|
|
@@ -21958,6 +21974,7 @@ ${initialRetrievalContext ?? "Pending; continue only with a brief progress state
|
|
|
21958
21974
|
...summary.diagnostics,
|
|
21959
21975
|
...minsyncDiagnostics,
|
|
21960
21976
|
...stagingExcludedDiagnostics(minsync?.stagingExcluded),
|
|
21977
|
+
...fileSkippedDiagnostics(minsync?.filesFailed),
|
|
21961
21978
|
...everythingDiagnostics,
|
|
21962
21979
|
...fsearchDiagnostics
|
|
21963
21980
|
],
|
|
@@ -22594,6 +22611,14 @@ function stagingExcludedDiagnostics(excluded) {
|
|
|
22594
22611
|
source
|
|
22595
22612
|
}));
|
|
22596
22613
|
}
|
|
22614
|
+
function fileSkippedDiagnostics(failed) {
|
|
22615
|
+
return (failed ?? []).map((failure) => ({
|
|
22616
|
+
code: "minsync-file-skipped",
|
|
22617
|
+
severity: "warning",
|
|
22618
|
+
message: `MinSync skipped this file at the ${failure.stage} stage and will retry it on the next sync: ${sanitizeDiagnosticMessage(failure.error)}`,
|
|
22619
|
+
source: failure.path
|
|
22620
|
+
}));
|
|
22621
|
+
}
|
|
22597
22622
|
function toSearchDiagnostic(diagnostic) {
|
|
22598
22623
|
return {
|
|
22599
22624
|
code: diagnostic.code,
|
package/dist/index.js
CHANGED
|
@@ -5513,7 +5513,8 @@ class MinSyncClient {
|
|
|
5513
5513
|
restoreConfig();
|
|
5514
5514
|
return this.lockHeldResult(result.stderr);
|
|
5515
5515
|
}
|
|
5516
|
-
|
|
5516
|
+
const partial = !result.ok && result.code === MINSYNC_PARTIAL_SYNC_EXIT_CODE ? readPartialSync(result.stdout) : undefined;
|
|
5517
|
+
if (!result.ok && partial === undefined) {
|
|
5517
5518
|
restoreConfig();
|
|
5518
5519
|
return {
|
|
5519
5520
|
ok: false,
|
|
@@ -5533,10 +5534,12 @@ class MinSyncClient {
|
|
|
5533
5534
|
}
|
|
5534
5535
|
if (effective.identity)
|
|
5535
5536
|
this.writeIdentity(effective.identity);
|
|
5537
|
+
const filesFailed = partial?.filesFailed ?? [];
|
|
5536
5538
|
return {
|
|
5537
5539
|
ok: true,
|
|
5538
5540
|
synced: readSyncedCount(result.stdout),
|
|
5539
5541
|
workspacePath: this.workspacePath,
|
|
5542
|
+
...filesFailed.length > 0 ? { filesFailed } : {},
|
|
5540
5543
|
...identityChanged ? {
|
|
5541
5544
|
diagnostic: {
|
|
5542
5545
|
code: "embedding-identity-mismatch",
|
|
@@ -5568,6 +5571,19 @@ function readConfigSnapshot(configPath) {
|
|
|
5568
5571
|
throw error;
|
|
5569
5572
|
}
|
|
5570
5573
|
}
|
|
5574
|
+
function readPartialSync(stdout) {
|
|
5575
|
+
const parsed = parseJson(stdout);
|
|
5576
|
+
if (!isRecord4(parsed) || parsed.partial !== true)
|
|
5577
|
+
return;
|
|
5578
|
+
const failures = Array.isArray(parsed.files_failed) ? parsed.files_failed : [];
|
|
5579
|
+
return {
|
|
5580
|
+
filesFailed: failures.filter(isRecord4).map((failure) => ({
|
|
5581
|
+
path: typeof failure.path === "string" ? failure.path : "(unknown)",
|
|
5582
|
+
stage: typeof failure.stage === "string" ? failure.stage : "unknown",
|
|
5583
|
+
error: typeof failure.error === "string" ? failure.error : "unknown error"
|
|
5584
|
+
}))
|
|
5585
|
+
};
|
|
5586
|
+
}
|
|
5571
5587
|
function readSyncedCount(stdout) {
|
|
5572
5588
|
const parsed = parseJson(stdout);
|
|
5573
5589
|
if (!isRecord4(parsed))
|
|
@@ -5623,7 +5639,7 @@ function isIdentity(value) {
|
|
|
5623
5639
|
function isRecord4(value) {
|
|
5624
5640
|
return typeof value === "object" && value !== null;
|
|
5625
5641
|
}
|
|
5626
|
-
var MINSYNC_OLLAMA_MIGRATION_MESSAGE = "This workspace uses the legacy 768-dimensional Ollama/TEI embedding path. Reindex explicitly, or pin an explicit Ollama/TEI embedder config before using the new default runtime.", API_KEY_ENV_PATTERN, MINSYNC_LOCK_HELD_EXIT_CODE = 3, MinSyncQueryError;
|
|
5642
|
+
var MINSYNC_OLLAMA_MIGRATION_MESSAGE = "This workspace uses the legacy 768-dimensional Ollama/TEI embedding path. Reindex explicitly, or pin an explicit Ollama/TEI embedder config before using the new default runtime.", API_KEY_ENV_PATTERN, MINSYNC_LOCK_HELD_EXIT_CODE = 3, MINSYNC_PARTIAL_SYNC_EXIT_CODE = 6, MinSyncQueryError;
|
|
5627
5643
|
var init_client4 = __esm(() => {
|
|
5628
5644
|
init_embedder_config();
|
|
5629
5645
|
init_errors();
|
|
@@ -5867,7 +5883,7 @@ function isGitHubAsset(value) {
|
|
|
5867
5883
|
function isRecord5(value) {
|
|
5868
5884
|
return typeof value === "object" && value !== null;
|
|
5869
5885
|
}
|
|
5870
|
-
var LATEST_RELEASE_URL = "https://api.github.com/repos/NomaDamas/MinSync/releases/latest", SHA256_HEX_PATTERN, MINSYNC_VERSION = "0.4.
|
|
5886
|
+
var LATEST_RELEASE_URL = "https://api.github.com/repos/NomaDamas/MinSync/releases/latest", SHA256_HEX_PATTERN, MINSYNC_VERSION = "0.4.8", MINSYNC_CARGO_INSTALL_TIMEOUT_MS, CARGO_PROBE_TIMEOUT_MS = 5000, MinSyncReleaseError;
|
|
5871
5887
|
var init_installer2 = __esm(() => {
|
|
5872
5888
|
init_process();
|
|
5873
5889
|
SHA256_HEX_PATTERN = /^[a-f0-9]{64}$/;
|
|
@@ -21958,6 +21974,7 @@ ${initialRetrievalContext ?? "Pending; continue only with a brief progress state
|
|
|
21958
21974
|
...summary.diagnostics,
|
|
21959
21975
|
...minsyncDiagnostics,
|
|
21960
21976
|
...stagingExcludedDiagnostics(minsync?.stagingExcluded),
|
|
21977
|
+
...fileSkippedDiagnostics(minsync?.filesFailed),
|
|
21961
21978
|
...everythingDiagnostics,
|
|
21962
21979
|
...fsearchDiagnostics
|
|
21963
21980
|
],
|
|
@@ -22594,6 +22611,14 @@ function stagingExcludedDiagnostics(excluded) {
|
|
|
22594
22611
|
source
|
|
22595
22612
|
}));
|
|
22596
22613
|
}
|
|
22614
|
+
function fileSkippedDiagnostics(failed) {
|
|
22615
|
+
return (failed ?? []).map((failure) => ({
|
|
22616
|
+
code: "minsync-file-skipped",
|
|
22617
|
+
severity: "warning",
|
|
22618
|
+
message: `MinSync skipped this file at the ${failure.stage} stage and will retry it on the next sync: ${sanitizeDiagnosticMessage(failure.error)}`,
|
|
22619
|
+
source: failure.path
|
|
22620
|
+
}));
|
|
22621
|
+
}
|
|
22597
22622
|
function toSearchDiagnostic(diagnostic) {
|
|
22598
22623
|
return {
|
|
22599
22624
|
code: diagnostic.code,
|
package/dist/mcp/index.js
CHANGED
|
@@ -5514,7 +5514,8 @@ class MinSyncClient {
|
|
|
5514
5514
|
restoreConfig();
|
|
5515
5515
|
return this.lockHeldResult(result.stderr);
|
|
5516
5516
|
}
|
|
5517
|
-
|
|
5517
|
+
const partial = !result.ok && result.code === MINSYNC_PARTIAL_SYNC_EXIT_CODE ? readPartialSync(result.stdout) : undefined;
|
|
5518
|
+
if (!result.ok && partial === undefined) {
|
|
5518
5519
|
restoreConfig();
|
|
5519
5520
|
return {
|
|
5520
5521
|
ok: false,
|
|
@@ -5534,10 +5535,12 @@ class MinSyncClient {
|
|
|
5534
5535
|
}
|
|
5535
5536
|
if (effective.identity)
|
|
5536
5537
|
this.writeIdentity(effective.identity);
|
|
5538
|
+
const filesFailed = partial?.filesFailed ?? [];
|
|
5537
5539
|
return {
|
|
5538
5540
|
ok: true,
|
|
5539
5541
|
synced: readSyncedCount(result.stdout),
|
|
5540
5542
|
workspacePath: this.workspacePath,
|
|
5543
|
+
...filesFailed.length > 0 ? { filesFailed } : {},
|
|
5541
5544
|
...identityChanged ? {
|
|
5542
5545
|
diagnostic: {
|
|
5543
5546
|
code: "embedding-identity-mismatch",
|
|
@@ -5569,6 +5572,19 @@ function readConfigSnapshot(configPath) {
|
|
|
5569
5572
|
throw error;
|
|
5570
5573
|
}
|
|
5571
5574
|
}
|
|
5575
|
+
function readPartialSync(stdout) {
|
|
5576
|
+
const parsed = parseJson(stdout);
|
|
5577
|
+
if (!isRecord4(parsed) || parsed.partial !== true)
|
|
5578
|
+
return;
|
|
5579
|
+
const failures = Array.isArray(parsed.files_failed) ? parsed.files_failed : [];
|
|
5580
|
+
return {
|
|
5581
|
+
filesFailed: failures.filter(isRecord4).map((failure) => ({
|
|
5582
|
+
path: typeof failure.path === "string" ? failure.path : "(unknown)",
|
|
5583
|
+
stage: typeof failure.stage === "string" ? failure.stage : "unknown",
|
|
5584
|
+
error: typeof failure.error === "string" ? failure.error : "unknown error"
|
|
5585
|
+
}))
|
|
5586
|
+
};
|
|
5587
|
+
}
|
|
5572
5588
|
function readSyncedCount(stdout) {
|
|
5573
5589
|
const parsed = parseJson(stdout);
|
|
5574
5590
|
if (!isRecord4(parsed))
|
|
@@ -5624,7 +5640,7 @@ function isIdentity(value) {
|
|
|
5624
5640
|
function isRecord4(value) {
|
|
5625
5641
|
return typeof value === "object" && value !== null;
|
|
5626
5642
|
}
|
|
5627
|
-
var MINSYNC_OLLAMA_MIGRATION_MESSAGE = "This workspace uses the legacy 768-dimensional Ollama/TEI embedding path. Reindex explicitly, or pin an explicit Ollama/TEI embedder config before using the new default runtime.", API_KEY_ENV_PATTERN, MINSYNC_LOCK_HELD_EXIT_CODE = 3, MinSyncQueryError;
|
|
5643
|
+
var MINSYNC_OLLAMA_MIGRATION_MESSAGE = "This workspace uses the legacy 768-dimensional Ollama/TEI embedding path. Reindex explicitly, or pin an explicit Ollama/TEI embedder config before using the new default runtime.", API_KEY_ENV_PATTERN, MINSYNC_LOCK_HELD_EXIT_CODE = 3, MINSYNC_PARTIAL_SYNC_EXIT_CODE = 6, MinSyncQueryError;
|
|
5628
5644
|
var init_client4 = __esm(() => {
|
|
5629
5645
|
init_embedder_config();
|
|
5630
5646
|
init_errors();
|
|
@@ -5868,7 +5884,7 @@ function isGitHubAsset(value) {
|
|
|
5868
5884
|
function isRecord5(value) {
|
|
5869
5885
|
return typeof value === "object" && value !== null;
|
|
5870
5886
|
}
|
|
5871
|
-
var LATEST_RELEASE_URL = "https://api.github.com/repos/NomaDamas/MinSync/releases/latest", SHA256_HEX_PATTERN, MINSYNC_VERSION = "0.4.
|
|
5887
|
+
var LATEST_RELEASE_URL = "https://api.github.com/repos/NomaDamas/MinSync/releases/latest", SHA256_HEX_PATTERN, MINSYNC_VERSION = "0.4.8", MINSYNC_CARGO_INSTALL_TIMEOUT_MS, CARGO_PROBE_TIMEOUT_MS = 5000, MinSyncReleaseError;
|
|
5872
5888
|
var init_installer2 = __esm(() => {
|
|
5873
5889
|
init_process();
|
|
5874
5890
|
SHA256_HEX_PATTERN = /^[a-f0-9]{64}$/;
|
|
@@ -21959,6 +21975,7 @@ ${initialRetrievalContext ?? "Pending; continue only with a brief progress state
|
|
|
21959
21975
|
...summary.diagnostics,
|
|
21960
21976
|
...minsyncDiagnostics,
|
|
21961
21977
|
...stagingExcludedDiagnostics(minsync?.stagingExcluded),
|
|
21978
|
+
...fileSkippedDiagnostics(minsync?.filesFailed),
|
|
21962
21979
|
...everythingDiagnostics,
|
|
21963
21980
|
...fsearchDiagnostics
|
|
21964
21981
|
],
|
|
@@ -22595,6 +22612,14 @@ function stagingExcludedDiagnostics(excluded) {
|
|
|
22595
22612
|
source
|
|
22596
22613
|
}));
|
|
22597
22614
|
}
|
|
22615
|
+
function fileSkippedDiagnostics(failed) {
|
|
22616
|
+
return (failed ?? []).map((failure) => ({
|
|
22617
|
+
code: "minsync-file-skipped",
|
|
22618
|
+
severity: "warning",
|
|
22619
|
+
message: `MinSync skipped this file at the ${failure.stage} stage and will retry it on the next sync: ${sanitizeDiagnosticMessage(failure.error)}`,
|
|
22620
|
+
source: failure.path
|
|
22621
|
+
}));
|
|
22622
|
+
}
|
|
22598
22623
|
function toSearchDiagnostic(diagnostic) {
|
|
22599
22624
|
return {
|
|
22600
22625
|
code: diagnostic.code,
|
package/dist/minsync/index.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ export { type EnsureMinSyncBinaryOptions, ensureMinSyncBinary, executableName, f
|
|
|
5
5
|
export { ensureLocalEmbedder, LocalEmbedderError, type LocalEmbedderPreflightOptions, } from "./local-embedder.js";
|
|
6
6
|
export { MinSyncHybridMethod, type MinSyncHybridMethodOptions, MinSyncVectorMethod, type MinSyncVectorMethodOptions, } from "./method.js";
|
|
7
7
|
export { MINSYNC_FILES_SUBDIR, MINSYNC_SUBDIR, minSyncDocumentPath, minSyncWorkspaceRoot } from "./paths.js";
|
|
8
|
-
export type { MinSyncChunkerConfig, MinSyncDiagnostic, MinSyncEmbedderConfig, MinSyncOptions, MinSyncQueryHit, MinSyncSyncResult, } from "./types.js";
|
|
8
|
+
export type { MinSyncChunkerConfig, MinSyncDiagnostic, MinSyncEmbedderConfig, MinSyncFileFailure, MinSyncOptions, MinSyncQueryHit, MinSyncSyncResult, } from "./types.js";
|
|
9
9
|
export { buildMinSyncPathMap, type MinSyncWorkspaceEntry, type MinSyncWorkspaceSyncResult, syncMinSyncWorkspace, } from "./workspace.js";
|
package/dist/minsync/types.d.ts
CHANGED
|
@@ -39,6 +39,13 @@ export interface MinSyncSyncResult {
|
|
|
39
39
|
* unindexable document is never dropped silently.
|
|
40
40
|
*/
|
|
41
41
|
readonly stagingExcluded?: readonly string[];
|
|
42
|
+
/** Files MinSync skipped (exit 6, `partial`); the sync itself completed and the next sync retries them. */
|
|
43
|
+
readonly filesFailed?: readonly MinSyncFileFailure[];
|
|
44
|
+
}
|
|
45
|
+
export interface MinSyncFileFailure {
|
|
46
|
+
readonly path: string;
|
|
47
|
+
readonly stage: string;
|
|
48
|
+
readonly error: string;
|
|
42
49
|
}
|
|
43
50
|
export type MinSyncDiagnosticCode = "embedder-unavailable" | "sync-failed" | "minsync-lock-held" | "no-hit" | "embedding-identity-mismatch" | "migration-required";
|
|
44
51
|
export interface MinSyncDiagnostic {
|
package/package.json
CHANGED
|
@@ -221,6 +221,7 @@ to retry those files once without re-indexing healthy ones.
|
|
|
221
221
|
| `stale-index` | Sources changed since last refresh | `autorag refresh --method parsed,minsync` |
|
|
222
222
|
| `index-not-ready` | Index missing or never built | `autorag refresh --json` |
|
|
223
223
|
| `minsync-sync-failed` | MinSync indexing failed; the message carries MinSync's own reason | Fix the reported cause, then `autorag refresh --method minsync` |
|
|
224
|
+
| `minsync-file-skipped` | MinSync skipped one file (unreadable, unparsable, or rejected by the embedder) and kept its older chunks; retried on the next sync | Fix that file's permissions/content, then `autorag refresh --method minsync` |
|
|
224
225
|
| `minsync-lock-held` | Another `minsync` run holds `.minsync/lock`, often an orphan left by a killed host; retryable | Wait for it to finish or stop that `minsync` process, then `autorag refresh --method minsync` |
|
|
225
226
|
| `jikji-unavailable` | Jikji binary missing or install failed | Check cargo, retry refresh |
|
|
226
227
|
| `everything-index-failed` | Windows Everything instance could not start or index; message carries ES exit code and stderr | Fix the reported cause, `autorag refresh --method everything --json` |
|
|
@@ -169,7 +169,7 @@ AUTORAG_CONFIG=/absolute/path/to/.autorag/config.json autorag lite refresh --jso
|
|
|
169
169
|
are missing or broken, run a full refresh or return to setup rather than
|
|
170
170
|
silently degrading to lexical-only search.
|
|
171
171
|
- MinSync's default embedder is in-process native Qwen3 embeddings
|
|
172
|
-
(`native:Qwen/Qwen3-Embedding-0.6B`, 1024 dimensions, MinSync 0.4.
|
|
172
|
+
(`native:Qwen/Qwen3-Embedding-0.6B`, 1024 dimensions, MinSync 0.4.8): no
|
|
173
173
|
embedder flags, no API key, and no external daemon (such as Ollama) are
|
|
174
174
|
needed, and no corpus text leaves the machine. For gateway-profiled
|
|
175
175
|
embeddings, prefetch with `autorag models prefetch --profile qwen3-embedding-0.6b`.
|
|
@@ -190,7 +190,7 @@ told duplicate exclusion is off. Set `"excludeExactDuplicates": false` to
|
|
|
190
190
|
index every copy.
|
|
191
191
|
|
|
192
192
|
MinSync's default embedder is in-process native Qwen3 embeddings
|
|
193
|
-
(`native:Qwen/Qwen3-Embedding-0.6B`, 1024 dimensions, MinSync 0.4.
|
|
193
|
+
(`native:Qwen/Qwen3-Embedding-0.6B`, 1024 dimensions, MinSync 0.4.8). The
|
|
194
194
|
default needs no embedder flags, no API key, and no external daemon (such as
|
|
195
195
|
Ollama) — all embeddings run in-process locally and privately. For workspaces
|
|
196
196
|
using the loopback llama-server gateway, prefetch the verified model with
|