unbrowse 9.0.3 → 9.0.5
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 +1 -1
- package/runtime/cli.js +19 -4
- package/runtime/mcp.js +40 -8
- package/vendor/kuri/darwin-arm64/libkuri_ffi.dylib +0 -0
- package/vendor/kuri/darwin-x64/libkuri_ffi.dylib +0 -0
- package/vendor/kuri/linux-arm64/libkuri_ffi.so +0 -0
- package/vendor/kuri/linux-x64/kuri +0 -0
- package/vendor/kuri/linux-x64/libkuri_ffi.so +0 -0
- package/vendor/kuri/manifest.json +7 -7
- package/vendor/kuri/win-x64/kuri.exe +0 -0
package/package.json
CHANGED
package/runtime/cli.js
CHANGED
|
@@ -177696,6 +177696,16 @@ function readComposite(domain, target) {
|
|
|
177696
177696
|
return;
|
|
177697
177697
|
}
|
|
177698
177698
|
}
|
|
177699
|
+
function findCompositeInSkill(skill, target) {
|
|
177700
|
+
return skill?.composites?.find((c) => c.target === target && c.steps.length > 0);
|
|
177701
|
+
}
|
|
177702
|
+
function attachCompositeToSkill(skill, composite) {
|
|
177703
|
+
const list = skill.composites ?? (skill.composites = []);
|
|
177704
|
+
if (list.some((c) => c.composite_id === composite.composite_id))
|
|
177705
|
+
return false;
|
|
177706
|
+
list.push(composite);
|
|
177707
|
+
return true;
|
|
177708
|
+
}
|
|
177699
177709
|
function hasSearchBindings(endpoint) {
|
|
177700
177710
|
const haystack = JSON.stringify({
|
|
177701
177711
|
url: endpoint.url_template,
|
|
@@ -180063,10 +180073,10 @@ async function resolveAndExecute(intent, params = {}, context, projection, optio
|
|
|
180063
180073
|
return "";
|
|
180064
180074
|
}
|
|
180065
180075
|
})();
|
|
180066
|
-
const persisted = readComposite(replayDomain, candidate.endpoint.endpoint_id);
|
|
180076
|
+
const persisted = findCompositeInSkill(skill, candidate.endpoint.endpoint_id) ?? readComposite(replayDomain, candidate.endpoint.endpoint_id);
|
|
180067
180077
|
const decision = planPrereqOrder(prereqOrder, persisted, (id) => {
|
|
180068
180078
|
const ep = skill.endpoints.find((e) => e.endpoint_id === id);
|
|
180069
|
-
return ep != null && canAutoExecuteEndpoint(ep);
|
|
180079
|
+
return ep != null && ep.verification_status !== "disabled" && canAutoExecuteEndpoint(ep);
|
|
180070
180080
|
});
|
|
180071
180081
|
prereqOrder = decision.prereqOrder;
|
|
180072
180082
|
replayedCompositeId = decision.replayedCompositeId;
|
|
@@ -180098,7 +180108,7 @@ async function resolveAndExecute(intent, params = {}, context, projection, optio
|
|
|
180098
180108
|
decisionTrace.prerequisite_chain = chainSteps;
|
|
180099
180109
|
decisionTrace.composite = composite;
|
|
180100
180110
|
if (chainSteps.every((s) => s.ok) && canAutoExecuteEndpoint(candidate.endpoint)) {
|
|
180101
|
-
const
|
|
180111
|
+
const descriptor = {
|
|
180102
180112
|
composite_id: compositeId,
|
|
180103
180113
|
intent_signature: compositeIntentSig,
|
|
180104
180114
|
domain: compositeDomain,
|
|
@@ -180106,7 +180116,12 @@ async function resolveAndExecute(intent, params = {}, context, projection, optio
|
|
|
180106
180116
|
steps: chainSteps,
|
|
180107
180117
|
edges: compositeEdges,
|
|
180108
180118
|
created_at: new Date().toISOString()
|
|
180109
|
-
}
|
|
180119
|
+
};
|
|
180120
|
+
const composedNewlyAttached = attachCompositeToSkill(skill, descriptor);
|
|
180121
|
+
if (composedNewlyAttached && skill.skill_id) {
|
|
180122
|
+
queuePassiveSkillPublish(skill).catch(() => {});
|
|
180123
|
+
}
|
|
180124
|
+
const persistedPath = writeComposite(descriptor);
|
|
180110
180125
|
if (persistedPath) {
|
|
180111
180126
|
decisionTrace.composite_persisted = compositeId;
|
|
180112
180127
|
}
|
package/runtime/mcp.js
CHANGED
|
@@ -124974,6 +124974,16 @@ function readComposite(domain, target) {
|
|
|
124974
124974
|
return;
|
|
124975
124975
|
}
|
|
124976
124976
|
}
|
|
124977
|
+
function findCompositeInSkill(skill, target) {
|
|
124978
|
+
return skill?.composites?.find((c) => c.target === target && c.steps.length > 0);
|
|
124979
|
+
}
|
|
124980
|
+
function attachCompositeToSkill(skill, composite) {
|
|
124981
|
+
const list = skill.composites ?? (skill.composites = []);
|
|
124982
|
+
if (list.some((c) => c.composite_id === composite.composite_id))
|
|
124983
|
+
return false;
|
|
124984
|
+
list.push(composite);
|
|
124985
|
+
return true;
|
|
124986
|
+
}
|
|
124977
124987
|
function hasSearchBindings(endpoint) {
|
|
124978
124988
|
const haystack = JSON.stringify({
|
|
124979
124989
|
url: endpoint.url_template,
|
|
@@ -127341,10 +127351,10 @@ async function resolveAndExecute(intent, params = {}, context, projection, optio
|
|
|
127341
127351
|
return "";
|
|
127342
127352
|
}
|
|
127343
127353
|
})();
|
|
127344
|
-
const persisted = readComposite(replayDomain, candidate.endpoint.endpoint_id);
|
|
127354
|
+
const persisted = findCompositeInSkill(skill, candidate.endpoint.endpoint_id) ?? readComposite(replayDomain, candidate.endpoint.endpoint_id);
|
|
127345
127355
|
const decision = planPrereqOrder(prereqOrder, persisted, (id) => {
|
|
127346
127356
|
const ep = skill.endpoints.find((e) => e.endpoint_id === id);
|
|
127347
|
-
return ep != null && canAutoExecuteEndpoint(ep);
|
|
127357
|
+
return ep != null && ep.verification_status !== "disabled" && canAutoExecuteEndpoint(ep);
|
|
127348
127358
|
});
|
|
127349
127359
|
prereqOrder = decision.prereqOrder;
|
|
127350
127360
|
replayedCompositeId = decision.replayedCompositeId;
|
|
@@ -127376,7 +127386,7 @@ async function resolveAndExecute(intent, params = {}, context, projection, optio
|
|
|
127376
127386
|
decisionTrace.prerequisite_chain = chainSteps;
|
|
127377
127387
|
decisionTrace.composite = composite;
|
|
127378
127388
|
if (chainSteps.every((s) => s.ok) && canAutoExecuteEndpoint(candidate.endpoint)) {
|
|
127379
|
-
const
|
|
127389
|
+
const descriptor = {
|
|
127380
127390
|
composite_id: compositeId,
|
|
127381
127391
|
intent_signature: compositeIntentSig,
|
|
127382
127392
|
domain: compositeDomain,
|
|
@@ -127384,7 +127394,12 @@ async function resolveAndExecute(intent, params = {}, context, projection, optio
|
|
|
127384
127394
|
steps: chainSteps,
|
|
127385
127395
|
edges: compositeEdges,
|
|
127386
127396
|
created_at: new Date().toISOString()
|
|
127387
|
-
}
|
|
127397
|
+
};
|
|
127398
|
+
const composedNewlyAttached = attachCompositeToSkill(skill, descriptor);
|
|
127399
|
+
if (composedNewlyAttached && skill.skill_id) {
|
|
127400
|
+
queuePassiveSkillPublish(skill).catch(() => {});
|
|
127401
|
+
}
|
|
127402
|
+
const persistedPath = writeComposite(descriptor);
|
|
127388
127403
|
if (persistedPath) {
|
|
127389
127404
|
decisionTrace.composite_persisted = compositeId;
|
|
127390
127405
|
}
|
|
@@ -191771,6 +191786,7 @@ __export(exports_orchestrator, {
|
|
|
191771
191786
|
getDomainReuseKey: () => getDomainReuseKey2,
|
|
191772
191787
|
generateLocalDescription: () => generateLocalDescription2,
|
|
191773
191788
|
findEndpointInSkillHistory: () => findEndpointInSkillHistory2,
|
|
191789
|
+
findCompositeInSkill: () => findCompositeInSkill2,
|
|
191774
191790
|
extractSearchTermsFromIntent: () => extractSearchTermsFromIntent2,
|
|
191775
191791
|
extractSampleValues: () => extractSampleValues2,
|
|
191776
191792
|
extractLiteralSearchTermsFromIntent: () => extractLiteralSearchTermsFromIntent2,
|
|
@@ -191780,6 +191796,7 @@ __export(exports_orchestrator, {
|
|
|
191780
191796
|
chooseBestRouteCacheCandidate: () => chooseBestRouteCacheCandidate2,
|
|
191781
191797
|
buildResolveCacheKey: () => buildResolveCacheKey2,
|
|
191782
191798
|
buildCompositeEdges: () => buildCompositeEdges2,
|
|
191799
|
+
attachCompositeToSkill: () => attachCompositeToSkill2,
|
|
191783
191800
|
assessLocalExecutionResult: () => assessLocalExecutionResult2
|
|
191784
191801
|
});
|
|
191785
191802
|
import { existsSync as existsSync50, writeFileSync as writeFileSync26, readFileSync as readFileSync39, mkdirSync as mkdirSync30, readdirSync as readdirSync17 } from "node:fs";
|
|
@@ -191999,6 +192016,16 @@ function readComposite2(domain, target) {
|
|
|
191999
192016
|
return;
|
|
192000
192017
|
}
|
|
192001
192018
|
}
|
|
192019
|
+
function findCompositeInSkill2(skill, target) {
|
|
192020
|
+
return skill?.composites?.find((c) => c.target === target && c.steps.length > 0);
|
|
192021
|
+
}
|
|
192022
|
+
function attachCompositeToSkill2(skill, composite) {
|
|
192023
|
+
const list = skill.composites ?? (skill.composites = []);
|
|
192024
|
+
if (list.some((c) => c.composite_id === composite.composite_id))
|
|
192025
|
+
return false;
|
|
192026
|
+
list.push(composite);
|
|
192027
|
+
return true;
|
|
192028
|
+
}
|
|
192002
192029
|
function hasSearchBindings2(endpoint) {
|
|
192003
192030
|
const haystack = JSON.stringify({
|
|
192004
192031
|
url: endpoint.url_template,
|
|
@@ -194371,10 +194398,10 @@ async function resolveAndExecute2(intent, params = {}, context, projection, opti
|
|
|
194371
194398
|
return "";
|
|
194372
194399
|
}
|
|
194373
194400
|
})();
|
|
194374
|
-
const persisted = readComposite2(replayDomain, candidate.endpoint.endpoint_id);
|
|
194401
|
+
const persisted = findCompositeInSkill2(skill, candidate.endpoint.endpoint_id) ?? readComposite2(replayDomain, candidate.endpoint.endpoint_id);
|
|
194375
194402
|
const decision = planPrereqOrder2(prereqOrder, persisted, (id) => {
|
|
194376
194403
|
const ep = skill.endpoints.find((e) => e.endpoint_id === id);
|
|
194377
|
-
return ep != null && canAutoExecuteEndpoint(ep);
|
|
194404
|
+
return ep != null && ep.verification_status !== "disabled" && canAutoExecuteEndpoint(ep);
|
|
194378
194405
|
});
|
|
194379
194406
|
prereqOrder = decision.prereqOrder;
|
|
194380
194407
|
replayedCompositeId = decision.replayedCompositeId;
|
|
@@ -194406,7 +194433,7 @@ async function resolveAndExecute2(intent, params = {}, context, projection, opti
|
|
|
194406
194433
|
decisionTrace.prerequisite_chain = chainSteps;
|
|
194407
194434
|
decisionTrace.composite = composite;
|
|
194408
194435
|
if (chainSteps.every((s) => s.ok) && canAutoExecuteEndpoint(candidate.endpoint)) {
|
|
194409
|
-
const
|
|
194436
|
+
const descriptor = {
|
|
194410
194437
|
composite_id: compositeId,
|
|
194411
194438
|
intent_signature: compositeIntentSig,
|
|
194412
194439
|
domain: compositeDomain,
|
|
@@ -194414,7 +194441,12 @@ async function resolveAndExecute2(intent, params = {}, context, projection, opti
|
|
|
194414
194441
|
steps: chainSteps,
|
|
194415
194442
|
edges: compositeEdges,
|
|
194416
194443
|
created_at: new Date().toISOString()
|
|
194417
|
-
}
|
|
194444
|
+
};
|
|
194445
|
+
const composedNewlyAttached = attachCompositeToSkill2(skill, descriptor);
|
|
194446
|
+
if (composedNewlyAttached && skill.skill_id) {
|
|
194447
|
+
queuePassiveSkillPublish(skill).catch(() => {});
|
|
194448
|
+
}
|
|
194449
|
+
const persistedPath = writeComposite2(descriptor);
|
|
194418
194450
|
if (persistedPath) {
|
|
194419
194451
|
decisionTrace.composite_persisted = compositeId;
|
|
194420
194452
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
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-
|
|
5
|
+
"built_at": "2026-06-14T05:31:54.193Z",
|
|
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": "
|
|
24
|
+
"sha256": "ee8effefeb77184efc113996f707abae9f5e98f03c5c1cbc07e505e9f5b5bbf5"
|
|
25
25
|
},
|
|
26
26
|
"win-x64": {
|
|
27
27
|
"zig_target": "x86_64-windows-gnu",
|
|
28
|
-
"sha256": "
|
|
28
|
+
"sha256": "5a4f9ced4010b901b4ab167024f5774575e7fdec497a23c12d38099376cbf105"
|
|
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": "
|
|
35
|
+
"sha256": "edf2cc558fd12543ac5adca11ee950b737a2ed85ecb70677984c7b871fb6b9dd"
|
|
36
36
|
},
|
|
37
37
|
"darwin-x64": {
|
|
38
38
|
"zig_target": "x86_64-macos",
|
|
39
39
|
"lib": "libkuri_ffi.dylib",
|
|
40
|
-
"sha256": "
|
|
40
|
+
"sha256": "84fad44739357da7871dbbc2ba5d8d2a90017988c5be98168aa26ec03b192ad0"
|
|
41
41
|
},
|
|
42
42
|
"linux-arm64": {
|
|
43
43
|
"zig_target": "aarch64-linux",
|
|
44
44
|
"lib": "libkuri_ffi.so",
|
|
45
|
-
"sha256": "
|
|
45
|
+
"sha256": "d55a8d1bcaceaa8d49d54102e7e62ac6d27fa78ce2127a9b47665ec2c93831da"
|
|
46
46
|
},
|
|
47
47
|
"linux-x64": {
|
|
48
48
|
"zig_target": "x86_64-linux",
|
|
49
49
|
"lib": "libkuri_ffi.so",
|
|
50
|
-
"sha256": "
|
|
50
|
+
"sha256": "0bd51eacb133297b053911e57fedf7b479fec01cfb5bdaa4d0f3d05de25c2182"
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|
|
Binary file
|