unbrowse 9.0.1 → 9.0.2

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.0.1",
3
+ "version": "9.0.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/unbrowse-ai/unbrowse.git"
package/runtime/cli.js CHANGED
@@ -178709,6 +178709,12 @@ function extractSearchTermsFromIntent(intent) {
178709
178709
  }
178710
178710
  return terms || null;
178711
178711
  }
178712
+ function buildCompositeEdges(target, steps, boundKeys) {
178713
+ return boundKeys.map((binding) => {
178714
+ const from = steps.find((s) => s.yielded.includes(binding));
178715
+ return from ? { from: from.endpoint_id, binding, to: target } : null;
178716
+ }).filter((e) => e !== null);
178717
+ }
178712
178718
  async function walkPrerequisiteChain(skill, unboundParams, prerequisiteOrder, baseParams, queryIntent, projection, options, steps) {
178713
178719
  const resolved = {};
178714
178720
  const executed = new Map;
@@ -179994,8 +180000,14 @@ async function resolveAndExecute(intent, params = {}, context, projection, optio
179994
180000
  const chainSteps = [];
179995
180001
  chainBound = await walkPrerequisiteChain(skill, stillUnbound, prereqOrder, { ...templateDefaults, ...endpointParams, ...syncInferred, ...searchOverrides }, queryIntent, projection, { ...options, intent: queryIntent, contextUrl: context?.url }, chainSteps);
179996
180002
  if (chainSteps.length > 0) {
180003
+ const composite = {
180004
+ target: candidate.endpoint.endpoint_id,
180005
+ steps: chainSteps,
180006
+ edges: buildCompositeEdges(candidate.endpoint.endpoint_id, chainSteps, Object.keys(chainBound))
180007
+ };
179997
180008
  decisionTrace.prerequisite_chain = chainSteps;
179998
- console.log(`[chain] walked ${chainSteps.length} prerequisite(s): ` + chainSteps.map((s) => `${s.endpoint_id}${s.ok ? "✓" : "✗"}→[${s.yielded.join(",")}]`).join(" "));
180009
+ decisionTrace.composite = composite;
180010
+ console.log(`[chain] composite → ${composite.target} via ` + composite.edges.map((e) => `${e.from}.${e.binding}`).join(" + ") || "(no edges)");
179999
180011
  }
180000
180012
  }
180001
180013
  const chainResolvedKeys = new Set(Object.keys(chainBound));
package/runtime/mcp.js CHANGED
@@ -125987,6 +125987,12 @@ function extractSearchTermsFromIntent(intent) {
125987
125987
  }
125988
125988
  return terms || null;
125989
125989
  }
125990
+ function buildCompositeEdges(target, steps, boundKeys) {
125991
+ return boundKeys.map((binding) => {
125992
+ const from = steps.find((s) => s.yielded.includes(binding));
125993
+ return from ? { from: from.endpoint_id, binding, to: target } : null;
125994
+ }).filter((e) => e !== null);
125995
+ }
125990
125996
  async function walkPrerequisiteChain(skill, unboundParams, prerequisiteOrder, baseParams, queryIntent, projection, options, steps) {
125991
125997
  const resolved = {};
125992
125998
  const executed = new Map;
@@ -127272,8 +127278,14 @@ async function resolveAndExecute(intent, params = {}, context, projection, optio
127272
127278
  const chainSteps = [];
127273
127279
  chainBound = await walkPrerequisiteChain(skill, stillUnbound, prereqOrder, { ...templateDefaults, ...endpointParams, ...syncInferred, ...searchOverrides }, queryIntent, projection, { ...options, intent: queryIntent, contextUrl: context?.url }, chainSteps);
127274
127280
  if (chainSteps.length > 0) {
127281
+ const composite = {
127282
+ target: candidate.endpoint.endpoint_id,
127283
+ steps: chainSteps,
127284
+ edges: buildCompositeEdges(candidate.endpoint.endpoint_id, chainSteps, Object.keys(chainBound))
127285
+ };
127275
127286
  decisionTrace.prerequisite_chain = chainSteps;
127276
- console.log(`[chain] walked ${chainSteps.length} prerequisite(s): ` + chainSteps.map((s) => `${s.endpoint_id}${s.ok ? "✓" : "✗"}→[${s.yielded.join(",")}]`).join(" "));
127287
+ decisionTrace.composite = composite;
127288
+ console.log(`[chain] composite → ${composite.target} via ` + composite.edges.map((e) => `${e.from}.${e.binding}`).join(" + ") || "(no edges)");
127277
127289
  }
127278
127290
  }
127279
127291
  const chainResolvedKeys = new Set(Object.keys(chainBound));
@@ -191658,6 +191670,7 @@ __export(exports_orchestrator, {
191658
191670
  domainSkillCache: () => domainSkillCache2,
191659
191671
  chooseBestRouteCacheCandidate: () => chooseBestRouteCacheCandidate2,
191660
191672
  buildResolveCacheKey: () => buildResolveCacheKey2,
191673
+ buildCompositeEdges: () => buildCompositeEdges2,
191661
191674
  assessLocalExecutionResult: () => assessLocalExecutionResult2
191662
191675
  });
191663
191676
  import { existsSync as existsSync50, writeFileSync as writeFileSync26, readFileSync as readFileSync39, mkdirSync as mkdirSync30, readdirSync as readdirSync17 } from "node:fs";
@@ -192895,6 +192908,12 @@ function extractSearchTermsFromIntent2(intent) {
192895
192908
  }
192896
192909
  return terms || null;
192897
192910
  }
192911
+ function buildCompositeEdges2(target, steps, boundKeys) {
192912
+ return boundKeys.map((binding) => {
192913
+ const from = steps.find((s) => s.yielded.includes(binding));
192914
+ return from ? { from: from.endpoint_id, binding, to: target } : null;
192915
+ }).filter((e) => e !== null);
192916
+ }
192898
192917
  async function walkPrerequisiteChain2(skill, unboundParams, prerequisiteOrder, baseParams, queryIntent, projection, options, steps) {
192899
192918
  const resolved = {};
192900
192919
  const executed = new Map;
@@ -194180,8 +194199,14 @@ async function resolveAndExecute2(intent, params = {}, context, projection, opti
194180
194199
  const chainSteps = [];
194181
194200
  chainBound = await walkPrerequisiteChain2(skill, stillUnbound, prereqOrder, { ...templateDefaults, ...endpointParams, ...syncInferred, ...searchOverrides }, queryIntent, projection, { ...options, intent: queryIntent, contextUrl: context?.url }, chainSteps);
194182
194201
  if (chainSteps.length > 0) {
194202
+ const composite = {
194203
+ target: candidate.endpoint.endpoint_id,
194204
+ steps: chainSteps,
194205
+ edges: buildCompositeEdges2(candidate.endpoint.endpoint_id, chainSteps, Object.keys(chainBound))
194206
+ };
194183
194207
  decisionTrace.prerequisite_chain = chainSteps;
194184
- console.log(`[chain] walked ${chainSteps.length} prerequisite(s): ` + chainSteps.map((s) => `${s.endpoint_id}${s.ok ? "✓" : "✗"}→[${s.yielded.join(",")}]`).join(" "));
194208
+ decisionTrace.composite = composite;
194209
+ console.log(`[chain] composite → ${composite.target} via ` + composite.edges.map((e) => `${e.from}.${e.binding}`).join(" + ") || "(no edges)");
194185
194210
  }
194186
194211
  }
194187
194212
  const chainResolvedKeys = new Set(Object.keys(chainBound));
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": "8938f89f3d0c032bd19c59db0de4eadca18a1800",
5
- "built_at": "2026-06-14T01:52:08.995Z",
5
+ "built_at": "2026-06-14T02:28:58.704Z",
6
6
  "binaries": {
7
7
  "darwin-arm64": {
8
8
  "zig_target": "aarch64-macos",
@@ -21,33 +21,33 @@
21
21
  },
22
22
  "linux-x64": {
23
23
  "zig_target": "x86_64-linux",
24
- "sha256": "9ed8f304b849f6d7056776763a7e8c0978da044bf1acf4cb05c7e6e9889f1d0a"
24
+ "sha256": "258ae9db1a86d21d39e248904135693f3e20ce2fa4b32e3be48c4b32ebc9989e"
25
25
  },
26
26
  "win-x64": {
27
27
  "zig_target": "x86_64-windows-gnu",
28
- "sha256": "3493a6571fcf57c9e189f6f59f5f75c4ca2dd5fb3f5d66216855ed3d88dcb6f1"
28
+ "sha256": "d1a16044a5425e8e2b038af4c8d052021857829d8f08e30eccfbbe5ca62989c1"
29
29
  }
30
30
  },
31
31
  "ffi": {
32
32
  "darwin-arm64": {
33
33
  "zig_target": "aarch64-macos",
34
34
  "lib": "libkuri_ffi.dylib",
35
- "sha256": "5551b3f8aa23c572370b3691c4cf127a697c4e92f5e9f49b6f6f6a0e11f9d402"
35
+ "sha256": "b059e6b94010942376c7c6de683b84b937477413a8a77b826700f235826b5634"
36
36
  },
37
37
  "darwin-x64": {
38
38
  "zig_target": "x86_64-macos",
39
39
  "lib": "libkuri_ffi.dylib",
40
- "sha256": "f93c65b07f22c89ec5893aa3a35e1faf0e19f9a5c16eeb2fd5d22397c301a631"
40
+ "sha256": "de9856b3350bc26ecd8e4c167b46361bad9e5f775b61a637970bce38e596da1d"
41
41
  },
42
42
  "linux-arm64": {
43
43
  "zig_target": "aarch64-linux",
44
44
  "lib": "libkuri_ffi.so",
45
- "sha256": "97184ac3f943c9d493044bb26acd73b868c8f9f21aee0331b82b62d0cbdb147f"
45
+ "sha256": "e088ff534085f03cd4f79629bd7ffc2a4731aaabb4f28200edb1d55d873a29ad"
46
46
  },
47
47
  "linux-x64": {
48
48
  "zig_target": "x86_64-linux",
49
49
  "lib": "libkuri_ffi.so",
50
- "sha256": "f47ba1daf8d61b5c9e83bacde8d86598c0283d69294365dda9a54429f2ad182a"
50
+ "sha256": "1250b2a48a181a15abf7019cd66d6e136ff13c89dd56e205bd5b0c740ed06f16"
51
51
  }
52
52
  }
53
53
  }
Binary file