@haystackeditor/cli 0.28.0 → 0.28.1
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.
|
@@ -859,7 +859,7 @@ function planSettings(gitRoot, notices) {
|
|
|
859
859
|
+ `everything else is recorded only as its shape and size. A proposal records nothing: your user approves it with \`haystack telemetry `
|
|
860
860
|
+ `settings --approve\`, which writes ${SETTINGS_FILE}.`,
|
|
861
861
|
diff: ['+ (the proposal `haystack telemetry settings --propose` writes; shown after it runs)'],
|
|
862
|
-
run: { argv: [node, cli, 'telemetry', 'settings', '--propose'], cwd: gitRoot, touches: [] },
|
|
862
|
+
run: { argv: [node, cli, 'telemetry', 'settings', '--propose', '--summary'], cwd: gitRoot, touches: [] },
|
|
863
863
|
}] };
|
|
864
864
|
}
|
|
865
865
|
/* --------------------------------------------------------------- capture */
|
|
@@ -1789,6 +1789,16 @@ export async function telemetrySettingsCommand(options) {
|
|
|
1789
1789
|
if (!proposal.typedSource) {
|
|
1790
1790
|
console.log(chalk.yellow('No typed source (TypeScript) was found: server telemetry records shapes and sizes only, no setting literals.'));
|
|
1791
1791
|
}
|
|
1792
|
+
// --summary (what init runs): one line, not one per candidate. Dify's 648 candidates printed 648 lines into a coding agent's
|
|
1793
|
+
// context, which no person or agent reviews line by line; the proposal file holds them all (2026-10-07).
|
|
1794
|
+
if (options.summary) {
|
|
1795
|
+
if (proposal.typedSource) {
|
|
1796
|
+
console.log(`Telemetry: found ${proposal.added.length} app setting(s) it could record by value`
|
|
1797
|
+
+ `${proposal.refused.length ? ` (${proposal.refused.length} held back as personal or secret)` : ''}. Nothing is recorded until they are approved: `
|
|
1798
|
+
+ `review ${SETTINGS_PROPOSAL_PATH}, then run \`haystack telemetry settings --approve\`.`);
|
|
1799
|
+
}
|
|
1800
|
+
return;
|
|
1801
|
+
}
|
|
1792
1802
|
console.log(`${options.dryRun ? 'Would propose' : 'Proposed'} ${proposal.added.length} new setting candidate(s) in ${SETTINGS_PROPOSAL_PATH}; ` +
|
|
1793
1803
|
`${proposal.refused.length} refused. Nothing is approved yet.`);
|
|
1794
1804
|
for (const entry of proposal.added)
|
package/dist/index.js
CHANGED
|
@@ -735,6 +735,7 @@ telemetry
|
|
|
735
735
|
.option('--approve', 'Show the reviewed proposal\'s change to .haystack/telemetry-settings.json and make it the allowlist')
|
|
736
736
|
.option('--dry-run', 'Print what would be written without writing')
|
|
737
737
|
.option('--json', 'Machine-readable proposal')
|
|
738
|
+
.option('--summary', 'With --propose: one line (how many candidates, where they are, how to approve them) instead of one per candidate')
|
|
738
739
|
.addHelpText('after', `
|
|
739
740
|
Server telemetry records every value as its shape and size only. A setting
|
|
740
741
|
(a parameter or binding whose TypeScript type is a closed set of literals:
|