agentwheel 0.19.7 → 0.19.9
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/index.js +14 -2
- package/openpack.json +1 -1
- package/package.json +1 -1
- package/skills/agentwheel/SKILL.md +1 -1
- package/skills/agentwheel-discovery/SKILL.md +1 -1
package/dist/index.js
CHANGED
|
@@ -7369,6 +7369,7 @@ async function expandFile(file, packageRoot, appendEntries, artifactPaths, optio
|
|
|
7369
7369
|
const expanded = await expandContent(raw, packageRoot, [owner], artifactPaths, options);
|
|
7370
7370
|
let content = expanded.content;
|
|
7371
7371
|
const composedFrom = [...expanded.composedFrom];
|
|
7372
|
+
const appliedComposeIdentities = /* @__PURE__ */ new Set();
|
|
7372
7373
|
for (const external of appendEntries) {
|
|
7373
7374
|
const { entry } = external;
|
|
7374
7375
|
const included = await expandInclude(entry.include, external.packageRoot, external.artifactPaths, {
|
|
@@ -7379,6 +7380,12 @@ async function expandFile(file, packageRoot, appendEntries, artifactPaths, optio
|
|
|
7379
7380
|
chain: [owner]
|
|
7380
7381
|
});
|
|
7381
7382
|
if (!included) continue;
|
|
7383
|
+
const markerMode = entry.markers === false ? "plain" : "markers";
|
|
7384
|
+
const identity = `${markerMode}\0${composedLineageKey(included.composedFrom)}`;
|
|
7385
|
+
if (external.deduplicate) {
|
|
7386
|
+
if (appliedComposeIdentities.has(identity)) continue;
|
|
7387
|
+
}
|
|
7388
|
+
appliedComposeIdentities.add(identity);
|
|
7382
7389
|
content = `${content.trimEnd()}
|
|
7383
7390
|
|
|
7384
7391
|
${included.rendered}
|
|
@@ -7591,6 +7598,9 @@ function uniqueComposedFrom(entries) {
|
|
|
7591
7598
|
const byKey = new Map(entries.map((entry) => [`${entry.selector}\0${entry.hash}`, entry]));
|
|
7592
7599
|
return [...byKey.values()].sort((a, b) => `${a.selector}:${a.hash}`.localeCompare(`${b.selector}:${b.hash}`));
|
|
7593
7600
|
}
|
|
7601
|
+
function composedLineageKey(entries) {
|
|
7602
|
+
return entries.map((entry) => `${entry.selector}\0${entry.hash}`).sort((a, b) => a.localeCompare(b)).join("");
|
|
7603
|
+
}
|
|
7594
7604
|
function artifactKey(artifact) {
|
|
7595
7605
|
return `${artifact.type}:${artifact.name}:${artifact.channel ?? "managed"}`;
|
|
7596
7606
|
}
|
|
@@ -10070,14 +10080,16 @@ function matchingCompositionEntries(artifact, targetNodeId, runtime, rules) {
|
|
|
10070
10080
|
if (rule.runtimes?.length && (!runtime || !rule.runtimes.includes(runtime))) continue;
|
|
10071
10081
|
if (!globMatches(rule.target, selector) && !globMatches(rule.target, qualifiedSelector)) continue;
|
|
10072
10082
|
if (rule.exclude?.some((pattern) => globMatches(pattern, selector) || globMatches(pattern, qualifiedSelector))) continue;
|
|
10073
|
-
const
|
|
10083
|
+
const markerMode = rule.markers === false ? "plain" : "markers";
|
|
10084
|
+
const key = `${candidate.ownerNodeId}\0${rule.include}\0${markerMode}`;
|
|
10074
10085
|
if (seen.has(key)) continue;
|
|
10075
10086
|
seen.add(key);
|
|
10076
10087
|
entries.push({
|
|
10077
10088
|
entry: { include: rule.include, markers: rule.markers },
|
|
10078
10089
|
packageRoot: candidate.packageRoot,
|
|
10079
10090
|
artifactPaths: candidate.artifactPaths,
|
|
10080
|
-
nodeId: candidate.ownerNodeId
|
|
10091
|
+
nodeId: candidate.ownerNodeId,
|
|
10092
|
+
deduplicate: true
|
|
10081
10093
|
});
|
|
10082
10094
|
}
|
|
10083
10095
|
return entries;
|
package/openpack.json
CHANGED
package/package.json
CHANGED