unbrowse 9.3.13 → 9.3.15

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unbrowse",
3
- "version": "9.3.13",
3
+ "version": "9.3.15",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/unbrowse-ai/unbrowse.git"
package/runtime/cli.js CHANGED
@@ -5053,7 +5053,7 @@ var init_cached_resolution = __esm(() => {
5053
5053
  });
5054
5054
 
5055
5055
  // .tmp-runtime-src/build-info.generated.ts
5056
- var BUILD_RELEASE_VERSION = "9.3.13", BUILD_GIT_SHA = "df93193cbf6d", BUILD_CODE_HASH = "5d9ebf619c61", BUILD_RELEASE_MANIFEST_BASE64 = "eyJzY2hlbWFfdmVyc2lvbiI6MSwicmVsZWFzZV92ZXJzaW9uIjoiOS4zLjEzIiwiZ2l0X3NoYSI6ImRmOTMxOTNjYmY2ZCIsImNvZGVfaGFzaCI6IjVkOWViZjYxOWM2MSIsInRyYWNlX3ZlcnNpb24iOiI1ZDllYmY2MTljNjFAZGY5MzE5M2NiZjZkIiwiaXNzdWVkX2F0IjoiMjAyNi0wNi0xNVQxMjozNzozMi44MjFaIn0", BUILD_RELEASE_MANIFEST_SIGNATURE = "5PqScnlmIJ3cL8Y20ebTDMTZKcFx2l1jIqH0EF8mJkI", BUILD_DEFAULT_BACKEND_URL = "https://beta-api.unbrowse.ai", BUILD_DEFAULT_PROFILE = "";
5056
+ var BUILD_RELEASE_VERSION = "9.3.15", BUILD_GIT_SHA = "0cbffe15e1b7", BUILD_CODE_HASH = "5d9ebf619c61", BUILD_RELEASE_MANIFEST_BASE64 = "eyJzY2hlbWFfdmVyc2lvbiI6MSwicmVsZWFzZV92ZXJzaW9uIjoiOS4zLjE1IiwiZ2l0X3NoYSI6IjBjYmZmZTE1ZTFiNyIsImNvZGVfaGFzaCI6IjVkOWViZjYxOWM2MSIsInRyYWNlX3ZlcnNpb24iOiI1ZDllYmY2MTljNjFAMGNiZmZlMTVlMWI3IiwiaXNzdWVkX2F0IjoiMjAyNi0wNi0xNVQxNDo0NDo1NC45MzJaIn0", BUILD_RELEASE_MANIFEST_SIGNATURE = "nLkbE_ZCtQv_AxouwMsouhmmcDkw12Rnc8NmR-8Gu_g", BUILD_DEFAULT_BACKEND_URL = "https://beta-api.unbrowse.ai", BUILD_DEFAULT_PROFILE = "";
5057
5057
 
5058
5058
  // .tmp-runtime-src/version.ts
5059
5059
  import { createHash as createHash5 } from "crypto";
@@ -182029,6 +182029,59 @@ async function resolveAndExecute(intent, params = {}, context, projection, optio
182029
182029
  }
182030
182030
  } catch {}
182031
182031
  }
182032
+ if (context?.url) {
182033
+ try {
182034
+ const rpcUrl = new URL(context.url);
182035
+ const isRpcPath = /\/[A-Za-z_][\w.]*\.[A-Za-z_]\w*\/[A-Za-z_]\w*\/?$/.test(rpcUrl.pathname);
182036
+ if (isRpcPath) {
182037
+ const rpcProbe = await fetch(context.url, {
182038
+ method: "POST",
182039
+ headers: {
182040
+ "content-type": "application/json",
182041
+ "connect-protocol-version": "1",
182042
+ Accept: "application/json"
182043
+ },
182044
+ body: "{}",
182045
+ signal: AbortSignal.timeout(12000),
182046
+ redirect: "follow"
182047
+ });
182048
+ const rpcCt = rpcProbe.headers.get("content-type") ?? "";
182049
+ if (rpcCt.includes("json")) {
182050
+ const rpcJson = await rpcProbe.json().catch(() => null);
182051
+ const looksConnect = rpcJson != null && (rpcProbe.ok || typeof rpcJson.code === "string" && ("message" in rpcJson));
182052
+ if (looksConnect) {
182053
+ const trace2 = {
182054
+ trace_id: nanoid(),
182055
+ skill_id: "grpc-endpoint",
182056
+ endpoint_id: "grpc-unary",
182057
+ started_at: new Date().toISOString(),
182058
+ completed_at: new Date().toISOString(),
182059
+ success: true,
182060
+ status_code: rpcProbe.status
182061
+ };
182062
+ const grpcResult = {
182063
+ status: "grpc_endpoint",
182064
+ grpc_endpoint: context.url,
182065
+ method: "POST",
182066
+ protocol: "connect/grpc-web (JSON over POST)",
182067
+ message: "This is a Connect/gRPC unary endpoint. POST a JSON body with the request message fields (Connect protocol over application/json; send header connect-protocol-version: 1).",
182068
+ probe_response: rpcJson,
182069
+ next_step: "POST a JSON request message to grpc_endpoint with content-type application/json and connect-protocol-version: 1."
182070
+ };
182071
+ const t = finalize("direct-fetch", grpcResult, "grpc-endpoint", undefined, trace2);
182072
+ console.log(`[grpc] ${context.url} confirmed Connect/gRPC unary endpoint`);
182073
+ return {
182074
+ result: grpcResult,
182075
+ trace: trace2,
182076
+ source: "direct-fetch",
182077
+ skill: undefined,
182078
+ timing: t
182079
+ };
182080
+ }
182081
+ }
182082
+ }
182083
+ } catch {}
182084
+ }
182032
182085
  if (viable.length === 0 && exaResults?.length) {
182033
182086
  const richHit = exaResults.find((r) => (r.highlights ?? []).join(" ").length >= 150);
182034
182087
  if (richHit) {
package/runtime/mcp.js CHANGED
@@ -36211,7 +36211,7 @@ var init_cached_resolution = __esm(() => {
36211
36211
  });
36212
36212
 
36213
36213
  // .tmp-runtime-src/build-info.generated.ts
36214
- var BUILD_RELEASE_VERSION = "9.3.13", BUILD_GIT_SHA = "df93193cbf6d", BUILD_CODE_HASH = "5d9ebf619c61", BUILD_RELEASE_MANIFEST_BASE64 = "eyJzY2hlbWFfdmVyc2lvbiI6MSwicmVsZWFzZV92ZXJzaW9uIjoiOS4zLjEzIiwiZ2l0X3NoYSI6ImRmOTMxOTNjYmY2ZCIsImNvZGVfaGFzaCI6IjVkOWViZjYxOWM2MSIsInRyYWNlX3ZlcnNpb24iOiI1ZDllYmY2MTljNjFAZGY5MzE5M2NiZjZkIiwiaXNzdWVkX2F0IjoiMjAyNi0wNi0xNVQxMjozNzozMi44MjFaIn0", BUILD_RELEASE_MANIFEST_SIGNATURE = "5PqScnlmIJ3cL8Y20ebTDMTZKcFx2l1jIqH0EF8mJkI", BUILD_DEFAULT_BACKEND_URL = "https://beta-api.unbrowse.ai", BUILD_DEFAULT_PROFILE = "";
36214
+ var BUILD_RELEASE_VERSION = "9.3.15", BUILD_GIT_SHA = "0cbffe15e1b7", BUILD_CODE_HASH = "5d9ebf619c61", BUILD_RELEASE_MANIFEST_BASE64 = "eyJzY2hlbWFfdmVyc2lvbiI6MSwicmVsZWFzZV92ZXJzaW9uIjoiOS4zLjE1IiwiZ2l0X3NoYSI6IjBjYmZmZTE1ZTFiNyIsImNvZGVfaGFzaCI6IjVkOWViZjYxOWM2MSIsInRyYWNlX3ZlcnNpb24iOiI1ZDllYmY2MTljNjFAMGNiZmZlMTVlMWI3IiwiaXNzdWVkX2F0IjoiMjAyNi0wNi0xNVQxNDo0NDo1NC45MzJaIn0", BUILD_RELEASE_MANIFEST_SIGNATURE = "nLkbE_ZCtQv_AxouwMsouhmmcDkw12Rnc8NmR-8Gu_g", BUILD_DEFAULT_BACKEND_URL = "https://beta-api.unbrowse.ai", BUILD_DEFAULT_PROFILE = "";
36215
36215
 
36216
36216
  // .tmp-runtime-src/version.ts
36217
36217
  import { createHash as createHash4 } from "crypto";
@@ -132538,6 +132538,59 @@ async function resolveAndExecute(intent, params = {}, context, projection, optio
132538
132538
  }
132539
132539
  } catch {}
132540
132540
  }
132541
+ if (context?.url) {
132542
+ try {
132543
+ const rpcUrl = new URL(context.url);
132544
+ const isRpcPath = /\/[A-Za-z_][\w.]*\.[A-Za-z_]\w*\/[A-Za-z_]\w*\/?$/.test(rpcUrl.pathname);
132545
+ if (isRpcPath) {
132546
+ const rpcProbe = await fetch(context.url, {
132547
+ method: "POST",
132548
+ headers: {
132549
+ "content-type": "application/json",
132550
+ "connect-protocol-version": "1",
132551
+ Accept: "application/json"
132552
+ },
132553
+ body: "{}",
132554
+ signal: AbortSignal.timeout(12000),
132555
+ redirect: "follow"
132556
+ });
132557
+ const rpcCt = rpcProbe.headers.get("content-type") ?? "";
132558
+ if (rpcCt.includes("json")) {
132559
+ const rpcJson = await rpcProbe.json().catch(() => null);
132560
+ const looksConnect = rpcJson != null && (rpcProbe.ok || typeof rpcJson.code === "string" && ("message" in rpcJson));
132561
+ if (looksConnect) {
132562
+ const trace2 = {
132563
+ trace_id: nanoid(),
132564
+ skill_id: "grpc-endpoint",
132565
+ endpoint_id: "grpc-unary",
132566
+ started_at: new Date().toISOString(),
132567
+ completed_at: new Date().toISOString(),
132568
+ success: true,
132569
+ status_code: rpcProbe.status
132570
+ };
132571
+ const grpcResult = {
132572
+ status: "grpc_endpoint",
132573
+ grpc_endpoint: context.url,
132574
+ method: "POST",
132575
+ protocol: "connect/grpc-web (JSON over POST)",
132576
+ message: "This is a Connect/gRPC unary endpoint. POST a JSON body with the request message fields (Connect protocol over application/json; send header connect-protocol-version: 1).",
132577
+ probe_response: rpcJson,
132578
+ next_step: "POST a JSON request message to grpc_endpoint with content-type application/json and connect-protocol-version: 1."
132579
+ };
132580
+ const t = finalize("direct-fetch", grpcResult, "grpc-endpoint", undefined, trace2);
132581
+ console.log(`[grpc] ${context.url} confirmed Connect/gRPC unary endpoint`);
132582
+ return {
132583
+ result: grpcResult,
132584
+ trace: trace2,
132585
+ source: "direct-fetch",
132586
+ skill: undefined,
132587
+ timing: t
132588
+ };
132589
+ }
132590
+ }
132591
+ }
132592
+ } catch {}
132593
+ }
132541
132594
  if (viable.length === 0 && exaResults?.length) {
132542
132595
  const richHit = exaResults.find((r) => (r.highlights ?? []).join(" ").length >= 150);
132543
132596
  if (richHit) {
@@ -196754,6 +196807,59 @@ async function resolveAndExecute2(intent, params = {}, context, projection, opti
196754
196807
  }
196755
196808
  } catch {}
196756
196809
  }
196810
+ if (context?.url) {
196811
+ try {
196812
+ const rpcUrl = new URL(context.url);
196813
+ const isRpcPath = /\/[A-Za-z_][\w.]*\.[A-Za-z_]\w*\/[A-Za-z_]\w*\/?$/.test(rpcUrl.pathname);
196814
+ if (isRpcPath) {
196815
+ const rpcProbe = await fetch(context.url, {
196816
+ method: "POST",
196817
+ headers: {
196818
+ "content-type": "application/json",
196819
+ "connect-protocol-version": "1",
196820
+ Accept: "application/json"
196821
+ },
196822
+ body: "{}",
196823
+ signal: AbortSignal.timeout(12000),
196824
+ redirect: "follow"
196825
+ });
196826
+ const rpcCt = rpcProbe.headers.get("content-type") ?? "";
196827
+ if (rpcCt.includes("json")) {
196828
+ const rpcJson = await rpcProbe.json().catch(() => null);
196829
+ const looksConnect = rpcJson != null && (rpcProbe.ok || typeof rpcJson.code === "string" && ("message" in rpcJson));
196830
+ if (looksConnect) {
196831
+ const trace2 = {
196832
+ trace_id: nanoid(),
196833
+ skill_id: "grpc-endpoint",
196834
+ endpoint_id: "grpc-unary",
196835
+ started_at: new Date().toISOString(),
196836
+ completed_at: new Date().toISOString(),
196837
+ success: true,
196838
+ status_code: rpcProbe.status
196839
+ };
196840
+ const grpcResult = {
196841
+ status: "grpc_endpoint",
196842
+ grpc_endpoint: context.url,
196843
+ method: "POST",
196844
+ protocol: "connect/grpc-web (JSON over POST)",
196845
+ message: "This is a Connect/gRPC unary endpoint. POST a JSON body with the request message fields (Connect protocol over application/json; send header connect-protocol-version: 1).",
196846
+ probe_response: rpcJson,
196847
+ next_step: "POST a JSON request message to grpc_endpoint with content-type application/json and connect-protocol-version: 1."
196848
+ };
196849
+ const t = finalize("direct-fetch", grpcResult, "grpc-endpoint", undefined, trace2);
196850
+ console.log(`[grpc] ${context.url} confirmed Connect/gRPC unary endpoint`);
196851
+ return {
196852
+ result: grpcResult,
196853
+ trace: trace2,
196854
+ source: "direct-fetch",
196855
+ skill: undefined,
196856
+ timing: t
196857
+ };
196858
+ }
196859
+ }
196860
+ }
196861
+ } catch {}
196862
+ }
196757
196863
  if (viable.length === 0 && exaResults?.length) {
196758
196864
  const richHit = exaResults.find((r) => (r.highlights ?? []).join(" ").length >= 150);
196759
196865
  if (richHit) {
Binary file
@@ -2,7 +2,7 @@
2
2
  "repo_url": "https://github.com/justrach/kuri.git",
3
3
  "branch": "adding-extensions",
4
4
  "source_sha": "149881254046a20778f642b69f20f0c6468f6fb4",
5
- "built_at": "2026-06-15T12:19:48.017Z",
5
+ "built_at": "2026-06-15T14:27:10.168Z",
6
6
  "binaries": {
7
7
  "darwin-arm64": {
8
8
  "zig_target": "aarch64-macos",
@@ -21,11 +21,11 @@
21
21
  },
22
22
  "linux-x64": {
23
23
  "zig_target": "x86_64-linux",
24
- "sha256": "ac423dfcb1f569b223d64db9ae351b113743d96f81fcd11ce9395cdd62c52f74"
24
+ "sha256": "f6bcb69557d2f5366a3543264bb3086650fb270ea912cb24616af1e6a24eacb9"
25
25
  },
26
26
  "win-x64": {
27
27
  "zig_target": "x86_64-windows-gnu",
28
- "sha256": "440cb5839e0301fc248c84d4669b0569126b356dd712e971c3dd03720e66ca35",
28
+ "sha256": "1fb1f5d1322f1d410efc5faa993dde9e82cba3e71f46df3d5184a09e8df1a5ca",
29
29
  "source": "pre-staged"
30
30
  }
31
31
  },
@@ -33,22 +33,22 @@
33
33
  "darwin-arm64": {
34
34
  "zig_target": "aarch64-macos",
35
35
  "lib": "libkuri_ffi.dylib",
36
- "sha256": "51135e5c43265de46c14d8098be4fb3b668812954716dd820b9c0322082223c1"
36
+ "sha256": "2988caaa567c2f201d2f179de8f1cf56f2d4e9e9cddff244219249f7e186749a"
37
37
  },
38
38
  "darwin-x64": {
39
39
  "zig_target": "x86_64-macos",
40
40
  "lib": "libkuri_ffi.dylib",
41
- "sha256": "a48ddee0b71624691dc441a5b1d44eb7708a4a43b5db61bd1ad3acc788f4d6be"
41
+ "sha256": "ed3b91895a156b27e7bc7f060dd4740d8292840576b8e19df48ffe814c29909d"
42
42
  },
43
43
  "linux-arm64": {
44
44
  "zig_target": "aarch64-linux",
45
45
  "lib": "libkuri_ffi.so",
46
- "sha256": "fa043f3e43866901172532ef9191423e54521152a1d9b7b15e30e3185e7c80ff"
46
+ "sha256": "27eab826c75dfe34e5f4ea79525c8936f2f037ba0c04b628ba0db1121e0cfc31"
47
47
  },
48
48
  "linux-x64": {
49
49
  "zig_target": "x86_64-linux",
50
50
  "lib": "libkuri_ffi.so",
51
- "sha256": "7a9c597df92eaf7a306b65d5b722171d9297a76a2cc3b32430d1af96bb2e265e"
51
+ "sha256": "e8e7ccf1bba2abf88187bccecce3a3b884b793752e8f509ab748bd84706c17ae"
52
52
  }
53
53
  }
54
54
  }
Binary file