@moda-ai/cli 1.55.79 → 1.55.80
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/{agent-3acxyetj.js → agent-krfcc60c.js} +3 -3
- package/dist/{cli-w5en52xc.js → cli-73zjnpb6.js} +2 -2
- package/dist/{cli-qa0rbdjd.js → cli-kq1b4vy0.js} +126 -16
- package/dist/{cli-m82f9yqj.js → cli-v5yk8rj2.js} +3 -3
- package/dist/cli.js +7 -7
- package/dist/{doctor-txsjyfes.js → doctor-kcvjttm0.js} +2 -2
- package/dist/{harness-github-actions-amef13q6.js → harness-github-actions-96tgqbwb.js} +1 -1
- package/dist/{harness-dbkbs04z.js → harness-kr9jtz2a.js} +1 -1
- package/dist/{index-xb4svyw4.js → index-knkk2x7v.js} +3 -3
- package/dist/{index-0w2wddj1.js → index-psa47r72.js} +1 -1
- package/dist/{index-4jaj5eyb.js → index-tze518d6.js} +1 -1
- package/dist/{prompt-attribution-mxmgv3bt.js → prompt-attribution-v8wjbtab.js} +1 -1
- package/dist/prompt-source-mcp.js +1 -1
- package/dist/{prompts-tc7fntm5.js → prompts-gr6vakz1.js} +1 -1
- package/dist/{sync-chceab5e.js → sync-cjeykd9k.js} +2 -2
- package/package.json +1 -1
- package/skills/integration/index.json +2 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildDoctorReport
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-73zjnpb6.js";
|
|
4
4
|
import"./cli-rrggdmf8.js";
|
|
5
|
-
import"./cli-
|
|
5
|
+
import"./cli-v5yk8rj2.js";
|
|
6
6
|
import"./cli-mm48br00.js";
|
|
7
7
|
import {
|
|
8
8
|
readHarnessSyncState
|
|
@@ -95,7 +95,7 @@ async function buildAgentContext(context) {
|
|
|
95
95
|
const graph = readHarnessGraphIfPresent(context.cwd);
|
|
96
96
|
const reportState = readHarnessReportState(context.cwd);
|
|
97
97
|
const syncState = readHarnessSyncState(context.cwd);
|
|
98
|
-
const harness = graph ? await import("./harness-
|
|
98
|
+
const harness = graph ? await import("./harness-kr9jtz2a.js") : undefined;
|
|
99
99
|
const topFindings = doctor.checks.filter((check) => check.status === "fail" || check.status === "warning").slice(0, 12).map(checkToFinding);
|
|
100
100
|
const evidenceRefs = [
|
|
101
101
|
...doctor.checks.map(checkToEvidenceRef),
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./cli-rrggdmf8.js";
|
|
5
5
|
import {
|
|
6
6
|
inspectPromptManifest
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-v5yk8rj2.js";
|
|
8
8
|
import {
|
|
9
9
|
readHarnessSyncState,
|
|
10
10
|
renderDoctorHuman,
|
|
@@ -395,7 +395,7 @@ async function harnessCurrentCheck(cwd, manifestPath, manifestExists, tenantId)
|
|
|
395
395
|
};
|
|
396
396
|
}
|
|
397
397
|
try {
|
|
398
|
-
const { scanHarness } = await import("./harness-
|
|
398
|
+
const { scanHarness } = await import("./harness-kr9jtz2a.js");
|
|
399
399
|
const current = scanHarness({
|
|
400
400
|
rootDir: cwd,
|
|
401
401
|
scannerVersion: "doctor",
|
|
@@ -19222,7 +19222,7 @@ async function runHarnessCommand(context) {
|
|
|
19222
19222
|
throw new CliInputError("Focused remote prompt analysis is not supported yet.", "Use local --analyst=claude|codex|cursor|local-scan, or drop --concern for a full remote report.");
|
|
19223
19223
|
}
|
|
19224
19224
|
if (context.flags["github-actions"] === "true") {
|
|
19225
|
-
const { runGithubActionsAnalyze } = await import("./harness-github-actions-
|
|
19225
|
+
const { runGithubActionsAnalyze } = await import("./harness-github-actions-96tgqbwb.js");
|
|
19226
19226
|
const result = await runGithubActionsAnalyze(rootDir, {
|
|
19227
19227
|
writeReport: (report2) => {
|
|
19228
19228
|
const normalized = normalizeHarnessReport(report2);
|
|
@@ -19368,8 +19368,8 @@ async function runHarnessCommand(context) {
|
|
|
19368
19368
|
}
|
|
19369
19369
|
const { artifacts, unknowns } = deterministicGraphItems(rootDir, promote === "all" ? undefined : promote);
|
|
19370
19370
|
tagComponentStatus({ runtimeAgents: [], artifacts }, rootDir);
|
|
19371
|
-
const { extractHarnessWithContext: extractHarnessWithContext2 } = await import("./index-
|
|
19372
|
-
const { enumerateHarnessComponents, mergeEnumeratedComponents } = await import("./index-
|
|
19371
|
+
const { extractHarnessWithContext: extractHarnessWithContext2 } = await import("./index-tze518d6.js");
|
|
19372
|
+
const { enumerateHarnessComponents, mergeEnumeratedComponents } = await import("./index-psa47r72.js");
|
|
19373
19373
|
let components = { runtimeAgents: [], artifacts: [], warnings: [] };
|
|
19374
19374
|
if (promote === "all" || promote === "topology" || promote === "tools") {
|
|
19375
19375
|
const { result, ctx } = extractHarnessWithContext2(rootDir);
|
|
@@ -19403,8 +19403,8 @@ async function runHarnessCommand(context) {
|
|
|
19403
19403
|
}
|
|
19404
19404
|
case "extract": {
|
|
19405
19405
|
writeHumanProgress(context, "Harness extract: tracing model call sites (no LLM, no network)...");
|
|
19406
|
-
const { extractHarnessWithContext: extractHarnessWithContext2, serializeExtractResult } = await import("./index-
|
|
19407
|
-
const { enumerateHarnessComponents, mergeEnumeratedComponents } = await import("./index-
|
|
19406
|
+
const { extractHarnessWithContext: extractHarnessWithContext2, serializeExtractResult } = await import("./index-tze518d6.js");
|
|
19407
|
+
const { enumerateHarnessComponents, mergeEnumeratedComponents } = await import("./index-psa47r72.js");
|
|
19408
19408
|
const { result, ctx } = extractHarnessWithContext2(rootDir, { fresh: true });
|
|
19409
19409
|
const artifacts = deterministicArtifacts(rootDir);
|
|
19410
19410
|
tagComponentStatus({ runtimeAgents: [], artifacts }, rootDir);
|
|
@@ -25946,6 +25946,8 @@ function promoteAll(report, rootDir) {
|
|
|
25946
25946
|
let artifact;
|
|
25947
25947
|
switch (candidate.kind) {
|
|
25948
25948
|
case "tool_definition":
|
|
25949
|
+
if (FIXTURE_DIR2.test(candidate.path) || isTestInput(candidate.path))
|
|
25950
|
+
break;
|
|
25949
25951
|
artifact = promoteToolCandidate(candidate, rootDir, confidence2, fileCache);
|
|
25950
25952
|
break;
|
|
25951
25953
|
case "prompt_file":
|
|
@@ -27607,7 +27609,7 @@ function toolNamesOf(tree) {
|
|
|
27607
27609
|
visit2(child, false, spread);
|
|
27608
27610
|
spread.forEach(set);
|
|
27609
27611
|
} else if (child.key) {
|
|
27610
|
-
set({ name: child.key, path: child.path, line: child.line, via: "key" });
|
|
27612
|
+
set({ name: child.key, path: child.path, line: child.line, start: child.start, via: "key" });
|
|
27611
27613
|
}
|
|
27612
27614
|
}
|
|
27613
27615
|
names.push(...record.values());
|
|
@@ -27665,6 +27667,7 @@ function emitTools(result, ctx, options = {}) {
|
|
|
27665
27667
|
const packageOf = workspacePackages(ctx.rootDir);
|
|
27666
27668
|
const found = new Map;
|
|
27667
27669
|
const ownersByTool = new Map;
|
|
27670
|
+
const recordSpans = new Map;
|
|
27668
27671
|
let definitionBytes = 0;
|
|
27669
27672
|
const limit = () => {
|
|
27670
27673
|
const warning = "tools: bounded tool catalog budget reached; some evidence or bodies omitted";
|
|
@@ -27690,9 +27693,14 @@ function emitTools(result, ctx, options = {}) {
|
|
|
27690
27693
|
found.set(key, tool);
|
|
27691
27694
|
ownersByTool.set(key, { direct: [], rpc: [], open: [] });
|
|
27692
27695
|
}
|
|
27696
|
+
if (evidence.start !== undefined && evidence.end !== undefined && /^(?:tools record key|tool stored under this key)$/.test(evidence.reason)) {
|
|
27697
|
+
const spans = recordSpans.get(tool) ?? [];
|
|
27698
|
+
spans.push({ path: evidence.path, start: evidence.start, end: evidence.end });
|
|
27699
|
+
recordSpans.set(tool, spans);
|
|
27700
|
+
}
|
|
27693
27701
|
if (enumerationRepository(ctx).status(evidence.path) !== "defined_only")
|
|
27694
27702
|
tool.status = "reachable";
|
|
27695
|
-
if (tool.evidence.length < MAX_EVIDENCE_PER_TOOL && !tool.evidence.some((other) => other.path === evidence.path && other.line === evidence.line)) {
|
|
27703
|
+
if (tool.evidence.length < MAX_EVIDENCE_PER_TOOL && !tool.evidence.some((other) => other.path === evidence.path && other.line === evidence.line && other.start === evidence.start && other.end === evidence.end)) {
|
|
27696
27704
|
tool.evidence.push(evidence);
|
|
27697
27705
|
tool.calledFrom.push({ path: evidence.path, line: evidence.line, ...enclosing ? { enclosing } : {} });
|
|
27698
27706
|
}
|
|
@@ -27731,7 +27739,7 @@ function emitTools(result, ctx, options = {}) {
|
|
|
27731
27739
|
const checker = program.getTypeChecker();
|
|
27732
27740
|
const tracer = tracerFor(program);
|
|
27733
27741
|
const names = (expression) => literalStrings(expression, tracer).slice(0, MAX_NAMES_PER_SITE);
|
|
27734
|
-
const at = (node, reason) => ({ path: rel2, line: lineOf(node), reason });
|
|
27742
|
+
const at = (node, reason) => ({ path: rel2, line: lineOf(node), reason, start: node.getStart(), end: node.getEnd() });
|
|
27735
27743
|
const visitObject = (object) => {
|
|
27736
27744
|
const keys = object.properties.map((property) => propertyNameText(property.name) ?? "");
|
|
27737
27745
|
const nameExpr = propertyValue(object, "name");
|
|
@@ -27761,9 +27769,10 @@ function emitTools(result, ctx, options = {}) {
|
|
|
27761
27769
|
continue;
|
|
27762
27770
|
const agents = owners.ownersOf(property, program);
|
|
27763
27771
|
const options2 = toolOptions(property.initializer);
|
|
27764
|
-
const
|
|
27772
|
+
const definitions = definitionNodes(property.initializer, checker);
|
|
27765
27773
|
for (const name of list)
|
|
27766
|
-
|
|
27774
|
+
for (const definition of definitions)
|
|
27775
|
+
add(name, "record", at(property, "tools record key"), agents, definition, options2 ? displayNameOf(options2, tracer) : undefined, enclosingName(property));
|
|
27767
27776
|
}
|
|
27768
27777
|
};
|
|
27769
27778
|
const visit2 = (node) => {
|
|
@@ -27775,9 +27784,10 @@ function emitTools(result, ctx, options = {}) {
|
|
|
27775
27784
|
if (list.length > 0) {
|
|
27776
27785
|
const agents = owners.ownersOf(node, program);
|
|
27777
27786
|
const options2 = toolOptions(node.right);
|
|
27778
|
-
const
|
|
27787
|
+
const definitions = definitionNodes(node.right, checker);
|
|
27779
27788
|
for (const name of list)
|
|
27780
|
-
|
|
27789
|
+
for (const definition of definitions)
|
|
27790
|
+
add(name, "record", at(node, "tool stored under this key"), agents, definition, options2 ? displayNameOf(options2, tracer) : undefined, enclosingName(node));
|
|
27781
27791
|
}
|
|
27782
27792
|
}
|
|
27783
27793
|
} catch {}
|
|
@@ -27796,6 +27806,15 @@ function emitTools(result, ctx, options = {}) {
|
|
|
27796
27806
|
const local = candidates.filter((tool) => (tool.package ?? "") === packageOf(path));
|
|
27797
27807
|
return local.length === 1 ? local[0] : candidates.length === 1 ? candidates[0] : undefined;
|
|
27798
27808
|
};
|
|
27809
|
+
const targetsForHit = (name, path, start) => {
|
|
27810
|
+
const offered = [...found.values()].filter((tool) => tool.name === name && tool.surface).flatMap((tool) => (recordSpans.get(tool) ?? []).filter((entry) => entry.path === path && start !== undefined && entry.start !== undefined && entry.end !== undefined && entry.start <= start && start < entry.end).map((entry) => ({ tool, width: entry.end - entry.start })));
|
|
27811
|
+
if (offered.length > 0) {
|
|
27812
|
+
const nearest = Math.min(...offered.map((entry) => entry.width));
|
|
27813
|
+
return [...new Set(offered.filter((entry) => entry.width === nearest).map((entry) => entry.tool))];
|
|
27814
|
+
}
|
|
27815
|
+
const target = targetFor(name, path);
|
|
27816
|
+
return target ? [target] : [];
|
|
27817
|
+
};
|
|
27799
27818
|
for (const role of result.roles) {
|
|
27800
27819
|
if (role.role !== "tools" || role.sink.isTest || skipPath(role.sink.path))
|
|
27801
27820
|
continue;
|
|
@@ -27804,9 +27823,11 @@ function emitTools(result, ctx, options = {}) {
|
|
|
27804
27823
|
for (const hit of toolNamesOf(role.tree).names) {
|
|
27805
27824
|
if (skipPath(hit.path))
|
|
27806
27825
|
continue;
|
|
27807
|
-
const
|
|
27808
|
-
const ambiguous =
|
|
27809
|
-
|
|
27826
|
+
const targets = targetsForHit(hit.name, hit.path, hit.start);
|
|
27827
|
+
const ambiguous = targets.length === 0 && [...found.values()].some((tool) => tool.name === hit.name && tool.surface);
|
|
27828
|
+
for (const target of targets.length > 0 ? targets : [undefined]) {
|
|
27829
|
+
add(hit.name, "tools-arg", { path: hit.path, line: hit.line, reason: `named in the tools argument of ${role.sink.callee} at ${role.sink.path}:${role.sink.line}` }, ambiguous ? { direct: [], rpc: [], open: [] } : siteOwners, undefined, undefined, role.sink.enclosing, target?.surface);
|
|
27830
|
+
}
|
|
27810
27831
|
}
|
|
27811
27832
|
}
|
|
27812
27833
|
joinSurfaces(found, ownersByTool);
|
|
@@ -27823,7 +27844,10 @@ function emitTools(result, ctx, options = {}) {
|
|
|
27823
27844
|
let owners2 = callOwners.get(hit.name);
|
|
27824
27845
|
if (!owners2)
|
|
27825
27846
|
callOwners.set(hit.name, owners2 = []);
|
|
27826
|
-
|
|
27847
|
+
const targets = targetsForHit(hit.name, hit.path, hit.start);
|
|
27848
|
+
for (const surface of targets.length > 0 ? targets.map((tool) => tool.surface) : [surfaceOf(hit.path, packageOf(hit.path))]) {
|
|
27849
|
+
owners2.push({ pkg: packageOf(hit.path), surface, ids });
|
|
27850
|
+
}
|
|
27827
27851
|
}
|
|
27828
27852
|
}
|
|
27829
27853
|
for (const [key, tool] of found) {
|
|
@@ -27997,8 +28021,48 @@ function isSchemaProperty(object) {
|
|
|
27997
28021
|
const holder = parent.parent;
|
|
27998
28022
|
return import_typescript12.default.isObjectLiteralExpression(holder) && import_typescript12.default.isPropertyAssignment(holder.parent) && propertyNameText(holder.parent.name) === "properties";
|
|
27999
28023
|
}
|
|
28024
|
+
function executeToolFactories(expression, checker) {
|
|
28025
|
+
const value = unwrap(expression);
|
|
28026
|
+
if (!import_typescript12.default.isPropertyAccessExpression(value) || value.name.text !== "tool")
|
|
28027
|
+
return [];
|
|
28028
|
+
const find = (node, seen, depth) => {
|
|
28029
|
+
const current = unwrap(node);
|
|
28030
|
+
if (depth > 6 || seen.has(current))
|
|
28031
|
+
return [];
|
|
28032
|
+
seen.add(current);
|
|
28033
|
+
if (import_typescript12.default.isIdentifier(current)) {
|
|
28034
|
+
const declaration = valueDeclaration(resolvedSymbol(current, checker));
|
|
28035
|
+
if (declaration && import_typescript12.default.isVariableDeclaration(declaration) && declaration.initializer && declaration.parent.flags & import_typescript12.default.NodeFlags.Const) {
|
|
28036
|
+
return find(declaration.initializer, seen, depth + 1);
|
|
28037
|
+
}
|
|
28038
|
+
}
|
|
28039
|
+
if (import_typescript12.default.isConditionalExpression(current))
|
|
28040
|
+
return [...find(current.whenTrue, new Set(seen), depth + 1), ...find(current.whenFalse, new Set(seen), depth + 1)];
|
|
28041
|
+
if (import_typescript12.default.isCallExpression(current) && import_typescript12.default.isIdentifier(current.expression)) {
|
|
28042
|
+
const origin = importOrigin(current.expression, checker);
|
|
28043
|
+
if (origin?.imported === "createExecuteRuntime" && origin.module === "@cloudflare/think/tools/execute")
|
|
28044
|
+
return [current];
|
|
28045
|
+
}
|
|
28046
|
+
return [];
|
|
28047
|
+
};
|
|
28048
|
+
return [...new Set(find(value.expression, new Set, 0))];
|
|
28049
|
+
}
|
|
28050
|
+
function definitionNodes(expression, checker, depth = 0) {
|
|
28051
|
+
const value = unwrap(expression);
|
|
28052
|
+
const factories = executeToolFactories(value, checker);
|
|
28053
|
+
if (factories.length > 0)
|
|
28054
|
+
return factories;
|
|
28055
|
+
if (import_typescript12.default.isIdentifier(value) && depth < 2) {
|
|
28056
|
+
const declaration = valueDeclaration(resolvedSymbol(value, checker));
|
|
28057
|
+
if (declaration && import_typescript12.default.isVariableDeclaration(declaration) && declaration.initializer)
|
|
28058
|
+
return definitionNodes(declaration.initializer, checker, depth + 1);
|
|
28059
|
+
}
|
|
28060
|
+
return [definitionNode(value, checker)];
|
|
28061
|
+
}
|
|
28000
28062
|
function isToolValue(expression, checker, depth = 0) {
|
|
28001
28063
|
const value = unwrap(expression);
|
|
28064
|
+
if (executeToolFactories(value, checker).length > 0)
|
|
28065
|
+
return true;
|
|
28002
28066
|
if (import_typescript12.default.isCallExpression(value)) {
|
|
28003
28067
|
const callee = unwrap(value.expression);
|
|
28004
28068
|
const name = import_typescript12.default.isIdentifier(callee) ? callee : import_typescript12.default.isPropertyAccessExpression(callee) ? callee.name : undefined;
|
|
@@ -29285,6 +29349,50 @@ function inheritedTrue(node, propertyName2, checker, seen = new Set) {
|
|
|
29285
29349
|
}
|
|
29286
29350
|
return false;
|
|
29287
29351
|
}
|
|
29352
|
+
function hasSkillSources(node, checker, seen = new Set) {
|
|
29353
|
+
if (seen.has(node))
|
|
29354
|
+
return false;
|
|
29355
|
+
seen.add(node);
|
|
29356
|
+
const member2 = node.members.find((member3) => nameOf(member3.name) === "getSkills" && !(import_typescript16.default.getCombinedModifierFlags(member3) & import_typescript16.default.ModifierFlags.Static));
|
|
29357
|
+
if (member2) {
|
|
29358
|
+
const hook = import_typescript16.default.isMethodDeclaration(member2) ? member2 : import_typescript16.default.isPropertyDeclaration(member2) && member2.initializer && (import_typescript16.default.isArrowFunction(unwrap(member2.initializer)) || import_typescript16.default.isFunctionExpression(unwrap(member2.initializer))) ? unwrap(member2.initializer) : undefined;
|
|
29359
|
+
if (!hook?.body)
|
|
29360
|
+
return false;
|
|
29361
|
+
const enabled = (expression, visited = new Set, depth = 0) => {
|
|
29362
|
+
const value = unwrap(expression);
|
|
29363
|
+
if (visited.has(value) || depth > 8)
|
|
29364
|
+
return false;
|
|
29365
|
+
visited.add(value);
|
|
29366
|
+
if (import_typescript16.default.isConditionalExpression(value))
|
|
29367
|
+
return enabled(value.whenTrue, new Set(visited), depth + 1) || enabled(value.whenFalse, new Set(visited), depth + 1);
|
|
29368
|
+
if (checker && (import_typescript16.default.isIdentifier(value) || import_typescript16.default.isPropertyAccessExpression(value))) {
|
|
29369
|
+
const declaration = valueDeclaration(resolvedSymbol(import_typescript16.default.isPropertyAccessExpression(value) ? value.name : value, checker));
|
|
29370
|
+
if (declaration && import_typescript16.default.isVariableDeclaration(declaration) && declaration.initializer && declaration.parent.flags & import_typescript16.default.NodeFlags.Const) {
|
|
29371
|
+
let populated = false;
|
|
29372
|
+
const symbol = resolvedSymbol(declaration.name, checker);
|
|
29373
|
+
const scan = (node2) => {
|
|
29374
|
+
if (import_typescript16.default.isCallExpression(node2) && import_typescript16.default.isPropertyAccessExpression(node2.expression) && ["push", "unshift", "splice"].includes(node2.expression.name.text) && resolvedSymbol(node2.expression.expression, checker) === symbol && node2.arguments.length > (node2.expression.name.text === "splice" ? 2 : 0))
|
|
29375
|
+
populated = true;
|
|
29376
|
+
if (import_typescript16.default.isBinaryExpression(node2) && node2.operatorToken.kind === import_typescript16.default.SyntaxKind.EqualsToken && import_typescript16.default.isElementAccessExpression(node2.left) && resolvedSymbol(node2.left.expression, checker) === symbol)
|
|
29377
|
+
populated = true;
|
|
29378
|
+
import_typescript16.default.forEachChild(node2, scan);
|
|
29379
|
+
};
|
|
29380
|
+
scan(declaration.getSourceFile());
|
|
29381
|
+
return populated || enabled(declaration.initializer, visited, depth + 1);
|
|
29382
|
+
}
|
|
29383
|
+
}
|
|
29384
|
+
return value.kind !== import_typescript16.default.SyntaxKind.NullKeyword && value.getText() !== "undefined" && (!import_typescript16.default.isArrayLiteralExpression(value) || value.elements.length > 0);
|
|
29385
|
+
};
|
|
29386
|
+
return returnExpressions(hook).some((expression) => enabled(expression));
|
|
29387
|
+
}
|
|
29388
|
+
if (checker)
|
|
29389
|
+
for (const base of node.heritageClauses?.flatMap((h) => h.types) ?? []) {
|
|
29390
|
+
const declaration = valueDeclaration(resolvedSymbol(base.expression, checker));
|
|
29391
|
+
if (declaration && (import_typescript16.default.isClassDeclaration(declaration) || import_typescript16.default.isClassExpression(declaration)) && hasSkillSources(declaration, checker, seen))
|
|
29392
|
+
return true;
|
|
29393
|
+
}
|
|
29394
|
+
return false;
|
|
29395
|
+
}
|
|
29288
29396
|
function enumerateToolCatalog(result, ctx) {
|
|
29289
29397
|
const output = emptyResult(), repo = enumerationRepository(ctx), agents = enumerateAgents(result, ctx);
|
|
29290
29398
|
const agentByName = new Map(agents.runtimeAgents.map((entry) => [entry.name, entry.id]));
|
|
@@ -29348,6 +29456,8 @@ function enumerateToolCatalog(result, ctx) {
|
|
|
29348
29456
|
const names = [...THINK_WORKSPACE_TOOLS];
|
|
29349
29457
|
if (inheritedTrue(node, "workspaceBash", checker))
|
|
29350
29458
|
names.push("bash");
|
|
29459
|
+
if (hasSkillSources(node, checker))
|
|
29460
|
+
names.push("read_skill_resource");
|
|
29351
29461
|
for (const name of names)
|
|
29352
29462
|
add(name, file, node, "think", "Think workspace tool inherited by this concrete agent", owners2);
|
|
29353
29463
|
}
|
|
@@ -5768,7 +5768,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
|
|
|
5768
5768
|
const analyzedDefinitions = new Map;
|
|
5769
5769
|
if (flags["no-analyze"] !== "true") {
|
|
5770
5770
|
options.onProgress?.("Analyzing prompt sources before sync.");
|
|
5771
|
-
const { analyzeHarnessPrompts } = await import("./harness-
|
|
5771
|
+
const { analyzeHarnessPrompts } = await import("./harness-kr9jtz2a.js");
|
|
5772
5772
|
const result = await analyzeHarnessPrompts({
|
|
5773
5773
|
rootDir: process.cwd(),
|
|
5774
5774
|
existing: established.flatMap((prompt) => prompt.sourceDefinition ? [prompt.sourceDefinition.source] : []),
|
|
@@ -5796,7 +5796,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
|
|
|
5796
5796
|
const mergedSources = mergePromptSources(manifest.sources, extraSources);
|
|
5797
5797
|
const manifestUpdate = stableJson(mergedSources) === stableJson(mergePromptSources(manifest.sources, [])) ? undefined : $stringify({ version: 2, prompt_paths: manifest.promptPaths, sources: mergedSources });
|
|
5798
5798
|
const prompts = await discoverPrompts(extraSources);
|
|
5799
|
-
const { checkPromptAttribution } = await import("./prompt-attribution-
|
|
5799
|
+
const { checkPromptAttribution } = await import("./prompt-attribution-v8wjbtab.js");
|
|
5800
5800
|
const attribution = checkPromptAttribution(process.cwd(), prompts.map((prompt) => prompt.key));
|
|
5801
5801
|
const brokenAttribution = attribution.references.filter((reference) => reference.status === "missing");
|
|
5802
5802
|
if (brokenAttribution.length) {
|
|
@@ -6102,7 +6102,7 @@ async function migratePromptManifest(options = {}) {
|
|
|
6102
6102
|
let addedSources = [];
|
|
6103
6103
|
let pendingSources = [];
|
|
6104
6104
|
if (options.discover) {
|
|
6105
|
-
const { analyzeHarnessPrompts } = await import("./harness-
|
|
6105
|
+
const { analyzeHarnessPrompts } = await import("./harness-kr9jtz2a.js");
|
|
6106
6106
|
const result = await analyzeHarnessPrompts({
|
|
6107
6107
|
rootDir: root,
|
|
6108
6108
|
existing: manifest.sources,
|
package/dist/cli.js
CHANGED
|
@@ -2975,25 +2975,25 @@ function leafManifestFields(leaf, commands) {
|
|
|
2975
2975
|
import { fileURLToPath } from "url";
|
|
2976
2976
|
import { realpathSync } from "fs";
|
|
2977
2977
|
async function runPromptsCommand(...args) {
|
|
2978
|
-
return (await import("./prompts-
|
|
2978
|
+
return (await import("./prompts-gr6vakz1.js")).runPromptsCommand(...args);
|
|
2979
2979
|
}
|
|
2980
2980
|
async function runSkillsCommand(...args) {
|
|
2981
2981
|
return (await import("./skills-knpeqryb.js")).runSkillsCommand(...args);
|
|
2982
2982
|
}
|
|
2983
2983
|
async function runHarnessCommand(...args) {
|
|
2984
|
-
return (await import("./harness-
|
|
2984
|
+
return (await import("./harness-kr9jtz2a.js")).runHarnessCommand(...args);
|
|
2985
2985
|
}
|
|
2986
2986
|
async function runSyncCommand(...args) {
|
|
2987
|
-
return (await import("./sync-
|
|
2987
|
+
return (await import("./sync-cjeykd9k.js")).runSyncCommand(...args);
|
|
2988
2988
|
}
|
|
2989
2989
|
async function runRegistryCommand(...args) {
|
|
2990
2990
|
return (await import("./registry-c64qr7ta.js")).runRegistryCommand(...args);
|
|
2991
2991
|
}
|
|
2992
2992
|
async function runDoctorCommand(...args) {
|
|
2993
|
-
return (await import("./doctor-
|
|
2993
|
+
return (await import("./doctor-kcvjttm0.js")).runDoctorCommand(...args);
|
|
2994
2994
|
}
|
|
2995
2995
|
async function runStatusCommand(...args) {
|
|
2996
|
-
return (await import("./doctor-
|
|
2996
|
+
return (await import("./doctor-kcvjttm0.js")).runStatusCommand(...args);
|
|
2997
2997
|
}
|
|
2998
2998
|
async function runAuthCommand(...args) {
|
|
2999
2999
|
return (await import("./profile-commands-1fdvrs5y.js")).runAuthCommand(...args);
|
|
@@ -3005,7 +3005,7 @@ async function runProfilesCommand(...args) {
|
|
|
3005
3005
|
return (await import("./profile-commands-1fdvrs5y.js")).runProfilesCommand(...args);
|
|
3006
3006
|
}
|
|
3007
3007
|
async function runAgentCommand(...args) {
|
|
3008
|
-
return (await import("./agent-
|
|
3008
|
+
return (await import("./agent-krfcc60c.js")).runAgentCommand(...args);
|
|
3009
3009
|
}
|
|
3010
3010
|
async function runProductionCommand(...args) {
|
|
3011
3011
|
return (await import("./production-intelligence-f9sd68te.js")).runProductionCommand(...args);
|
|
@@ -6769,7 +6769,7 @@ var commandRegistry = createCommandRegistry([
|
|
|
6769
6769
|
resetApiRequestCountBeforeRun: true,
|
|
6770
6770
|
telemetry: "result-and-error",
|
|
6771
6771
|
handler: async (context) => {
|
|
6772
|
-
const { runInit } = await import("./index-
|
|
6772
|
+
const { runInit } = await import("./index-knkk2x7v.js");
|
|
6773
6773
|
if (context.outputMode === "agent-stream") {
|
|
6774
6774
|
context.output.writeEvent({
|
|
6775
6775
|
event: "started",
|
|
@@ -3,9 +3,9 @@ import {
|
|
|
3
3
|
promptsDiscoveredCheck,
|
|
4
4
|
runDoctorCommand,
|
|
5
5
|
runStatusCommand
|
|
6
|
-
} from "./cli-
|
|
6
|
+
} from "./cli-73zjnpb6.js";
|
|
7
7
|
import"./cli-rrggdmf8.js";
|
|
8
|
-
import"./cli-
|
|
8
|
+
import"./cli-v5yk8rj2.js";
|
|
9
9
|
import"./cli-mm48br00.js";
|
|
10
10
|
import"./cli-k0vxtzxb.js";
|
|
11
11
|
import"./cli-22yvg5kh.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildDoctorReport
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-73zjnpb6.js";
|
|
4
4
|
import {
|
|
5
5
|
selectTenantAndCreateKey
|
|
6
6
|
} from "./cli-n1406hqg.js";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
import {
|
|
21
21
|
initPrompts,
|
|
22
22
|
runPromptSync
|
|
23
|
-
} from "./cli-
|
|
23
|
+
} from "./cli-v5yk8rj2.js";
|
|
24
24
|
import {
|
|
25
25
|
agentsMdProblem,
|
|
26
26
|
runSkillSync
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
runCodingAgent,
|
|
47
47
|
runHarnessCommand,
|
|
48
48
|
startRemoteAnalyze
|
|
49
|
-
} from "./cli-
|
|
49
|
+
} from "./cli-kq1b4vy0.js";
|
|
50
50
|
import {
|
|
51
51
|
canonicalText,
|
|
52
52
|
renderInitBanner,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runPromptsCommand
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-v5yk8rj2.js";
|
|
4
4
|
import {
|
|
5
5
|
runSkillsCommand
|
|
6
6
|
} from "./cli-1smcq5pf.js";
|
|
@@ -10,7 +10,7 @@ import"./cli-hcwdz9sd.js";
|
|
|
10
10
|
import"./cli-mm48br00.js";
|
|
11
11
|
import {
|
|
12
12
|
runHarnessCommand
|
|
13
|
-
} from "./cli-
|
|
13
|
+
} from "./cli-kq1b4vy0.js";
|
|
14
14
|
import"./cli-k0vxtzxb.js";
|
|
15
15
|
import"./cli-97fnztpy.js";
|
|
16
16
|
import"./cli-y333w08f.js";
|
package/package.json
CHANGED