speckeeper 0.13.0 → 0.14.0
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/cli-contract.yaml +6 -58
- package/dist/cli.js +73 -134
- package/dist/cli.js.map +1 -1
- package/docs/cli-reference.md +6 -2428
- package/package.json +3 -3
package/cli-contract.yaml
CHANGED
|
@@ -691,7 +691,7 @@ command_sets:
|
|
|
691
691
|
|
|
692
692
|
usage:
|
|
693
693
|
- speckeeper audit-requirements
|
|
694
|
-
- speckeeper audit-requirements --adapter gemini --
|
|
694
|
+
- speckeeper audit-requirements --adapter gemini --show-prompt
|
|
695
695
|
- speckeeper audit-requirements --report-format json --output audit.json
|
|
696
696
|
|
|
697
697
|
options:
|
|
@@ -720,19 +720,6 @@ command_sets:
|
|
|
720
720
|
schema:
|
|
721
721
|
type: string
|
|
722
722
|
|
|
723
|
-
- name: dry-run
|
|
724
|
-
aliases: [n]
|
|
725
|
-
description: Output the constructed prompt without calling LLM.
|
|
726
|
-
schema:
|
|
727
|
-
type: boolean
|
|
728
|
-
default: false
|
|
729
|
-
|
|
730
|
-
- name: show-prompt
|
|
731
|
-
description: Display the constructed LLM prompt on stderr.
|
|
732
|
-
schema:
|
|
733
|
-
type: boolean
|
|
734
|
-
default: false
|
|
735
|
-
|
|
736
723
|
- name: fail-on
|
|
737
724
|
description: Minimum severity that causes a non-zero exit.
|
|
738
725
|
value_name: level
|
|
@@ -796,7 +783,7 @@ command_sets:
|
|
|
796
783
|
|
|
797
784
|
x-agent:
|
|
798
785
|
recommended_before_use:
|
|
799
|
-
- "Run with --
|
|
786
|
+
- "Run with --show-prompt first to preview the prompt"
|
|
800
787
|
retryableExitCodes: [12]
|
|
801
788
|
|
|
802
789
|
# ── propose-trace-links ─────────────────────────────
|
|
@@ -841,19 +828,6 @@ command_sets:
|
|
|
841
828
|
schema:
|
|
842
829
|
type: string
|
|
843
830
|
|
|
844
|
-
- name: dry-run
|
|
845
|
-
aliases: [n]
|
|
846
|
-
description: Output the constructed prompt without calling LLM.
|
|
847
|
-
schema:
|
|
848
|
-
type: boolean
|
|
849
|
-
default: false
|
|
850
|
-
|
|
851
|
-
- name: show-prompt
|
|
852
|
-
description: Display the constructed LLM prompt on stderr.
|
|
853
|
-
schema:
|
|
854
|
-
type: boolean
|
|
855
|
-
default: false
|
|
856
|
-
|
|
857
831
|
- name: fail-on
|
|
858
832
|
description: Minimum severity that causes a non-zero exit.
|
|
859
833
|
value_name: level
|
|
@@ -917,7 +891,7 @@ command_sets:
|
|
|
917
891
|
|
|
918
892
|
x-agent:
|
|
919
893
|
recommended_before_use:
|
|
920
|
-
- "Run with --
|
|
894
|
+
- "Run with --show-prompt first to preview the prompt"
|
|
921
895
|
retryableExitCodes: [12]
|
|
922
896
|
|
|
923
897
|
# ── explain-impact ──────────────────────────────────
|
|
@@ -959,19 +933,6 @@ command_sets:
|
|
|
959
933
|
schema:
|
|
960
934
|
type: string
|
|
961
935
|
|
|
962
|
-
- name: dry-run
|
|
963
|
-
aliases: [n]
|
|
964
|
-
description: Output the constructed prompt without calling LLM.
|
|
965
|
-
schema:
|
|
966
|
-
type: boolean
|
|
967
|
-
default: false
|
|
968
|
-
|
|
969
|
-
- name: show-prompt
|
|
970
|
-
description: Display the constructed LLM prompt on stderr.
|
|
971
|
-
schema:
|
|
972
|
-
type: boolean
|
|
973
|
-
default: false
|
|
974
|
-
|
|
975
936
|
- name: fail-on
|
|
976
937
|
description: Minimum severity that causes a non-zero exit.
|
|
977
938
|
value_name: level
|
|
@@ -1035,7 +996,7 @@ command_sets:
|
|
|
1035
996
|
|
|
1036
997
|
x-agent:
|
|
1037
998
|
recommended_before_use:
|
|
1038
|
-
- "Run with --
|
|
999
|
+
- "Run with --show-prompt first to preview the prompt"
|
|
1039
1000
|
retryableExitCodes: [12]
|
|
1040
1001
|
|
|
1041
1002
|
# ── propose-acceptance-criteria ─────────────────────
|
|
@@ -1052,7 +1013,7 @@ command_sets:
|
|
|
1052
1013
|
usage:
|
|
1053
1014
|
- speckeeper propose-acceptance-criteria
|
|
1054
1015
|
- speckeeper propose-acceptance-criteria FR-001 FR-002
|
|
1055
|
-
- speckeeper propose-acceptance-criteria --adapter gemini --
|
|
1016
|
+
- speckeeper propose-acceptance-criteria --adapter gemini --show-prompt
|
|
1056
1017
|
|
|
1057
1018
|
arguments:
|
|
1058
1019
|
- name: specIds
|
|
@@ -1090,19 +1051,6 @@ command_sets:
|
|
|
1090
1051
|
schema:
|
|
1091
1052
|
type: string
|
|
1092
1053
|
|
|
1093
|
-
- name: dry-run
|
|
1094
|
-
aliases: [n]
|
|
1095
|
-
description: Output the constructed prompt without calling LLM.
|
|
1096
|
-
schema:
|
|
1097
|
-
type: boolean
|
|
1098
|
-
default: false
|
|
1099
|
-
|
|
1100
|
-
- name: show-prompt
|
|
1101
|
-
description: Display the constructed LLM prompt on stderr.
|
|
1102
|
-
schema:
|
|
1103
|
-
type: boolean
|
|
1104
|
-
default: false
|
|
1105
|
-
|
|
1106
1054
|
- name: fail-on
|
|
1107
1055
|
description: Minimum severity that causes a non-zero exit.
|
|
1108
1056
|
value_name: level
|
|
@@ -1166,7 +1114,7 @@ command_sets:
|
|
|
1166
1114
|
|
|
1167
1115
|
x-agent:
|
|
1168
1116
|
recommended_before_use:
|
|
1169
|
-
- "Run with --
|
|
1117
|
+
- "Run with --show-prompt first to preview the prompt"
|
|
1170
1118
|
retryableExitCodes: [12]
|
|
1171
1119
|
|
|
1172
1120
|
components:
|
package/dist/cli.js
CHANGED
|
@@ -1340,20 +1340,6 @@ var commandDefinitions = {
|
|
|
1340
1340
|
"type": "string"
|
|
1341
1341
|
}
|
|
1342
1342
|
},
|
|
1343
|
-
{
|
|
1344
|
-
"name": "dry-run",
|
|
1345
|
-
"schema": {
|
|
1346
|
-
"type": "boolean",
|
|
1347
|
-
"default": false
|
|
1348
|
-
}
|
|
1349
|
-
},
|
|
1350
|
-
{
|
|
1351
|
-
"name": "show-prompt",
|
|
1352
|
-
"schema": {
|
|
1353
|
-
"type": "boolean",
|
|
1354
|
-
"default": false
|
|
1355
|
-
}
|
|
1356
|
-
},
|
|
1357
1343
|
{
|
|
1358
1344
|
"name": "fail-on",
|
|
1359
1345
|
"schema": {
|
|
@@ -1442,20 +1428,6 @@ var commandDefinitions = {
|
|
|
1442
1428
|
"type": "string"
|
|
1443
1429
|
}
|
|
1444
1430
|
},
|
|
1445
|
-
{
|
|
1446
|
-
"name": "dry-run",
|
|
1447
|
-
"schema": {
|
|
1448
|
-
"type": "boolean",
|
|
1449
|
-
"default": false
|
|
1450
|
-
}
|
|
1451
|
-
},
|
|
1452
|
-
{
|
|
1453
|
-
"name": "show-prompt",
|
|
1454
|
-
"schema": {
|
|
1455
|
-
"type": "boolean",
|
|
1456
|
-
"default": false
|
|
1457
|
-
}
|
|
1458
|
-
},
|
|
1459
1431
|
{
|
|
1460
1432
|
"name": "fail-on",
|
|
1461
1433
|
"schema": {
|
|
@@ -1533,20 +1505,6 @@ var commandDefinitions = {
|
|
|
1533
1505
|
"type": "string"
|
|
1534
1506
|
}
|
|
1535
1507
|
},
|
|
1536
|
-
{
|
|
1537
|
-
"name": "dry-run",
|
|
1538
|
-
"schema": {
|
|
1539
|
-
"type": "boolean",
|
|
1540
|
-
"default": false
|
|
1541
|
-
}
|
|
1542
|
-
},
|
|
1543
|
-
{
|
|
1544
|
-
"name": "show-prompt",
|
|
1545
|
-
"schema": {
|
|
1546
|
-
"type": "boolean",
|
|
1547
|
-
"default": false
|
|
1548
|
-
}
|
|
1549
|
-
},
|
|
1550
1508
|
{
|
|
1551
1509
|
"name": "fail-on",
|
|
1552
1510
|
"schema": {
|
|
@@ -1635,20 +1593,6 @@ var commandDefinitions = {
|
|
|
1635
1593
|
"type": "string"
|
|
1636
1594
|
}
|
|
1637
1595
|
},
|
|
1638
|
-
{
|
|
1639
|
-
"name": "dry-run",
|
|
1640
|
-
"schema": {
|
|
1641
|
-
"type": "boolean",
|
|
1642
|
-
"default": false
|
|
1643
|
-
}
|
|
1644
|
-
},
|
|
1645
|
-
{
|
|
1646
|
-
"name": "show-prompt",
|
|
1647
|
-
"schema": {
|
|
1648
|
-
"type": "boolean",
|
|
1649
|
-
"default": false
|
|
1650
|
-
}
|
|
1651
|
-
},
|
|
1652
1596
|
{
|
|
1653
1597
|
"name": "fail-on",
|
|
1654
1598
|
"schema": {
|
|
@@ -1809,40 +1753,60 @@ function createProgram(handlers2, version) {
|
|
|
1809
1753
|
}
|
|
1810
1754
|
await handlers2.convert(file, opts, globalOpts);
|
|
1811
1755
|
});
|
|
1812
|
-
program.command("audit-requirements").description("Run LLM-based requirement quality audit.").option("-c, --config <path>", "Path to config file.").option("-a, --adapter <name>", "SDK adapter to use for LLM execution.").option("--model <name>", "LLM model override.").option("
|
|
1756
|
+
program.command("audit-requirements").description("Run LLM-based requirement quality audit.").option("-c, --config <path>", "Path to config file.").option("-a, --adapter <name>", "SDK adapter to use for LLM execution.").option("--model <name>", "LLM model override.").option("--fail-on <level>", "Minimum severity that causes a non-zero exit.", "error").option("-o, --output <file>", "Write result to a file instead of stdout.").option("--report-format <fmt>", "Output format for the audit report.", "json").option("--show-prompt", "Output the constructed prompt without calling the LLM API.", false).action(async (opts, cmd) => {
|
|
1813
1757
|
const globalOpts = cmd.optsWithGlobals();
|
|
1814
1758
|
if (globalOpts.introspect) {
|
|
1815
1759
|
const policy = deriveCommandPolicy("audit-requirements", opts);
|
|
1816
1760
|
console.log(JSON.stringify(policy, null, 2));
|
|
1817
1761
|
return;
|
|
1818
1762
|
}
|
|
1763
|
+
if (opts.showPrompt) {
|
|
1764
|
+
const prompt = await handlers2.auditRequirements(opts, globalOpts);
|
|
1765
|
+
if (typeof prompt === "string") process.stdout.write(prompt + "\n");
|
|
1766
|
+
return;
|
|
1767
|
+
}
|
|
1819
1768
|
await handlers2.auditRequirements(opts, globalOpts);
|
|
1820
1769
|
});
|
|
1821
|
-
program.command("propose-trace-links").description("LLM-based traceability link proposal.").option("-c, --config <path>", "Path to config file.").option("-a, --adapter <name>", "SDK adapter to use for LLM execution.").option("--model <name>", "LLM model override.").option("
|
|
1770
|
+
program.command("propose-trace-links").description("LLM-based traceability link proposal.").option("-c, --config <path>", "Path to config file.").option("-a, --adapter <name>", "SDK adapter to use for LLM execution.").option("--model <name>", "LLM model override.").option("--fail-on <level>", "Minimum severity that causes a non-zero exit.", "error").option("-o, --output <file>", "Write result to a file instead of stdout.").option("--report-format <fmt>", "Output format for the report.", "json").option("--show-prompt", "Output the constructed prompt without calling the LLM API.", false).action(async (opts, cmd) => {
|
|
1822
1771
|
const globalOpts = cmd.optsWithGlobals();
|
|
1823
1772
|
if (globalOpts.introspect) {
|
|
1824
1773
|
const policy = deriveCommandPolicy("propose-trace-links", opts);
|
|
1825
1774
|
console.log(JSON.stringify(policy, null, 2));
|
|
1826
1775
|
return;
|
|
1827
1776
|
}
|
|
1777
|
+
if (opts.showPrompt) {
|
|
1778
|
+
const prompt = await handlers2.proposeTraceLinks(opts, globalOpts);
|
|
1779
|
+
if (typeof prompt === "string") process.stdout.write(prompt + "\n");
|
|
1780
|
+
return;
|
|
1781
|
+
}
|
|
1828
1782
|
await handlers2.proposeTraceLinks(opts, globalOpts);
|
|
1829
1783
|
});
|
|
1830
|
-
program.command("explain-impact").description("LLM-based explanation of impact analysis output.").option("-a, --adapter <name>", "SDK adapter to use for LLM execution.").option("--model <name>", "LLM model override.").option("
|
|
1784
|
+
program.command("explain-impact").description("LLM-based explanation of impact analysis output.").option("-a, --adapter <name>", "SDK adapter to use for LLM execution.").option("--model <name>", "LLM model override.").option("--fail-on <level>", "Minimum severity that causes a non-zero exit.", "error").option("-o, --output <file>", "Write result to a file instead of stdout.").option("--report-format <fmt>", "Output format for the report.", "json").option("--show-prompt", "Output the constructed prompt without calling the LLM API.", false).action(async (opts, cmd) => {
|
|
1831
1785
|
const globalOpts = cmd.optsWithGlobals();
|
|
1832
1786
|
if (globalOpts.introspect) {
|
|
1833
1787
|
const policy = deriveCommandPolicy("explain-impact", opts);
|
|
1834
1788
|
console.log(JSON.stringify(policy, null, 2));
|
|
1835
1789
|
return;
|
|
1836
1790
|
}
|
|
1791
|
+
if (opts.showPrompt) {
|
|
1792
|
+
const prompt = await handlers2.explainImpact(opts, globalOpts);
|
|
1793
|
+
if (typeof prompt === "string") process.stdout.write(prompt + "\n");
|
|
1794
|
+
return;
|
|
1795
|
+
}
|
|
1837
1796
|
await handlers2.explainImpact(opts, globalOpts);
|
|
1838
1797
|
});
|
|
1839
|
-
program.command("propose-acceptance-criteria").description("LLM-based acceptance criteria proposal.").argument("[specIds...]", "Spec IDs to propose criteria for. Defaults to all specs if omitted.").option("-c, --config <path>", "Path to config file.").option("-a, --adapter <name>", "SDK adapter to use for LLM execution.").option("--model <name>", "LLM model override.").option("
|
|
1798
|
+
program.command("propose-acceptance-criteria").description("LLM-based acceptance criteria proposal.").argument("[specIds...]", "Spec IDs to propose criteria for. Defaults to all specs if omitted.").option("-c, --config <path>", "Path to config file.").option("-a, --adapter <name>", "SDK adapter to use for LLM execution.").option("--model <name>", "LLM model override.").option("--fail-on <level>", "Minimum severity that causes a non-zero exit.", "error").option("-o, --output <file>", "Write result to a file instead of stdout.").option("--report-format <fmt>", "Output format for the report.", "json").option("--show-prompt", "Output the constructed prompt without calling the LLM API.", false).action(async (specIds, opts, cmd) => {
|
|
1840
1799
|
const globalOpts = cmd.optsWithGlobals();
|
|
1841
1800
|
if (globalOpts.introspect) {
|
|
1842
1801
|
const policy = deriveCommandPolicy("propose-acceptance-criteria", opts);
|
|
1843
1802
|
console.log(JSON.stringify(policy, null, 2));
|
|
1844
1803
|
return;
|
|
1845
1804
|
}
|
|
1805
|
+
if (opts.showPrompt) {
|
|
1806
|
+
const prompt = await handlers2.proposeAcceptanceCriteria(specIds, opts, globalOpts);
|
|
1807
|
+
if (typeof prompt === "string") process.stdout.write(prompt + "\n");
|
|
1808
|
+
return;
|
|
1809
|
+
}
|
|
1846
1810
|
await handlers2.proposeAcceptanceCriteria(specIds, opts, globalOpts);
|
|
1847
1811
|
});
|
|
1848
1812
|
return program;
|
|
@@ -4448,19 +4412,7 @@ async function createAdapter(runtimePkg, name, config) {
|
|
|
4448
4412
|
);
|
|
4449
4413
|
}
|
|
4450
4414
|
}
|
|
4451
|
-
async function runAgentTask(userRequest, taskId, auditConfig,
|
|
4452
|
-
if (options.dryRun) {
|
|
4453
|
-
return {
|
|
4454
|
-
taskId,
|
|
4455
|
-
data: null,
|
|
4456
|
-
raw: "",
|
|
4457
|
-
prompt: userRequest,
|
|
4458
|
-
dryRun: true,
|
|
4459
|
-
status: "success",
|
|
4460
|
-
followUpsUsed: 0,
|
|
4461
|
-
retriesUsed: 0
|
|
4462
|
-
};
|
|
4463
|
-
}
|
|
4415
|
+
async function runAgentTask(userRequest, taskId, auditConfig, _options) {
|
|
4464
4416
|
const RUNTIME_PKG = ["agent-contracts", "runtime"].join("-");
|
|
4465
4417
|
let runTask;
|
|
4466
4418
|
let agentRegistry2, taskRegistry2, handoffSchemas2;
|
|
@@ -4470,7 +4422,7 @@ async function runAgentTask(userRequest, taskId, auditConfig, options) {
|
|
|
4470
4422
|
} catch {
|
|
4471
4423
|
throw Object.assign(
|
|
4472
4424
|
new Error(
|
|
4473
|
-
"agent-contracts-runtime is not installed. Install it to use this command, or use --
|
|
4425
|
+
"agent-contracts-runtime is not installed. Install it to use this command, or use --show-prompt to inspect the prompt.\n npm install agent-contracts-runtime"
|
|
4474
4426
|
),
|
|
4475
4427
|
{ exitCode: EXIT_RUNTIME_MISSING }
|
|
4476
4428
|
);
|
|
@@ -4507,7 +4459,6 @@ async function runAgentTask(userRequest, taskId, auditConfig, options) {
|
|
|
4507
4459
|
data: outcome.status === "success" ? outcome.data : null,
|
|
4508
4460
|
raw: outcome.raw ?? "",
|
|
4509
4461
|
prompt: userRequest,
|
|
4510
|
-
dryRun: false,
|
|
4511
4462
|
status: outcome.status,
|
|
4512
4463
|
errorMessage: outcome.status === "error" ? outcome.message : outcome.status === "escalation" ? outcome.reason : outcome.status === "validation_error" ? outcome.errors?.message : void 0,
|
|
4513
4464
|
followUpsUsed: result.follow_ups_used,
|
|
@@ -4515,7 +4466,6 @@ async function runAgentTask(userRequest, taskId, auditConfig, options) {
|
|
|
4515
4466
|
};
|
|
4516
4467
|
}
|
|
4517
4468
|
function computeExitCode(result, options) {
|
|
4518
|
-
if (result.dryRun) return 0;
|
|
4519
4469
|
if (result.status !== "success" || !result.data) return 1;
|
|
4520
4470
|
const failOn = options.failOn ?? "error";
|
|
4521
4471
|
const severityOrder = ["info", "warning", "error", "critical"];
|
|
@@ -4526,9 +4476,6 @@ function computeExitCode(result, options) {
|
|
|
4526
4476
|
return hasBlocking ? 10 : 0;
|
|
4527
4477
|
}
|
|
4528
4478
|
function formatResultText(result) {
|
|
4529
|
-
if (result.dryRun) {
|
|
4530
|
-
return result.prompt;
|
|
4531
|
-
}
|
|
4532
4479
|
if (result.status !== "success" || !result.data) {
|
|
4533
4480
|
return result.errorMessage ?? `Task failed with status: ${result.status}`;
|
|
4534
4481
|
}
|
|
@@ -4564,20 +4511,12 @@ function formatResultText(result) {
|
|
|
4564
4511
|
return lines.join("\n");
|
|
4565
4512
|
}
|
|
4566
4513
|
function formatResultJson(result) {
|
|
4567
|
-
if (result.dryRun) {
|
|
4568
|
-
return JSON.stringify({ dryRun: true, prompt: result.prompt }, null, 2);
|
|
4569
|
-
}
|
|
4570
4514
|
if (!result.data) {
|
|
4571
4515
|
return JSON.stringify({ error: result.errorMessage, status: result.status }, null, 2);
|
|
4572
4516
|
}
|
|
4573
4517
|
return JSON.stringify(result.data, null, 2);
|
|
4574
4518
|
}
|
|
4575
4519
|
function formatResultYaml(result) {
|
|
4576
|
-
if (result.dryRun) {
|
|
4577
|
-
return `dryRun: true
|
|
4578
|
-
prompt: |
|
|
4579
|
-
${indent(result.prompt)}`;
|
|
4580
|
-
}
|
|
4581
4520
|
if (!result.data) {
|
|
4582
4521
|
return `error: ${JSON.stringify(result.errorMessage)}
|
|
4583
4522
|
status: ${result.status}`;
|
|
@@ -4658,12 +4597,14 @@ ${val}`;
|
|
|
4658
4597
|
// src/cli/audit-requirements.ts
|
|
4659
4598
|
async function commandAuditRequirements(opts) {
|
|
4660
4599
|
const context = await buildAuditRequirementsContext(opts.config);
|
|
4600
|
+
if (opts.showPrompt) {
|
|
4601
|
+
return context;
|
|
4602
|
+
}
|
|
4661
4603
|
const auditConfig = {
|
|
4662
4604
|
adapter: opts.adapter,
|
|
4663
4605
|
model: opts.model
|
|
4664
4606
|
};
|
|
4665
4607
|
const auditOpts = {
|
|
4666
|
-
dryRun: opts.dryRun,
|
|
4667
4608
|
failOn: opts.failOn
|
|
4668
4609
|
};
|
|
4669
4610
|
try {
|
|
@@ -4692,12 +4633,14 @@ async function commandAuditRequirements(opts) {
|
|
|
4692
4633
|
}
|
|
4693
4634
|
async function commandProposeTraceLinks(opts) {
|
|
4694
4635
|
const context = await buildProposeTraceLinksContext(opts.config);
|
|
4636
|
+
if (opts.showPrompt) {
|
|
4637
|
+
return context;
|
|
4638
|
+
}
|
|
4695
4639
|
const auditConfig = {
|
|
4696
4640
|
adapter: opts.adapter,
|
|
4697
4641
|
model: opts.model
|
|
4698
4642
|
};
|
|
4699
4643
|
const auditOpts = {
|
|
4700
|
-
dryRun: opts.dryRun,
|
|
4701
4644
|
failOn: opts.failOn
|
|
4702
4645
|
};
|
|
4703
4646
|
try {
|
|
@@ -4732,12 +4675,14 @@ async function commandExplainImpact(opts) {
|
|
|
4732
4675
|
process.exit(2);
|
|
4733
4676
|
}
|
|
4734
4677
|
const context = buildExplainImpactContext(stdin);
|
|
4678
|
+
if (opts.showPrompt) {
|
|
4679
|
+
return context;
|
|
4680
|
+
}
|
|
4735
4681
|
const auditConfig = {
|
|
4736
4682
|
adapter: opts.adapter,
|
|
4737
4683
|
model: opts.model
|
|
4738
4684
|
};
|
|
4739
4685
|
const auditOpts = {
|
|
4740
|
-
dryRun: opts.dryRun,
|
|
4741
4686
|
failOn: opts.failOn
|
|
4742
4687
|
};
|
|
4743
4688
|
try {
|
|
@@ -4778,12 +4723,14 @@ function readStdin() {
|
|
|
4778
4723
|
async function commandProposeAcceptanceCriteria(specIds, opts) {
|
|
4779
4724
|
const targetSpecIds = specIds.length > 0 ? specIds : void 0;
|
|
4780
4725
|
const context = await buildProposeAcceptanceCriteriaContext(opts.config, targetSpecIds);
|
|
4726
|
+
if (opts.showPrompt) {
|
|
4727
|
+
return context;
|
|
4728
|
+
}
|
|
4781
4729
|
const auditConfig = {
|
|
4782
4730
|
adapter: opts.adapter,
|
|
4783
4731
|
model: opts.model
|
|
4784
4732
|
};
|
|
4785
4733
|
const auditOpts = {
|
|
4786
|
-
dryRun: opts.dryRun,
|
|
4787
4734
|
failOn: opts.failOn
|
|
4788
4735
|
};
|
|
4789
4736
|
try {
|
|
@@ -4849,49 +4796,41 @@ var handlers = {
|
|
|
4849
4796
|
convert: async (file, opts) => {
|
|
4850
4797
|
await runConvert(file, opts);
|
|
4851
4798
|
},
|
|
4852
|
-
auditRequirements:
|
|
4853
|
-
|
|
4854
|
-
|
|
4855
|
-
|
|
4856
|
-
|
|
4857
|
-
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
|
|
4861
|
-
|
|
4862
|
-
|
|
4863
|
-
|
|
4864
|
-
|
|
4865
|
-
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
|
|
4869
|
-
|
|
4870
|
-
|
|
4871
|
-
|
|
4872
|
-
|
|
4873
|
-
|
|
4874
|
-
|
|
4875
|
-
|
|
4876
|
-
|
|
4877
|
-
|
|
4878
|
-
|
|
4879
|
-
|
|
4880
|
-
|
|
4881
|
-
|
|
4882
|
-
|
|
4883
|
-
|
|
4884
|
-
|
|
4885
|
-
|
|
4886
|
-
|
|
4887
|
-
adapter: opts.adapter,
|
|
4888
|
-
model: opts.model,
|
|
4889
|
-
dryRun: opts.dryRun,
|
|
4890
|
-
failOn: opts.failOn,
|
|
4891
|
-
output: opts.output,
|
|
4892
|
-
reportFormat: opts.reportFormat
|
|
4893
|
-
});
|
|
4894
|
-
}
|
|
4799
|
+
auditRequirements: (opts) => commandAuditRequirements({
|
|
4800
|
+
config: opts.config,
|
|
4801
|
+
adapter: opts.adapter,
|
|
4802
|
+
model: opts.model,
|
|
4803
|
+
showPrompt: opts.showPrompt,
|
|
4804
|
+
failOn: opts.failOn,
|
|
4805
|
+
output: opts.output,
|
|
4806
|
+
reportFormat: opts.reportFormat
|
|
4807
|
+
}),
|
|
4808
|
+
proposeTraceLinks: (opts) => commandProposeTraceLinks({
|
|
4809
|
+
config: opts.config,
|
|
4810
|
+
adapter: opts.adapter,
|
|
4811
|
+
model: opts.model,
|
|
4812
|
+
showPrompt: opts.showPrompt,
|
|
4813
|
+
failOn: opts.failOn,
|
|
4814
|
+
output: opts.output,
|
|
4815
|
+
reportFormat: opts.reportFormat
|
|
4816
|
+
}),
|
|
4817
|
+
explainImpact: (opts) => commandExplainImpact({
|
|
4818
|
+
adapter: opts.adapter,
|
|
4819
|
+
model: opts.model,
|
|
4820
|
+
showPrompt: opts.showPrompt,
|
|
4821
|
+
failOn: opts.failOn,
|
|
4822
|
+
output: opts.output,
|
|
4823
|
+
reportFormat: opts.reportFormat
|
|
4824
|
+
}),
|
|
4825
|
+
proposeAcceptanceCriteria: (specIds, opts) => commandProposeAcceptanceCriteria(specIds, {
|
|
4826
|
+
config: opts.config,
|
|
4827
|
+
adapter: opts.adapter,
|
|
4828
|
+
model: opts.model,
|
|
4829
|
+
showPrompt: opts.showPrompt,
|
|
4830
|
+
failOn: opts.failOn,
|
|
4831
|
+
output: opts.output,
|
|
4832
|
+
reportFormat: opts.reportFormat
|
|
4833
|
+
})
|
|
4895
4834
|
};
|
|
4896
4835
|
createProgram(handlers, getVersion()).parse();
|
|
4897
4836
|
//# sourceMappingURL=cli.js.map
|