unbrowse 3.5.3 → 3.5.4
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/cli.js +1 -6
- package/dist/mcp.js +4 -10
- package/dist/server.js +5 -38
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -31,7 +31,7 @@ var __promiseAll = (args) => Promise.all(args);
|
|
|
31
31
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
32
32
|
|
|
33
33
|
// ../../src/build-info.generated.ts
|
|
34
|
-
var BUILD_RELEASE_VERSION = "3.5.
|
|
34
|
+
var BUILD_RELEASE_VERSION = "3.5.4", BUILD_GIT_SHA = "e14c693e42f0", BUILD_CODE_HASH = "5d9ebf619c61", BUILD_RELEASE_MANIFEST_BASE64 = "eyJzY2hlbWFfdmVyc2lvbiI6MSwicmVsZWFzZV92ZXJzaW9uIjoiMy41LjQiLCJnaXRfc2hhIjoiZTE0YzY5M2U0MmYwIiwiY29kZV9oYXNoIjoiNWQ5ZWJmNjE5YzYxIiwidHJhY2VfdmVyc2lvbiI6IjVkOWViZjYxOWM2MUBlMTRjNjkzZTQyZjAiLCJpc3N1ZWRfYXQiOiIyMDI2LTA0LTA5VDE4OjEyOjAxLjE4OVoifQ", BUILD_RELEASE_MANIFEST_SIGNATURE = "MQYUcKr6SaFhd8PR79a_yn8ew_74o9mSDnH47V0Jqm0", BUILD_DEFAULT_BACKEND_URL = "https://beta-api.unbrowse.ai";
|
|
35
35
|
|
|
36
36
|
// ../../src/version.ts
|
|
37
37
|
import { createHash } from "crypto";
|
|
@@ -4214,11 +4214,6 @@ async function cmdResolve(flags) {
|
|
|
4214
4214
|
const skillId = resolveSkillId();
|
|
4215
4215
|
if (skillId && endpoints.length > 0) {
|
|
4216
4216
|
const bestEndpoint = endpoints[0];
|
|
4217
|
-
if (endpointNeedsThirdPartyTermsConfirmation(bestEndpoint) && !flags["confirm-third-party-terms"]) {
|
|
4218
|
-
info(`Auto-execute skipped: ${bestEndpoint.description ?? bestEndpoint.endpoint_id} requires explicit third-party terms confirmation` + (typeof bestEndpoint.third_party_terms_policy_domain === "string" ? ` for ${bestEndpoint.third_party_terms_policy_domain}` : "") + ". Re-run with --confirm-third-party-terms only after the user explicitly confirms.");
|
|
4219
|
-
output(result, !!flags.pretty);
|
|
4220
|
-
return;
|
|
4221
|
-
}
|
|
4222
4217
|
info(`Auto-executing endpoint: ${bestEndpoint.description ?? bestEndpoint.endpoint_id}`);
|
|
4223
4218
|
result = await withPendingNotice(api2("POST", `/v1/skills/${skillId}/execute`, execBody(bestEndpoint.endpoint_id)), "Executing best endpoint...");
|
|
4224
4219
|
}
|
package/dist/mcp.js
CHANGED
|
@@ -225,11 +225,11 @@ import { dirname, join, parse } from "path";
|
|
|
225
225
|
import { fileURLToPath as fileURLToPath2 } from "url";
|
|
226
226
|
|
|
227
227
|
// ../../src/build-info.generated.ts
|
|
228
|
-
var BUILD_RELEASE_VERSION = "3.5.
|
|
229
|
-
var BUILD_GIT_SHA = "
|
|
228
|
+
var BUILD_RELEASE_VERSION = "3.5.4";
|
|
229
|
+
var BUILD_GIT_SHA = "e14c693e42f0";
|
|
230
230
|
var BUILD_CODE_HASH = "5d9ebf619c61";
|
|
231
|
-
var BUILD_RELEASE_MANIFEST_BASE64 = "
|
|
232
|
-
var BUILD_RELEASE_MANIFEST_SIGNATURE = "
|
|
231
|
+
var BUILD_RELEASE_MANIFEST_BASE64 = "eyJzY2hlbWFfdmVyc2lvbiI6MSwicmVsZWFzZV92ZXJzaW9uIjoiMy41LjQiLCJnaXRfc2hhIjoiZTE0YzY5M2U0MmYwIiwiY29kZV9oYXNoIjoiNWQ5ZWJmNjE5YzYxIiwidHJhY2VfdmVyc2lvbiI6IjVkOWViZjYxOWM2MUBlMTRjNjkzZTQyZjAiLCJpc3N1ZWRfYXQiOiIyMDI2LTA0LTA5VDE4OjEyOjAxLjE4OVoifQ";
|
|
232
|
+
var BUILD_RELEASE_MANIFEST_SIGNATURE = "MQYUcKr6SaFhd8PR79a_yn8ew_74o9mSDnH47V0Jqm0";
|
|
233
233
|
var BUILD_DEFAULT_BACKEND_URL = "https://beta-api.unbrowse.ai";
|
|
234
234
|
|
|
235
235
|
// ../../src/version.ts
|
|
@@ -1585,12 +1585,6 @@ async function executeResolvedEndpoint(result, args, endpointId) {
|
|
|
1585
1585
|
if (!selected)
|
|
1586
1586
|
return { error: "no executable endpoint available" };
|
|
1587
1587
|
const selectedEndpoint = available.find((endpoint) => isPlainObject(endpoint) && endpoint.endpoint_id === selected);
|
|
1588
|
-
if (isPlainObject(selectedEndpoint) && selectedEndpoint.requires_third_party_terms_confirmation === true && args.confirm_third_party_terms !== true) {
|
|
1589
|
-
return {
|
|
1590
|
-
error: "third_party_terms_confirmation_required",
|
|
1591
|
-
message: `Selected endpoint requires explicit third-party terms confirmation` + (typeof selectedEndpoint.third_party_terms_policy_domain === "string" ? ` for ${selectedEndpoint.third_party_terms_policy_domain}` : "") + ". Re-run with confirm_third_party_terms: true only after the user explicitly confirms."
|
|
1592
|
-
};
|
|
1593
|
-
}
|
|
1594
1588
|
return api2("POST", `/v1/skills/${skillId}/execute`, {
|
|
1595
1589
|
intent: args.intent,
|
|
1596
1590
|
params: {
|
package/dist/server.js
CHANGED
|
@@ -7096,7 +7096,7 @@ var init_capture = __esm(async () => {
|
|
|
7096
7096
|
});
|
|
7097
7097
|
|
|
7098
7098
|
// ../../src/build-info.generated.ts
|
|
7099
|
-
var BUILD_RELEASE_VERSION = "3.5.
|
|
7099
|
+
var BUILD_RELEASE_VERSION = "3.5.4", BUILD_GIT_SHA = "e14c693e42f0", BUILD_CODE_HASH = "5d9ebf619c61", BUILD_RELEASE_MANIFEST_BASE64 = "eyJzY2hlbWFfdmVyc2lvbiI6MSwicmVsZWFzZV92ZXJzaW9uIjoiMy41LjQiLCJnaXRfc2hhIjoiZTE0YzY5M2U0MmYwIiwiY29kZV9oYXNoIjoiNWQ5ZWJmNjE5YzYxIiwidHJhY2VfdmVyc2lvbiI6IjVkOWViZjYxOWM2MUBlMTRjNjkzZTQyZjAiLCJpc3N1ZWRfYXQiOiIyMDI2LTA0LTA5VDE4OjEyOjAxLjE4OVoifQ", BUILD_RELEASE_MANIFEST_SIGNATURE = "MQYUcKr6SaFhd8PR79a_yn8ew_74o9mSDnH47V0Jqm0", BUILD_DEFAULT_BACKEND_URL = "https://beta-api.unbrowse.ai";
|
|
7100
7100
|
|
|
7101
7101
|
// ../../src/version.ts
|
|
7102
7102
|
import { createHash } from "crypto";
|
|
@@ -16587,23 +16587,7 @@ async function executeEndpoint(skill, endpoint, params = {}, projection, options
|
|
|
16587
16587
|
}
|
|
16588
16588
|
if (endpointRequiresThirdPartyTermsConfirmation(endpoint) && !options?.confirm_third_party_terms) {
|
|
16589
16589
|
const policy = getEndpointPolicy(endpoint);
|
|
16590
|
-
|
|
16591
|
-
trace: stampTrace({
|
|
16592
|
-
trace_id: nanoid6(),
|
|
16593
|
-
skill_id: skill.skill_id,
|
|
16594
|
-
endpoint_id: endpoint.endpoint_id,
|
|
16595
|
-
started_at: new Date().toISOString(),
|
|
16596
|
-
completed_at: new Date().toISOString(),
|
|
16597
|
-
success: false,
|
|
16598
|
-
error: "third_party_terms_confirmation_required"
|
|
16599
|
-
}),
|
|
16600
|
-
result: {
|
|
16601
|
-
error: "third_party_terms_confirmation_required",
|
|
16602
|
-
message: `This endpoint may violate third-party site terms for ${policy.policy_domain}. Pass confirm_third_party_terms: true only after the user explicitly confirms they want to proceed.`,
|
|
16603
|
-
policy_domain: policy.policy_domain,
|
|
16604
|
-
policy_reason: policy.reason
|
|
16605
|
-
}
|
|
16606
|
-
};
|
|
16590
|
+
log("exec", `third-party terms flagged for ${policy.policy_domain} (not enforced)`);
|
|
16607
16591
|
}
|
|
16608
16592
|
if (endpoint.idempotency === "unsafe" && !options?.confirm_unsafe) {
|
|
16609
16593
|
return {
|
|
@@ -16745,27 +16729,10 @@ async function executeEndpoint(skill, endpoint, params = {}, projection, options
|
|
|
16745
16729
|
}
|
|
16746
16730
|
}
|
|
16747
16731
|
const hasAuthContext = cookies.length > 0 || Object.keys(authHeaders).length > 0 || !!skill.auth_profile_ref || endpoint.semantic?.auth_required === true;
|
|
16748
|
-
if (!
|
|
16732
|
+
if (!hasAuthContext) {
|
|
16749
16733
|
const allowed = await isAllowedByRobots(url);
|
|
16750
|
-
if (!allowed)
|
|
16751
|
-
|
|
16752
|
-
log("exec", `robots.txt blocked ${url}`);
|
|
16753
|
-
return {
|
|
16754
|
-
trace: stampTrace({
|
|
16755
|
-
trace_id: traceId,
|
|
16756
|
-
skill_id: skill.skill_id,
|
|
16757
|
-
endpoint_id: endpoint.endpoint_id,
|
|
16758
|
-
started_at: startedAt,
|
|
16759
|
-
completed_at: new Date().toISOString(),
|
|
16760
|
-
success: false,
|
|
16761
|
-
error: "robots_txt_disallowed"
|
|
16762
|
-
}),
|
|
16763
|
-
result: {
|
|
16764
|
-
error: "robots_txt_disallowed",
|
|
16765
|
-
message: `robots.txt disallows access to ${url} for the Unbrowse user-agent.`
|
|
16766
|
-
}
|
|
16767
|
-
};
|
|
16768
|
-
}
|
|
16734
|
+
if (!allowed)
|
|
16735
|
+
log("exec", `robots.txt would block ${url} (not enforced)`);
|
|
16769
16736
|
}
|
|
16770
16737
|
const structuredReplayUrl = isSafe ? deriveStructuredDataReplayUrl(url) : url;
|
|
16771
16738
|
const hasStructuredReplay = structuredReplayUrl !== url;
|