@probelabs/probe 0.6.0-rc318 → 0.6.0-rc319
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/bin/binaries/{probe-v0.6.0-rc318-aarch64-apple-darwin.tar.gz → probe-v0.6.0-rc319-aarch64-apple-darwin.tar.gz} +0 -0
- package/bin/binaries/{probe-v0.6.0-rc318-aarch64-unknown-linux-musl.tar.gz → probe-v0.6.0-rc319-aarch64-unknown-linux-musl.tar.gz} +0 -0
- package/bin/binaries/{probe-v0.6.0-rc318-x86_64-apple-darwin.tar.gz → probe-v0.6.0-rc319-x86_64-apple-darwin.tar.gz} +0 -0
- package/bin/binaries/{probe-v0.6.0-rc318-x86_64-pc-windows-msvc.zip → probe-v0.6.0-rc319-x86_64-pc-windows-msvc.zip} +0 -0
- package/bin/binaries/{probe-v0.6.0-rc318-x86_64-unknown-linux-musl.tar.gz → probe-v0.6.0-rc319-x86_64-unknown-linux-musl.tar.gz} +0 -0
- package/build/tools/vercel.js +7 -9
- package/cjs/agent/ProbeAgent.cjs +7 -6
- package/cjs/index.cjs +7 -6
- package/package.json +1 -1
- package/src/tools/vercel.js +7 -9
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/build/tools/vercel.js
CHANGED
|
@@ -719,14 +719,12 @@ export const searchTool = (options = {}) => {
|
|
|
719
719
|
// ── Delegate-level semantic dedup ────────────────────────────
|
|
720
720
|
// Each delegate is a full flash agent session (minutes, not seconds).
|
|
721
721
|
// Use LLM to detect semantic duplicates and suggest rewrites.
|
|
722
|
-
// Compare against ALL previous delegations (not filtered by path) because
|
|
723
|
-
// the parent model often narrows the path while asking the same concept
|
|
724
|
-
// (e.g., "dedup" at /src → "deduplicate" at /src/search.js).
|
|
725
722
|
const delegatePath = searchPath || '';
|
|
723
|
+
const samePathDelegations = previousDelegations.filter(d => d.path === delegatePath);
|
|
726
724
|
|
|
727
725
|
let effectiveQuery = searchQuery;
|
|
728
726
|
|
|
729
|
-
if (
|
|
727
|
+
if (samePathDelegations.length > 0) {
|
|
730
728
|
const dedupProvider = options.searchDelegateProvider || process.env.PROBE_SEARCH_DELEGATE_PROVIDER || options.provider || process.env.FORCE_PROVIDER || null;
|
|
731
729
|
const dedupModelName = options.searchDelegateModel || process.env.PROBE_SEARCH_DELEGATE_MODEL || options.model || process.env.MODEL_NAME || null;
|
|
732
730
|
// Lazily create the dedup model (same provider/model as delegate)
|
|
@@ -742,8 +740,8 @@ export const searchTool = (options = {}) => {
|
|
|
742
740
|
|
|
743
741
|
const dedupSpanAttrs = {
|
|
744
742
|
'dedup.query': searchQuery,
|
|
745
|
-
'dedup.previous_count': String(
|
|
746
|
-
'dedup.previous_queries':
|
|
743
|
+
'dedup.previous_count': String(samePathDelegations.length),
|
|
744
|
+
'dedup.previous_queries': samePathDelegations.map(d => d.query).join(' | '),
|
|
747
745
|
'dedup.provider': dedupProvider || '',
|
|
748
746
|
'dedup.model': dedupModelName || '',
|
|
749
747
|
'dedup.model_available': cachedDedupModel ? 'true' : 'false',
|
|
@@ -751,7 +749,7 @@ export const searchTool = (options = {}) => {
|
|
|
751
749
|
|
|
752
750
|
const dedup = options.tracer?.withSpan
|
|
753
751
|
? await options.tracer.withSpan('search.delegate.dedup', async () => {
|
|
754
|
-
return await checkDelegateDedup(searchQuery,
|
|
752
|
+
return await checkDelegateDedup(searchQuery, samePathDelegations, cachedDedupModel, debug);
|
|
755
753
|
}, dedupSpanAttrs, (span, result) => {
|
|
756
754
|
span.setAttributes({
|
|
757
755
|
'dedup.action': result.action,
|
|
@@ -760,14 +758,14 @@ export const searchTool = (options = {}) => {
|
|
|
760
758
|
'dedup.error': result.error || '',
|
|
761
759
|
});
|
|
762
760
|
})
|
|
763
|
-
: await checkDelegateDedup(searchQuery,
|
|
761
|
+
: await checkDelegateDedup(searchQuery, samePathDelegations, cachedDedupModel, debug);
|
|
764
762
|
|
|
765
763
|
if (debug) {
|
|
766
764
|
console.error(`[DEDUP-LLM] Query: "${searchQuery}" → ${dedup.action}: ${dedup.reason}${dedup.rewritten ? ` → "${dedup.rewritten}"` : ''}`);
|
|
767
765
|
}
|
|
768
766
|
|
|
769
767
|
if (dedup.action === 'block') {
|
|
770
|
-
const prevQueries =
|
|
768
|
+
const prevQueries = samePathDelegations.map(d => `"${d.query}"`).join(', ');
|
|
771
769
|
return `DELEGATE BLOCKED: "${searchQuery}" is semantically duplicate of previous delegation(s) [${prevQueries}]. ${dedup.reason}\n\nDo NOT re-delegate the same concept. Use extract() on files already found, or synthesize your answer from existing results.`;
|
|
772
770
|
}
|
|
773
771
|
|
package/cjs/agent/ProbeAgent.cjs
CHANGED
|
@@ -32567,8 +32567,9 @@ Change your strategy:${scopeHint}
|
|
|
32567
32567
|
}
|
|
32568
32568
|
}
|
|
32569
32569
|
const delegatePath = searchPath || "";
|
|
32570
|
+
const samePathDelegations = previousDelegations.filter((d) => d.path === delegatePath);
|
|
32570
32571
|
let effectiveQuery = searchQuery;
|
|
32571
|
-
if (
|
|
32572
|
+
if (samePathDelegations.length > 0) {
|
|
32572
32573
|
const dedupProvider = options.searchDelegateProvider || process.env.PROBE_SEARCH_DELEGATE_PROVIDER || options.provider || process.env.FORCE_PROVIDER || null;
|
|
32573
32574
|
const dedupModelName = options.searchDelegateModel || process.env.PROBE_SEARCH_DELEGATE_MODEL || options.model || process.env.MODEL_NAME || null;
|
|
32574
32575
|
if (cachedDedupModel === void 0) {
|
|
@@ -32582,14 +32583,14 @@ Change your strategy:${scopeHint}
|
|
|
32582
32583
|
}
|
|
32583
32584
|
const dedupSpanAttrs = {
|
|
32584
32585
|
"dedup.query": searchQuery,
|
|
32585
|
-
"dedup.previous_count": String(
|
|
32586
|
-
"dedup.previous_queries":
|
|
32586
|
+
"dedup.previous_count": String(samePathDelegations.length),
|
|
32587
|
+
"dedup.previous_queries": samePathDelegations.map((d) => d.query).join(" | "),
|
|
32587
32588
|
"dedup.provider": dedupProvider || "",
|
|
32588
32589
|
"dedup.model": dedupModelName || "",
|
|
32589
32590
|
"dedup.model_available": cachedDedupModel ? "true" : "false"
|
|
32590
32591
|
};
|
|
32591
32592
|
const dedup = options.tracer?.withSpan ? await options.tracer.withSpan("search.delegate.dedup", async () => {
|
|
32592
|
-
return await checkDelegateDedup(searchQuery,
|
|
32593
|
+
return await checkDelegateDedup(searchQuery, samePathDelegations, cachedDedupModel, debug);
|
|
32593
32594
|
}, dedupSpanAttrs, (span, result) => {
|
|
32594
32595
|
span.setAttributes({
|
|
32595
32596
|
"dedup.action": result.action,
|
|
@@ -32597,12 +32598,12 @@ Change your strategy:${scopeHint}
|
|
|
32597
32598
|
"dedup.rewritten": result.rewritten || "",
|
|
32598
32599
|
"dedup.error": result.error || ""
|
|
32599
32600
|
});
|
|
32600
|
-
}) : await checkDelegateDedup(searchQuery,
|
|
32601
|
+
}) : await checkDelegateDedup(searchQuery, samePathDelegations, cachedDedupModel, debug);
|
|
32601
32602
|
if (debug) {
|
|
32602
32603
|
console.error(`[DEDUP-LLM] Query: "${searchQuery}" \u2192 ${dedup.action}: ${dedup.reason}${dedup.rewritten ? ` \u2192 "${dedup.rewritten}"` : ""}`);
|
|
32603
32604
|
}
|
|
32604
32605
|
if (dedup.action === "block") {
|
|
32605
|
-
const prevQueries =
|
|
32606
|
+
const prevQueries = samePathDelegations.map((d) => `"${d.query}"`).join(", ");
|
|
32606
32607
|
return `DELEGATE BLOCKED: "${searchQuery}" is semantically duplicate of previous delegation(s) [${prevQueries}]. ${dedup.reason}
|
|
32607
32608
|
|
|
32608
32609
|
Do NOT re-delegate the same concept. Use extract() on files already found, or synthesize your answer from existing results.`;
|
package/cjs/index.cjs
CHANGED
|
@@ -107983,8 +107983,9 @@ Change your strategy:${scopeHint}
|
|
|
107983
107983
|
}
|
|
107984
107984
|
}
|
|
107985
107985
|
const delegatePath = searchPath || "";
|
|
107986
|
+
const samePathDelegations = previousDelegations.filter((d) => d.path === delegatePath);
|
|
107986
107987
|
let effectiveQuery = searchQuery;
|
|
107987
|
-
if (
|
|
107988
|
+
if (samePathDelegations.length > 0) {
|
|
107988
107989
|
const dedupProvider = options.searchDelegateProvider || process.env.PROBE_SEARCH_DELEGATE_PROVIDER || options.provider || process.env.FORCE_PROVIDER || null;
|
|
107989
107990
|
const dedupModelName = options.searchDelegateModel || process.env.PROBE_SEARCH_DELEGATE_MODEL || options.model || process.env.MODEL_NAME || null;
|
|
107990
107991
|
if (cachedDedupModel === void 0) {
|
|
@@ -107998,14 +107999,14 @@ Change your strategy:${scopeHint}
|
|
|
107998
107999
|
}
|
|
107999
108000
|
const dedupSpanAttrs = {
|
|
108000
108001
|
"dedup.query": searchQuery,
|
|
108001
|
-
"dedup.previous_count": String(
|
|
108002
|
-
"dedup.previous_queries":
|
|
108002
|
+
"dedup.previous_count": String(samePathDelegations.length),
|
|
108003
|
+
"dedup.previous_queries": samePathDelegations.map((d) => d.query).join(" | "),
|
|
108003
108004
|
"dedup.provider": dedupProvider || "",
|
|
108004
108005
|
"dedup.model": dedupModelName || "",
|
|
108005
108006
|
"dedup.model_available": cachedDedupModel ? "true" : "false"
|
|
108006
108007
|
};
|
|
108007
108008
|
const dedup = options.tracer?.withSpan ? await options.tracer.withSpan("search.delegate.dedup", async () => {
|
|
108008
|
-
return await checkDelegateDedup(searchQuery,
|
|
108009
|
+
return await checkDelegateDedup(searchQuery, samePathDelegations, cachedDedupModel, debug);
|
|
108009
108010
|
}, dedupSpanAttrs, (span, result) => {
|
|
108010
108011
|
span.setAttributes({
|
|
108011
108012
|
"dedup.action": result.action,
|
|
@@ -108013,12 +108014,12 @@ Change your strategy:${scopeHint}
|
|
|
108013
108014
|
"dedup.rewritten": result.rewritten || "",
|
|
108014
108015
|
"dedup.error": result.error || ""
|
|
108015
108016
|
});
|
|
108016
|
-
}) : await checkDelegateDedup(searchQuery,
|
|
108017
|
+
}) : await checkDelegateDedup(searchQuery, samePathDelegations, cachedDedupModel, debug);
|
|
108017
108018
|
if (debug) {
|
|
108018
108019
|
console.error(`[DEDUP-LLM] Query: "${searchQuery}" \u2192 ${dedup.action}: ${dedup.reason}${dedup.rewritten ? ` \u2192 "${dedup.rewritten}"` : ""}`);
|
|
108019
108020
|
}
|
|
108020
108021
|
if (dedup.action === "block") {
|
|
108021
|
-
const prevQueries =
|
|
108022
|
+
const prevQueries = samePathDelegations.map((d) => `"${d.query}"`).join(", ");
|
|
108022
108023
|
return `DELEGATE BLOCKED: "${searchQuery}" is semantically duplicate of previous delegation(s) [${prevQueries}]. ${dedup.reason}
|
|
108023
108024
|
|
|
108024
108025
|
Do NOT re-delegate the same concept. Use extract() on files already found, or synthesize your answer from existing results.`;
|
package/package.json
CHANGED
package/src/tools/vercel.js
CHANGED
|
@@ -719,14 +719,12 @@ export const searchTool = (options = {}) => {
|
|
|
719
719
|
// ── Delegate-level semantic dedup ────────────────────────────
|
|
720
720
|
// Each delegate is a full flash agent session (minutes, not seconds).
|
|
721
721
|
// Use LLM to detect semantic duplicates and suggest rewrites.
|
|
722
|
-
// Compare against ALL previous delegations (not filtered by path) because
|
|
723
|
-
// the parent model often narrows the path while asking the same concept
|
|
724
|
-
// (e.g., "dedup" at /src → "deduplicate" at /src/search.js).
|
|
725
722
|
const delegatePath = searchPath || '';
|
|
723
|
+
const samePathDelegations = previousDelegations.filter(d => d.path === delegatePath);
|
|
726
724
|
|
|
727
725
|
let effectiveQuery = searchQuery;
|
|
728
726
|
|
|
729
|
-
if (
|
|
727
|
+
if (samePathDelegations.length > 0) {
|
|
730
728
|
const dedupProvider = options.searchDelegateProvider || process.env.PROBE_SEARCH_DELEGATE_PROVIDER || options.provider || process.env.FORCE_PROVIDER || null;
|
|
731
729
|
const dedupModelName = options.searchDelegateModel || process.env.PROBE_SEARCH_DELEGATE_MODEL || options.model || process.env.MODEL_NAME || null;
|
|
732
730
|
// Lazily create the dedup model (same provider/model as delegate)
|
|
@@ -742,8 +740,8 @@ export const searchTool = (options = {}) => {
|
|
|
742
740
|
|
|
743
741
|
const dedupSpanAttrs = {
|
|
744
742
|
'dedup.query': searchQuery,
|
|
745
|
-
'dedup.previous_count': String(
|
|
746
|
-
'dedup.previous_queries':
|
|
743
|
+
'dedup.previous_count': String(samePathDelegations.length),
|
|
744
|
+
'dedup.previous_queries': samePathDelegations.map(d => d.query).join(' | '),
|
|
747
745
|
'dedup.provider': dedupProvider || '',
|
|
748
746
|
'dedup.model': dedupModelName || '',
|
|
749
747
|
'dedup.model_available': cachedDedupModel ? 'true' : 'false',
|
|
@@ -751,7 +749,7 @@ export const searchTool = (options = {}) => {
|
|
|
751
749
|
|
|
752
750
|
const dedup = options.tracer?.withSpan
|
|
753
751
|
? await options.tracer.withSpan('search.delegate.dedup', async () => {
|
|
754
|
-
return await checkDelegateDedup(searchQuery,
|
|
752
|
+
return await checkDelegateDedup(searchQuery, samePathDelegations, cachedDedupModel, debug);
|
|
755
753
|
}, dedupSpanAttrs, (span, result) => {
|
|
756
754
|
span.setAttributes({
|
|
757
755
|
'dedup.action': result.action,
|
|
@@ -760,14 +758,14 @@ export const searchTool = (options = {}) => {
|
|
|
760
758
|
'dedup.error': result.error || '',
|
|
761
759
|
});
|
|
762
760
|
})
|
|
763
|
-
: await checkDelegateDedup(searchQuery,
|
|
761
|
+
: await checkDelegateDedup(searchQuery, samePathDelegations, cachedDedupModel, debug);
|
|
764
762
|
|
|
765
763
|
if (debug) {
|
|
766
764
|
console.error(`[DEDUP-LLM] Query: "${searchQuery}" → ${dedup.action}: ${dedup.reason}${dedup.rewritten ? ` → "${dedup.rewritten}"` : ''}`);
|
|
767
765
|
}
|
|
768
766
|
|
|
769
767
|
if (dedup.action === 'block') {
|
|
770
|
-
const prevQueries =
|
|
768
|
+
const prevQueries = samePathDelegations.map(d => `"${d.query}"`).join(', ');
|
|
771
769
|
return `DELEGATE BLOCKED: "${searchQuery}" is semantically duplicate of previous delegation(s) [${prevQueries}]. ${dedup.reason}\n\nDo NOT re-delegate the same concept. Use extract() on files already found, or synthesize your answer from existing results.`;
|
|
772
770
|
}
|
|
773
771
|
|